Rage Trade is a new perpetual swap protocol built using Uniswap v3. Many on-chain perpetuals currently use Uniswap v2 style vAMMs. However, traders and LPs benefit from v3’s concentrated liquidity so we opted to build on v3 to design the most capital efficient perp.
Why do we need an additional use grant?
Our proposal is most similar to the proposal by Voltz Protocol. Unlike Voltz we have not forked UNI v3’s code but instead we have built on top of it. Think of Uniswap as our matching engine, and on top we have built a risk engine to enable leverage trading. We have wrapped the following on top of Uniswap’s core: leverage trading, leverage LPing, cross-margin, liquidations, and real time funding rates.
What changes have we made that require additional use?
We have built libraries to enable leverage trading, leverage LPing, and real-time funding rates. Each of the libraries below makes use of Uniswap’s BUSL protect code (that we require an additional grants use for):
SimulateSwap: This library is used to simulate a swap on Rage. It makes use of Uniswap’s TickBitMap and SwapMath libraries.
TickBitmapExtended: This library is a slightly modified version of Uniswap’s TickBitmap, required in SimulateSwap for using tick data from UniswapV3Pool contract.
TickExtended: This library is used to enable realtime funding payments on Rage Trade. They borrow from Tick libraries of Uniswap v3.
LiquidityPosition: This library enables leverage liquidity providing (and the accompanying margin logic). It utilises the Uniswap SqrtPriceMath library to do so.
How will approving this proposal benefit Uniswap?
Onchain Perps bring new liquidity to UNI v3: Since we are strictly built on top of UNI v3 (not a fork) all additional TVL + trading volume is strictly additive to UNI v3.
Rage Trade will spend significant R&D resources on designing efficient v3 LP strategie: Rage has already designed a new LP strategy known as the 80-20 strategy that composes with Curve’s tricrypto.
Liquid & composable on-chain perpetuals enable a whole new world of Uniswap spot strategies: Using perps, Uniswap v3 users can mitigate impermanent loss on Uni v3 via delta hedging. Additionally multi-collateral perps open new avenues and payoffs that are currently not possible on the spot market.
Conclusion
Rage Trade stands to benefit Uniswap in many ways and strictly adds to Uniswap’s value as a protocol. We look forward to discussing our proposal with the Uniswap community and answering questions in the comments below.
If you guys are building on top of actually-existing Uniswap v3, you do not need a license. Licenses are for teams like Voltz who are repurposing v3 code and launching their own service.
We are building on UNI v3, but we make use of some Uniswap libraries that are protected by the BUSL license. You can see the list of libraries I am referring to in the " What changes have we made that require additional use?" section.
For this specific case, we are requesting an additional use grant
Thanks for this post and proposal! I have a few follow-up questions:
Could you share any audits which have been done on Rage Trade? If the audit included any high risk issues, could you address what those were and how they’ve been resolved?
Could you provide more background on the Rage Trade team? I respect you all may want to remain anon - however any additional information on your team’s background and experience would be helpful.
Re: “omnichain liquidity”, how do the Rage Trade contracts interact across multiple chains? Must Uniswap v3 be live on another chain for Rage Trade to go live on that chain - or is that not a blocker?
Thanks for the great questions Devin, let me answer in order:
We have been fully audited by Quantstamp. In the audit report, you can see that both high severity bugs they pointed out, have now been fixed. We take security very seriously and that is why we only published this proposal once our code had been opensourced + audited!
I’d love to share some our accomplishments in tweet form. We are a deeply research oriented team with a background in mech design and open source contributions. Let me share some of the research pieces we drafted up on perpetual swaps + UNI v3:
We also built a backtesting framework for our UNI v3 LP vault strategies, which we also opensourced
We have also written research threads on other perp protocols such as Perp + Drift. All the accompanying data queries are opensourced and shared in the respective threads.
This is a really great question - omnichain liquidity does not in fact rely on UNI v3 to be deployed on each chain. The way it is designed the protocol can source liquidity from any chain while all the UNI v3 operations execute on Arbitrum. We plan to use Layer Zero (another Uniswap Labs investment) in order to build out our omnichain liquidity system.
Hey Bryan, this is a great point - we don’t have any immediate plans to release a token. Additionally we are building ontop of Uniswap (unlike Voltz - which forked Uniswap), so all of our TVL/usage is strictly additive to Uniswap (we are in no way taking away from Uniswap).
Thanks for the proposal. In general I’m hugely supportive of v3 being used as a building block for more abstract products and really appreciate how you’ve embraced defi’s composable nature in building Rage Trade.
I wanted to add some of my own color to @bryanlehrer’s question about a token grant. While I agree that the case here is less distinct than Voltz forking the protocol and deploying new contracts, and I agree that building a large perps market atop Uniswap is additive from a volume and usage perspective, I still think a grant would be appropriate. It doesn’t have to be huge, and doesn’t have to be now (Voltz doesn’t yet have a token and likely won’t for some time). The monetary value of any particular grant is immaterial to the protocol’s treasury. Instead I think that it’s important that the Uniswap has the option to be a non-negligible voice in the governance of those protocols that are building on top of it.
What that participation looks like hasn’t been fully thought out, though I spent some time with the team from Other Internet brainstorming earlier in the year and I think we’ll be able to put together a comprehensive proposal when there are actually tokens with which the protocol (or an elected steward acting on its behalf) could vote.
Voltz committed 1% of their token supply. How does 50 bps sound?
If we made a proposal requesting a financial grant
If we forked the code and redployed UNI v3
Then it would make total sense for us to set aside some equity/tokens to the Uniswap foundation. And in the future we may in fact do so! But for right now, we are simply building ontop of UNI v3 and are only a net positive to Uniswap (in terms of TVL+usage+volume).
That being said, I’m open to reconsider if there is overwhelming demand for a token allocation.
Yes we use Uniswap’s existing pools - we deploy virtual tokens into those pools to create a virtual pool. This virtual pool is managed by our smart contracts to function like a perpetual swap!
This means all TVL/volume we bring into Rage, will strictly add to Uniswap TVL/volume.