Inspiration:

For the foreseeable time, it seems that we will continue to use fiat pegged stablecoins. However, the current generation of highly liquid stablecoins suffer from dangerous centralization issues. We started as a direct stablecoin project that would issue a stablecoin against a basket of real world assets (RWA). However, we identified that commodity tokens, which would be an important building block for a purchasing power preserving asset basket, are simply not available or only available for an extremely limited set of commodities - and even then in low liquidity. Therefore, our focus became the issuance of commodity tokens.

What it does :

The project deployed commodity Vault contracts where users can deposit WBTC, WETH, LINK as collateral and mint commodity tokens which takes the form of borrowing the tokens against this collateral. This directly inspired by DAI and SNX. It allows for multiple collateral types which we consciously chose to be exogenous so as to improve stability of the protocol.

How we built it :

We went from Discord, Miro, and Zoom chats in week 1 and 2 to Github commits and unit tests in weeks 3 & 4. This project takes Chainlink price feeds and custom price feeds using Chainlink's Any-API to connect to a commodity price api. For each commodity, a Vault contract is deployed that retrieves prices from the relevant commodity pricefeed contract and the collateral price feed contracts. These contracts all use the Chainlink price feed interface (AggregatorV3Interface) allowing for easily swapping custom feeds to regular data feeds as more data feeds become available. In order to always have accurate prices the Any-API priceFeed, Chainlink Automation calls the fetchNewPrices function every x time.

Challenges we ran into :

Father Time - we had a lot of ideas and not enough time to execute on them - esp. a DEX. This project opened a lot of doors and is way too big for a one month hackathon, but we felt getting a functional demo out the door in week 4 was a cool reference point. It's an ambitious idea that we have already decided to continue to build together. The example any-api jobs on the chainlink docs either do a multi-variable retrieval or multiple the retrieved value by some value. To be efficient in gas usage and number of api calls, we would need a custom job that does the two in one job and preferably run this on our own node. We did not deploy our own node (time constraints) and had to do a workaround deploying separate pricefeed contracts for each commodity.

Accomplishments that we're proud of :

That we worked fast and worked together easily. Our team is on 3 continents in 4 time zones. Three of us are dev entrepreneurs and our two Jr devs were often on point.

What we learned :

1) Communicate: then over communicate 2) Focus: means making things visual and as simple as possible 3) Problems: It's OK to ask for help. We have smart guys that are used to working on islands. 4) Assumptions: we used Linkedin to ask crypto traders questions about this idea... nearly 70% liked it and >10% would entertain it. You can find the surveys on the LinkedIn Cryptocurrency Trader Network: https://www.linkedin.com/feed/update/urn:li:activity:6996917300066967553/ https://www.linkedin.com/feed/update/urn:li:activity:6996490280795312128/ 5) Writing unit tests requires more time than coding the contracts and fixing the bugs combined. However it is necessary to uncover the bugs in the first place.

What's next for Commodity Asset Token :

Having built a very basic prototype, we now have a better understanding of additional technical requirements, e.g. custom tooling for a multi-variable response with multiplication, additional contracts to spot irregularities and halt transactions, governance layer to modify api-urls since data providers might change, and so on. On the functional side: we need to add interest rates to incentivize payback and generate an income stream for the protocol to fund development and execute open market operations. We should pool collateral across borrowing positions which given (inverse) correlation between commodities will result in a more efficient capital deployment for token minters. Having a large offering of commodity tokens opens the possibility to pool commodity tokens into baskets creating funds and opening the possibility of using such fund tokens as a more stable collateral for stablecoins. The concrete next step would be a white paper that outlines the proposed architecture, its governance layer and incentive structures.

Built With

Share this project:

Updates

posted an update

CAT Team : Our team leader Anthony De Monroy took us from idea to reality . we worked fast and worked together easily because of more & more 1:1 interaction and better guidance from our senior developers.

Log in or sign up for Devpost to join the conversation.