Originally, I was thinking of building a derivatives market on Celo. Realizing that Kresko might have already done this, I thought of maybe doing a specific derivative rather than options as intended. I saw the slides of a Celo Innovation partner who proposed doing currency forwarding in order to allow loans from cUSD to cREAL without exposing the lender to unnecessary risk. I decided to work on Forward at that point.

What it does

In its current state, this project allows users to write and purchase over-collateralized currency forwarding contracts on the cUSD / cREAL pair.

The front-end is currently just a form + a list of options, and the back-end is just a smart contract deployed on Alfajores which manages the currency forward and state of all currency forwards.

How we built it

I used celo-dapp-starter (React, JS) for the front-end and Solidity for the back-end. I mostly referred to the Hegic contracts (decentralized options on ethereum using american execution [you can execute contract at any time before expiration]) when building mine:

Challenges we ran into

Accomplishments that we're proud of

I've never deployed a smart contract to any testnet before. I'm glad I got to get a bit more hands-on experience with smart contracts, since that was my primary goal for this hackathon.

What we learned

I learned about how derivatives actually work in both tradFi and DeFi, since I based my contracts off of smart contracts for options platforms. Lots of terminology (the underlying, non-deliverable forward, etc.) as well.

What's next for Forward

In the future, Forward would need to have a) more pairs of currencies, b) a friendlier UI, c) more secure/accurate ways of getting data (through real-time oracles) d) audited smart contracts and e) a secondary marketplace for the forwards. (b) - (e) are necessary before eventually deploying to mainnet.

Share this project: