ADD: Singlesided LP with deposit insurance
Pretext
The most important aspect to THORChain is L1 TVL, where THORChain can make real sustainable yield for its participants. RUNE TVL does not make real yield, it's only a mechanism for securing and putting the L1 TVL to work.
Consider a network with $0 in L1 TVL. The network does not do anything, so cannot make money.
Thus all roads lead to convincing L1 holders to put their assets in the network, where it can be put to work and make yield. A feature which offers the minimum risk and easiest UX is thus desired for L1 holders.
CeFi Custodians
Preliminary discussions with CeFi revealed the biggest blocker was RUNE price risk, and custody issues with RUNE (incompatibility with fireblocks). The treasury was contemplating writing 0% interest loans, with the loan as the collateral to protect the CEFI deposit, with centralised management. This decentralised feature will allow CeFi to easily participate since the risk is contained and the L1 transactions are fireblocks compatible.
Current
Single-sided LP is not possible, instead single-sided LPs take on price risk to RUNE they don't want. This is the biggest inhibitor to attracting more L1 TVL.
Desired
A. L1 holder can enter a single-sided LP position and earn yield directly in L1. Their downside should be capped at 0% (never risk their principle), and yield should be moderate. B. RUNE holders can deposit in a vault and earn RUNE on RUNE yield. The RUNE is farmed out to (A) to make it work. RUNE depositors should wear some risk (provide insurance for L1 depositors), and in return earn higher yield than normal. C. The RESERVE is used to backstop (A) when (B) is consumed in deposit insurance.
Description
RUNE Deposit Vault
RUNE holders deposit their RUNE into a vault to earn RUNE on RUNE yield. They can withdraw after 100 days. The RUNE is then held and farmed out as required by the protocol. The RUNE can accumulate in pending while it waits to be matched to L1 (ie, only 1m RUNE can be matched to L1, even if there is 3m in the vault)
The RUNE Vault is uni-pool (not omni-pool), which means users specify which pool to commit funds to.
- No zombie coin attack vectors
- Depositors have risk on their matched asset, so they choose which L1 to match to (and are happy with the risk)
Memo is like ADD:BTC.BTC
via MsgDeposit (same as current).
L1 Depositors
Example Pool is 100 BTC : 1m RUNE (1.0 BTC == 10k RUNE)
- LP deposit L1 asset, 1.0 BTC
- Protocol matches the L1 with enough RUNE from the VAULT, position is 1.0BTC + 10k RUNE
- LP is locked for a minimum of 100 days
- The position earns LUVI-growth yield; 10% after 100 days: position is 1.1 + 11k
- LP earns 50% LUVIgrowth, ie withdraws 1.05 BTC. The 11k RUNE + 0.05 BTC is sent back to the vault as income.
Memo is like ADD:BTC.BTC
via L1 tx (same as current).
Price Changes
DOWN
- If price shift down, then the VAULT's RUNE position is the Deposit Insurance for the LP. Up to and all of the RUNE can be consumed by the LP to ensure they attempt to get their 1.0 BTC back
- The Deposit Insurance is for the Principle, not the Principle+Yield
- The Deposit Insurance is capped always at the VAULT's RUNE LP position, ie up to 11k RUNE can be consumed to pay the Depositor.
- If the price changes by more than 4x at time of entry, the LP position is not enough to cover, so the remainder is taken from the RESERVE
UP
- If price shift up, there is enough BTC to pay the L1 depositor back, so there is no erosion of principle
- But the LP position will still experience IL, so the VAULT will receive a small haircut to cover
- The VAULT is hoping that their 150% LUVI growth yield beats IL
Economic Reasoning
If singled-sided LP is popular, then there should be no shortage of RUNE and L1 to deposit. Thus PooledRUNE will quickly go to a maximum of BondedRUNE. At this point the Incentive Pendulum is paying ~100% to nodes, so demand for LP will meter out prior to reaching this. Nodes will buy up RUNE to access the real yields, causing positive price action on RUNE. This arbs out RUNE, causing PooledRUNE to drop below BondedRUNE, allowing more LPs to once again enter.
Implementation
RUNE Vault
Members deposit RUNE in a uni-pool and receive vault ownership. They can withdraw after 100 days. Yield is accumulated regularly by skimming LUVIGrowth.
L1 Deposits
- Deprecate existing single-sided deposit logic (but keep dual-sided).
- Single-sided L1 deposits get matched with VAULT RUNE at current price
-
assetDepositValue
is still recorded for the member, but is now their full deposit. -
runeDepositValue
is not written -
memberLUVI
is written to the member (it's just thepoolLUVI
at time of deposit). A single-sided LP can be identified by presence of this parameter - When member goes to withdraw, compare
memberLUVI
with currentpoolLUVI
. The growth is thus the % owed to them against theirassetDepositValue
(ie, 10% growth, means they are owed1.1 * assetDepositValue
). Note: due to synths, LUVI may not go up, so needmemberOwedAsset = ceiling(assetDepositValue, assetDepositValue * luviGrowth)
, which will protect their deposit. - Compute
LPWithdrawalValueInAsset
by redeeming 100% of the LP Units for member to Asset (normally it should be 2x theassetDepositValue
). From this, pay out (6) to member, and take any deficit from the RESERVE. - The remainder swap to RUNE and send back to the VAULT.
Amended Design: Singlesided LP for both RUNE & L1 holders.
The above design contemplated the RESERVE allocating for this feature. Instead, RUNE-holders themselves can be incentivised to deposit RUNE in a vault Yield Module
, and the protocol farms this out to matched L1 depositors as required. This drives up demand for RUNE single-sided staking and keeps the RESERVE balance for block rewards + ILP.
Implementation
- Users deposit RUNE in a module, own a share of the vault + yield
- Protocol matches to incoming L1 deposits (any and all)
- 100 day lock to attract long-term capital
- L1 depositors are paid
LUVIGrowthShareBasisPoints = 5000
, which is 50% LUVI growth (not 100%) - RUNE holders skim the 50% L1 LUVI growth, + 100% the RUNE LUVI Growth. In total 150% the normal yield
- The increased yield offsets the price risk, since RUNE-stakers are taking on L1 price risk
- Redemptions come from the RESERVE to ensure RUNE holders can always redeem at any time (even if 100% of the vault is loaned out)
- L1 withdrawals pay off the RESERVE Credit first