$CHOKE: Driving Liquidity Innovation in the Arbitrum Ecosystem
People in Rome have a special way to cook Artichokes, according to the Roman-Jewish tradition. They deep fry them and make them super crunchy!
I recommend trying them if you haven’t.
Do you know what else you can do with Artichokes?
You can leverage them to provide Single sided liquidity on Arbitrum.
Eat your veggies uh?
Unfortunately, this blog is not about veggies or cooking, but a new protocol that has recently captured the attention of DeFi natives on Arbitrum: $CHOKE.
Nothing Kinky about it: Artichoke is a protocol for liquidity provision built on Arbitrum.
What’s special about it is that it provides a one-sided liquidity layer on top of any DEX, to solve current efficiency problems of AMMs and LPs, including Impermanent Loss.
Providing liquidity on a DEX often means:
Traders
Far from an easy experience for traders
Capital Inefficient
Complex, requires Active Management
Need Stablecoins to pair liquidity
Impermanent Losses
Protocols
Capital Inefficient
Requires Incentives to Attract LPs
Dependent on LPs
Short-Term/Long-Term Balance
Providing liquidity is also considered a zero-sum game, as every new pool needs liquidity and as such reduces the liquidity of other pools, leading to liquidity fragmentation.
With Artichoke, protocols would only need to build a single-sided LP protocol for staking assets, without the need for stablecoin-pegged liquidity, and Users will be able to stake their assets without the need to supply stablecoins!
In turn, this greatly simplifies the process of providing liquidity for users, and of sourcing liquidity for protocols.
How does Artichoke provide Single-Sided LPs?
Let’s go into the details of the Mechanisms used by Artichoke to create Single-Sided LPs.
Options in Uniswap?
Did you know that Uniswap automatically hedges its LPs when the underlying assets move in price?
In LPs, if an asset moves, the protocol will change the reserve quantity of that asset, and the other, accordingly.
This basically replicates a “negative delta of long put options” on the assets it holds as reserves through dynamic hedging.
Essentially LPs are holding short put options on their reserves.
Investors go short-put options if they think a security's price will rise.
Liquidity providers adding liquidity to a pool basically expose themselves to these embedded short-put options. Hence why to some extent Uniswap LPs can be conceptualized as options, however different from TradFi options:
No Expiration date
No capped Delta
Variable and perpetual premium payments
Artichoke leverages Uniswap LPs to create a delta-zero strategy for single-sided LPs, allowing:
Bidirectional hedging for LPs
Omnipool capabilities for creating single-sided LPs
How can they do so?
The best way to understand this is by using Eli5Defi amazing dashboard, showing an overview of Artichoke Delta-zero mechanism:
What Artichoke does in the background is to go long on volatility, using a Long Straddle Options Strategy so that your LP position is delta neutral: not sensitive to price changes and volatility thanks to bidirectional hedging.
For those not familiar with straddles, a straddle is a neutral options strategy that involves “simultaneously buying both a put option and a call option for the underlying security”.
As such, this strategy will profit the more the asset will move significantly in either direction.
This is facilitated by two components of the Artichoke tech stack:
Omnipools
Delta-Zero
Omnipools allow Artichoke to have single-sided LPing utilizing a virtual omnipool as trading pairs, thanks to ERC-4626: The Tokenized Vault Standard.
ERC-4626 is a standard to optimize and unify the technical parameters of yield-bearing vaults, allowing Artichoke to manage several tokenized vaults with a single ERC-20.
$CHOKE and tCHOKE
The $CHOKE token is a representation of revenue shares on Artichoke.
Holders can earn profits by staking and providing liquidity to the system and also have governance rights on protocol decisions.
$CHOKE has been launched for a little more than a month, on May 2nd.
Currently, it has a FDV of $6m, with a little less than $1m liquidity.
tCHOKE is fundamental for the protocol, as it acts as a “synthetic liquidity counterparty” for tails.
It is a synthetic liquidity token, mainly backed by USDC, that represents the “assets deposited in the Artichoke protocol”.
As new tails (sub-pools) will be created, tCHOKE will be paired with the new token, to allow access to the omnipool liquidity.
Before Artichoke:
1000 $USDC
$1000 worth of Token A
$1000 worth of Token B
If you wanted to provide liquidity for A and B, you need to pair them with USDC. As such you would need 2000 $USDC total to create pairs for tokens A and B and create 2 separate pools (more swap fees, risks, and liquidity fragmentation).
On Artichoke, you can deposit:
1000 $USDC in the USDC/tCHOKE tail
Token A in the TokenA/tCHOKE tail
Token B in the TokenB/tCHOKE tail
Both tokens can access the USDC/tCHOKE tail liquidity and can be swapped with each other.
As the single-sided position is matched with the dollar allocation from USDC/tCHOKE, LPs on Artichoke carry 2x leverage.
Adding $1000 USD is basically gathering fees equivalent to a $2000 position, resulting in more attractive yields.
Deposit liquidity in a new Omnipool Tail
On Artichoke, every Omnipool has “tails”, which are sub-pools of the Omnipool: in this case in the image above, there are 2 tails, one for $USDC and one for X Token.
How do users provide liquidity in practice?
Let’s have a practical example of how the creation of a single-sided LP works:
users interact with Artichoke through tails.
Tails are linked through tCHOKE.
Let’s say we are adding liquidity for a new token $FRANCESCO:
We would use the TailManager contract to deploy new sub-Pools within the Omnipool;
The contract mints and pairs tCHOKE with the deposited $FRANCESCO.
The amount of tCHOKE will depend on
current available tCHOKE/USDC liquidity
target exchange rate of $FRANCESCO/tCHOKE
The TailManager contract then acts as the LP holder for $FRANCESCO/tCHOKE, issuing a receipt to depositors (which allows them to interact with the pool).
Fee Distribution
All LP positions accrue swap fees, that can be claimed anytime or when closing a position.
Artichoke splits fees 50/50 between LPs and the protocol.
The protocol share of the fees is distributed to $CHOKE stakers & used to buy back and burn tCHOKE
Let’s have a practical example, if we have a $500 fee, it will be distributed as follows:
$250 go to the LPs
$125 to buy back tCHOKE - this amount is burned along with the original amount of tCHOKE used to pair with the deposit.
$125 is used to buy back $CHOKE which is then distributed to stakers
Burn Schedule
This is the projected burn schedule for CHOKE:
Here are the current stats for the Protocol:
Bonus: Deposit Liquidity in Camelot Nitro Pools
Users can take advantage of Camelot pools, deposit liquidity and take advantage of a juicy APR on this CHOKE/USD.e pool.
Credits
Major credits to Eli5Defi for the amazing thread and dashboards, those do a great job in simplifying Artichoke delta-zero positions, make sure to check them out: