Please describe your proposed solution.
Our goal is to provide a platform that allows for opening long/short positions with leverage in a decentralized way. Implementations of these features exist on other chains. One of these solutions is known as a perpetual DEX. We think that the most cost and time-efficient approach would be to modify Solidity contracts of an existing, well-tested, and audited EVM-based solution, deploy them on Milkomeda, and build a platform for interacting with these contracts directly from Cardano.
The idea of this platform is to have a single pool of assets (wrapped Cardano-native assets in this case). Anyone can provide liquidity to this pool. Funds from this pool could be borrowed (using collateral) which enables users to use leverage. A user with an open long/short position has to pay a funding fee, which is an hourly fee based on the size of the position. Once the price of the asset crosses a liquidation price (based on the amount of collateral provided), anyone could liquidate this position. Liquidity providers directly profit from platform fees and liquidation events.
This is not an order-book-based platform. All asset prices are determined by oracles. Deploying oracles on Milkomeda is one of the innovative steps that are a part of this proposal.
Let's summarize all the steps that would be needed:
- Forking GMX contracts, modifying them for our needs and deploying them on Milkomeda. As GMX is quite advanced, we will need to perform some non-negligible changes to these contracts for an MVP.
- Designing and implementing our own frontend for interactions with Solidity contracts. The offered features will be the following:
- Wrap ADA on Milkomeda, so that the user will be able to use the app.
- Swap between two assets. GMX uses a pool of assets for its functionality. Only swaps between assets in the pool will be allowed.
- Providing liquidity to the pool of assets. Rewards for providing liquidity will be paid from the platform fees.
- Opening a long position with possible leverage.
- Opening a short position with possible leverage.
- Implementing a simple backend so that we will be able to easily display statistics such as profit and loss.
- Researching options for oracles on Milkomeda. Vacuumlabs (the proposer) has close relations with API3. Therefore, we would like to explore an option of deploying API3 oracles on Milkomeda. There is a new feature provided by API3 called OEV (oracle extractable value), which we want to support. This feature allows anyone to bid for an Oracle update if they see a position that they would like to liquidate. In case of such liquidation, the dApp shares part of the liquidation profit. This means even better rewards for the liquidity providers.
Modifying and porting existing Solidity contracts to Milkomeda entails multiple steps, there are many non-trivial challenges to solve. One of them is the need for oracles. Another major part of the project that we need the funding for is the frontend implementation and its design.
How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
We would like to enrich Cardano with a novel DeFi protocol that is well-established on other chains, such as Arbitrum. This will give Cardano users access to options that were not available before, such as opening short/long positions and using leverage in a decentralized manner. This could also attract people from ecosystems of other blockchains, extending the Cardano user base.
Modifying smart contracts of an already existing perpetual DEX (GMX) to build an MVP for Cardano has multiple advantages. The most obvious one is the trustworthiness of the protocol. Another one would be the cost and time efficiency of development.
How do you intend to measure the success of your project?
The simplest measures of success for us are a traded volume and a TVL alongside the total number of active users.
We will integrate with DefiLlama so these statistics can be easily accessible to public.
Please describe your plans to share the outputs and results of your project?
The oracle deployment design document as well as Solidity smart contracts will be published in the Github repository of the project. At the launch, we will also publish Frontend and Backend source code.
Besides these, we plan to release a development progress article monthly.
We are planning to launch this protocol in a fully decentralized manner:
- The contracts will be immutable and if fixes are needed, we will implement a newer version and migrate
- We will omit the native governance token so that no legal entity needs to be created. All of the fees will be instead directed to liquidity providers (to be confirmed by community feedback, we might keep the token, or introduce it later, if there is interest in the formation of a DAO around the project)
- The Frontend will be deployed on both a cloud solution and IPFS to stay available