What will happen to Hot Tub if USDC ≠ $1
USDC goes below $1 | USDC goes above $1 | |
USDC Vault | no arb opportunity. users won’t get an extra loss when withdrawing | 100% utilization ratio. users will get an extra loss when withdrawing |
ETH Vault | 100% utilization ratio. users will get an extra loss when withdrawing | no arb opportunity. users won’t get an extra loss when withdrawing |
How ETH Vault user will get an extra loss when USDC goes down?
- 1 ETH = $1000 = 1000 USDC
- Alice deposited 1 ETH and get 1 share. Vault has 1 ETH.
- Assume there’s a negligible 1 wei profit, arb swapped 1000 USDC for 1 ETH. Now vault has 1000 USDC + 1 ETH long + 0 ETH
- USDC depeg: 1 ETH = $1000 = 2000 USDC. ( 1 USDC = $0.5 )
- Alice withdraw 1 share
- Vault close 1 ETH long, 0 pnl, withdraw 1000 USDC
- Swap 1000 USDC for 0.5 ETH from Uniswap
- Alice got 0.5 ETH
How USDC Vault user will get an extra loss when USDC goes up?
- 1 ETH = $1000 = 1000 USDC
- Alice deposited 2000 USDC and get 2000 shares. Vault has 2000 USDC
- Assume there’s a neglectable 1 wei profit, arb swapped 1 ETH for 1000 USDC. Now vault has 1000 USDC, 1 ETH spot and 1 ETH short
- USDC depeg: 1 ETH = $1000 = 500 USDC. ( 1 USDC = $2 )
- Alice withdraw 2000 shares
- Vault close 1 ETH short, 0 pnl, withdraw 1000 USDC
- Vault sell 1 ETH for 500 USDC
- Alice got 1500 USDC
How we mitigate this?
USDC vault will stop arbitraging when USDC:USD oracle (Chainlink) is higher than 1.01.
ETH vault will stop arbitraging when USDC:USD oracle (Chainlink) is lower than 0.99.
Which means the potential loss is capped.
How ETH Vault user will get an extra loss when USDC goes down?
- 1 ETH = $1000 = 1000 USDC
- Alice deposited 1 ETH and get 1 share. Vault has 1 ETH.
- Assume there’s a negligible 1 wei profit, arb swapped 1000 USDC for 1 ETH. Now vault has 1000 USDC + 1 ETH long + 0 ETH
- USDC depeg: 1 ETH = $1000 = 2000 USDC. ( 1 USDC = $0.5 )
- Alice withdraw 1 share
- Vault close 1 ETH long, 0 pnl, withdraw 1000 USDC
- Swap 1000 USDC for 0.5 ETH from Uniswap
- Alice got 0.5 ETH $500
How ETH Vault user will get an extra loss when USDC goes up?
- 1 ETH = $1000 = 1000 USDC
- Alice deposited 1 ETH and get 1 share. Vault has 1 ETH.
- Assume there’s a negligible 1 wei profit, arb swapped 1000 USDC for 1 ETH. Now vault has 1000 USDC + 1 ETH long + 0 ETH
- USDC depeg: 1 ETH = $1000 = 500 USDC. ( 1 USDC = $2 )
- Alice withdraw 1 share
- Vault close 1 ETH long, 0 pnl, withdraw 1000 USDC
- Swap 1000 USDC for 2 ETH from Uniswap
- Alice got 2 ETH = $1000
How USDC Vault user will get an extra loss when USDC goes up?
- 1 ETH = $1000 = 1000 USDC
- Alice deposited 2000 USDC and get 2000 shares. Vault has 2000 USDC
- Assume there’s a negligible 1 wei profit, arb swapped 1 ETH for 1000 USDC. Now vault has 1000 USDC, 1 ETH spot and 1 ETH short
- USDC depeg: 1 ETH = $1000 = 500 USDC. ( 1 USDC = $2 )
- Alice withdraw 2000 shares
- Vault close 1 ETH short, 0 pnl, withdraw 1000 USDC
- Vault sell 1 ETH for 500 USDC
- Alice got 1500 USDC = $3000
How USDC Vault user will get an extra loss when USDC goes down?
- 1 ETH = $1000 = 1000 USDC
- Alice deposited 2000 USDC and get 2000 shares. Vault has 2000 USDC
- Assume there’s a negligible 1 wei profit, arb swapped 1 ETH for 1000 USDC. Now vault has 1000 USDC, 1 ETH spot and 1 ETH short
- USDC depeg: 1 ETH = $1000 = 2000 USDC. ( 1 USDC = $0.5 )
- Alice withdraw 2000 shares
- Vault close 1 ETH short, 0 pnl, withdraw 1000 USDC
- Vault sell 1 ETH for 2000 USDC
- Alice got 3000 USDC = $1500