Professional Documents
Culture Documents
Cyclos: A Concentrated Liquidity Market Maker On Serum Order Books
Cyclos: A Concentrated Liquidity Market Maker On Serum Order Books
Cyclos: A Concentrated Liquidity Market Maker On Serum Order Books
1
V IMPLEMENTATION
2. LPs get fungible LP tokens for depositing Aggregate liquidity at each tick for each
tokens. user is found and combined orders placed.
2 2
REFERENCES
1. Settle any Serum orders which are 3. CYS token staking: LPs can stake CYS
present. Find the order share of users tokens to obtain benefits such as:
and update their balances. A percentage
of sale proceeds are withheld as protocol (a) Swap fee discounts
fee. (b) A portion of swap fees is used for
open market buyback of CYS tokens,
2. Orders will be placed 5 ticks ahead and which are distributed amongst the
5 ticks behind the current market price. stakers.
Buy orders will be placed behind the tick,
and sell orders ahead. 4. Buy and burns: Another portion of swap
fees is used for buy and burn of CYS
3. To calculate order volume Vt at a tick,
tokens, to deflate supply and increase
loop through user data:
value.
(a) Initially Vt = 0
(b) Let T represent a tick. Let Tmin to
Tmax be price range selected by a References
user. Tmkt is the market value pro-
vided by the crank call. If the be- [1] Hayden Adams et al. Uniswap v3
low condition is satisfied, proceed to core white paper. https://uniswap.org/
the next steps. Otherwise skip to the whitepaper-v3.pdf.
next user.
[2] Serum Foundation. White paper.
https://projectserum.com/serum_
Tmkt ϵ[ Tmin , Tmax ] (2)
white_paper.pdf.
(c) The tick volume Vtuser for this user is
[3] Raydium Team. Raydium proto-
calculated and added to Vt .
col litepaper. https://raydium.io/
For buy orders add B Vtuser , where VB
Raydium-Litepaper.pdf.
is the user’s total volume of B tokens
[4] Bonfida. Bonfida trading bots. https://
user VB bots.bonfida.com/.
B Vt = (3)
Tmkt − Tmin + 1
[5] Wikipedia. Bid-ask spread. https://en.
For sell orders add A Vtuser , where VA
wikipedia.org/wiki/Bid-ask_spread.
is the user’s total volume of A tokens
user VA
A Vt = (4)
Tmax − Tmkt + 1
(d) Once Vt for all users is found, place
the order on Serum.
3 3