KittenSynthetic: Bull & Bear Leverage Tokens with Yield, without Liquidation, and without Time Decay
We introduced KittenSynthetic in our previous article:
KittenSwap (8): Synthetic Asset & Leverage using Chainlink feed
This is part 8 of the KittenSwap series, in which we gradually present our unified swap+lending+option product…
Please read it for the basic designs of our BULL & BEAR leverage tokens.
KittenSynthetic is now online at https://www.kitten.finance/new/. Two markets are available at this moment (please feel free to contact us for adding more):
- You can use USDC to 3x trade ETH on Polygon.
- You can use USDC to 3x trade QQQ on BSC.
Moreover, it’s a good idea to buy-and-hold our leverage tokens (you can hold both sides), to automatically collect various fees over time.
1. Collecting Transaction Fee
The tx fee is 0.3%, and it’s fully distributed to token holders:
- If someone buy BULL, the tx fee goes to all bears.
- If someone buy BEAR, the tx fee goes to all bulls.
- If someone sell BULL, the tx fee goes to all remaining bulls.
- If someone sell BEAR, the tx fee goes to all remaining bears.
This process is automatic. Example: if someone buy BULL, the 0.3% tx fee goes to all bears, such that we will immediately see a slightly higher BEAR price.
2. Collecting Funding Rate
The funding rate is the incentive for a balanced market:
- When total_BULL_value > total_BEAR_value, bears can receive funding rate from bulls. So it’s good to hold BEAR.
- When total_BEAR_value > total_BULL_value, bulls can receive funding rate from bears. So it’s good to hold BULL.
Example: if there are totally $100000 worth of BULL in the contract, and totally $40000 worth of BEAR in the contract, then bears can receive funding rate from bulls. In this case, the rate is (100000–40000)/4800 = $12.5 per hour. Here 4800 is a fixed constant. Therefore bears are receiving 0.03125% per hour (APY 274%), and bulls are paying 0.0125% per hour (APY -109%).
3. Collecting “debt” from the Settlement Process
When you make a trade in KittenSynthetic, it is not simply settled using the price you see in the swap panel. This is because of our front-running resistance design, which consists of two steps. Example:
Step 1. Adam bought 1000 BULL at price 0.9876.
Step 2. The trade is settled in a new round, when someone makes another trade, or when someone manually sync the contract. These activities will settle all previous trades for everyone.
If the new BULL price > 0.9876, then Adam’s BULL will be settled at the new price instead of 0.9876. So now Adam has a “debt” of 1000*(new_price-0.9876). This debt will be paid to all bulls when Adam makes another trade, or when Adam withdraws $ from the contract.
Therefore you can collect extra “debt” from other’s trading activities, just by holding our leverage tokens.
If the new BULL price ≤ 0.9876, then Adam’s BULL will be settled at 0.9876. And there is no extra debt for Adam.
In general, if you are buying BULL or BEAR, it will be settled at MAX(original_price, new_price). So if the new_price is higher, then token holders can collect extra debt.
If you are selling BULL or BEAR, it will be settled at MIN(original_price, new_price). So if the new_price is lower, then token holders can collect extra debt.
The Chainlink feed comes in rounds: 1 minute for the ETH-USD feed on Polygon, and up to several hours for the QQQ feed on BSC.
In the beginning there might not be enough trading activities to quickly settle your trades. So If you traded in round x, please wait for a new round and settle your trade by manually syncing the contract, to prevent the new_price from moving against you.