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: https://github.com/hegic/contracts-v1/tree/master/contracts
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.
Log in or sign up for Devpost to join the conversation.