Hot Tub
Content Out of Date
This content is not maintained and refers to an out-of-date version of Perpetual Protocol.
For the latest documentation, see https://docs.perp.com
Hot Tub FAQs
Everything you need to know about our Hot Tub vaults. If you have any queries that are not answered here, please join our Discord for more information.
General
What are Hot Tub vaults?
Hot Tub vaults are trustless structured products that automates profitable arbitrage opportunities and makes alpha accessible to all. Cryptocurrency users of any level can passively grow their holdings and earn yield with sophisticated on-chain trading strategies.
Why should I use Hot Tub vaults?
Earn a stable yield with low risk using a non-custodial vault.
Reap the benefits of a ‘set-and-forget’ arbitrage trading strategy without needing any knowledge of coding or trading.
By joining Hot Tub, you can stack more gwei or increase your stablecoin holdings. Earn yield in ETH, WBTC, OP or USDC, the decision is entirely yours.
There’s no need for trust, as you can earn yield in a way that’s decentralized.
How can I join Hot Tub?
As of July 19th, 2023, the whitelist process has been removed.
The Shower Room replaces the whitelist system and acts as a queueing mechanism for the vaults. Depositors can earn yield through Yearn while they wait until space opens up in Hot Tub!
Go to vaults.perp.com to start growing your WETH, WBTC, OP and/or USDC holdings.
Instead of signing up for the whitelist, you'll now see the number of people in the queue and an option to join the Shower Room (the "Queue" button).
Approve the amount you want to deposit and you'll then being earning yield through Yearn's Optimism vaults. Once space opens up in Hot Tub, your deposit into Shower Room will be moved over to start earning arbitrage profits!
Click on view details to see more information about the queue, such as the number of people waiting in the queue, the estimated yield you'll earn in the Shower Room until your deposit goes into Hot Tub, the maximum amount that will be added to Hot Tub.
Click on "Notify me" and enter your email to be stay up to date with new vault launches, your queue status and more via email.
What is the strategy for Hot Tub vaults? What happens exactly? How does the strategy manage to generate a return?
Hot Tub utilizes an arbitrage trading strategy and maintains a delta neutral position in ETH, WBTC or OP. Delta neutral means that the strategy’s performance is not affected by fluctuations in the price of ETH or OP.
Arbitrage is the act of buying an asset at a lower price on one market then selling on another market that quotes a higher price for the same asset. It is one of the most competitive areas of trading since it can be profitable, and at the same time, carries very little risk.
Learn more about the strategy here.
How does Hot Tub compare to other cryptocurrency vaults?
Hot Tub aims to be the best alternative to unsustainable high APYs and unstable returns by providing lower risk, stable returns for lower risk and a more stable return for depositors. The returns are correlated with volatility, so depositors looking to maximize their earnings should join Hot Tub for longer periods of time to capture high volatility events.
For a more detailed look at how Hot Tub compares to other vaults, check out this article.
What assets are the vault yields paid in?
The vault yields are paid out in the same asset you deposit. For example:
The ETH-Hot Tub vault accepts WETH deposits and pays out yield in WETH.
All USDC-Hot Tub vaults accept USDC deposits and pay out yield in USDC.
When are arbitrage trades executed?
Whenever there’s a profitable arbitrage opportunity between Perp and spot markets on decentralized exchanges for the relevant market (currently ETH-USD, BTC-USD and OP-USD).
Is there a guide to walk me through the process?
Yes, you can check out our Hot Tub walkthrough.
What are the vault contracts?
ETH Vault
ETHUSDCBaseVault (user’s entry point):
0x722Ef09F933f09069257C68563B715486365B895
ETHUSDCBaseVaultPerpPositionManager (Vault’s Perp account):
0x3d03748A0FbBa8DD5F07b16c0178cdd1327FC58a
ETHUSDCBaseVaultToken (Vault’s ERC20 LP token):
0xf2c886623309c93b56537C8c4d4321813ef78439
USDC-ETH Vault
ETHUSDCQuoteVault (user’s entry point):
0x748A38f4a430504Deb15fD5BB157dd466f8284B9
ETHUSDCQuoteVaultPerpPositionManager (Vault’s Perp account):
0x54E32c4c28f6e9B3F428635FD8e52b1C5742FC88
ETHUSDCQuoteVaultToken (Vault’s ERC20 LP token):
0x83d6675FE072928132c1B98ca3647De2fA9c8d84
OP Vault
OPUSDCBaseVault (user's entry point):
0x5039cDE9ed71256BE27A36440380F36cAD45d270
OPUSDCBaseVaultPerpPositionManager (Vault's Perp account):
0xe72716C65d99c477C7E381E30Fb29F602CA784B8
OPUSDCBaseVaultToken (Vault's ERC20 LP token):
0xeF9d827408C52C0F87278e1068Ef652Ad7274356
USDC-OP Vault
OPUSDCQuoteVault (user's entry point):
0x7AF98C4edc50cd7EC18C8B28A34200a16f53F3a4
OPUSDCQuoteVaultPerpPositionManager (Vault's Perp account):
0xf4880599EB67F932df64ec1ED7b163c16Cd3929B
OPUSDCQuoteVaultToken (Vault's ERC20 LP token):
0x0A8C0b205549589FEAdFB954282fBd187E541D83
WBTC Vault
BTCUSDCBaseVault (user's entry point):
0x6e9205B734455b578D06135de51E87D742d32cF2
BTCUSDCBaseVaultPerpPositionManager (Vault's Perp account):
0x2D97d9714B6ccd75F5EA109a0B220b978a8C6F84
BTCUSDCBaseVaultToken (Vault's ERC20 LP token):
0x78Ef3a1Dfb1Cee9B62b55a96fc076F2Ad09D8B6D
USDC-BTC Vault
BTCUSDCQuoteVault (user's entry point):
0x243e5F2CedDf3C7098832bCB890eF70A34099415
BTCUSDCQuoteVaultPerpPositionManager (Vault's Perp account):
0x3d99EB56fA430503ffE85E7A8064a467C85DeaA1
BTCUSDCQuoteVaultToken (Vault's ERC20 LP token):
0xA825825F3C0E7D0e6413981ad940AfD8a8b1B976
KtbArbitrageur (whitelisted contract that can swap between Hot Tub and DEX but need to transfer all profits back to Hot Tub):
0xEE1aDAEa27E97440DF594d601E366b3a1f1703dd
Router:
0x2D9949BbeBfBEC3dd087781Ae546202E708B841b
VaultConfig (store config for all Hot Tub vaults, including deleverageMarginRatio, etc.):
0x5Da8E71EA120DE22447BC8aE339FE398c17178fA
All Hot Tub contracts are also listed here: https://metadata.perp.exchange/kantaban/optimism.json
Are the contracts upgradable?
Yes, the contracts are upgradable to allow us to update the strategy and improve the performance. Currently, there are no timelocks for the contract but this precautionary measure may be added in the near future.
Where can I view the code for Hot Tub smart contracts?
The smart contracts for Hot Tub are verified on EtherScan. Got to “read as proxy” tab then click the implementation contract address using the links below:
Where can I see the historical performance?
The historical performance is displayed in charts on each vault page.
What is APY/APR?
Annual percentage yield is often shortened to APY, which defines the return of an investment that includes the compounding effect. Your APY is the real rate of return you receive on your assets if the returns are compounded over time.
Annual percentage rate is often shortened to APR, which is the percentage you earn on your investment that excludes the compounding effect.
How is the APY displayed on the UI calculated?
The APY is calculated via the underlying pool share price. The APY you can earn is denominated in the asset you deposit, e.g., WETH for the ETH vault, WBTC for the BTC vault, OP for the OP vault and USDC for the USDC vaults.
How can I obtain the real-time APY?
The real-time APY for Hot Tub vaults can be obtained buy programmatically calling the contracts to get the total supply and total assets.
The steps are shown below:
Since Hot Tub utilizes an on-chain trading strategy, what’s stopping someone from copying it and executing the same strategy to siphon profits away from Hot Tub?
It is possible for someone else to use the same strategy. But it is complicated and requires active management. By drawing on the Foundation team’s experience and expertise, we ensure that the vaults operate optimally and also closely monitor the factors that may affect the strategy’s performance (see the risks section).
Deposits
Is there a minimum/maximum deposit amount?
There’s a minimum deposit of:
50 USDC for all stablecoin vaults.
0.005 ETH for the ETH vault.
0.001 WBTC for the BTC vault.
50 OP for the OP vault.
There's no maximum deposit but caps will be in place for each vault, which will be raised gradually over time.
Are there any fees to deposit to Hot Tub vaults?
There will be no fee applicable for deposits. See the fees section below for more information.
Depositors need to have a small amount of ETH in their wallet to pay for gas fees on the Optimism network.
I want to deposit into the ETH vault. How can I get WETH?
ETH can be wrapped on a DEX like Uniswap or by using DeFiLlama's meta-aggregator to obtain WETH.
Will I receive a token in return when depositing?
Yes, you’ll receive pool shares -- tokens that represents a claim to the profits generated by Hot Tub vaults.
Important: Share price changes according to vault profits and losses. Starting share price is always 1. If the vault has earned profit before you deposit, you will pay a share price above 1. If the vault pays funding, share price may decrease gradually. Any arbitrage profits earned by the vault will add to the share price.
Where can I track the current value of pool share tokens?
You'll be able to track the current value of pool shares tokens through the UI.
This value can also be tracked from the contract with the following formula:
totalAssets / totalSupply
where:
totalAssets = total underlying value of the vault in USDC, OP or ETH (using index price on Perp)
totalSupply = total share token amount
Do I have to re-invest to compound my gains?
No, you do not have to re-invest to compound your gains. As long as your assets remain in Hot Tub, you’ll continue to earn!
Can I use a contract address (e.g., multi-sig) to deposit into Hot Tub vaults?
Yes, you can use externally owned addresses (EOAs) or multi-signature wallets.
Withdrawals
Are there any fees to withdraw from Hot Tub vaults?
Initially, no fees apply to withdrawals. See the fees section below for more information.
A small amount of ETH is required to pay for gas fees on the Optimism network and process withdrawals.
How do withdrawals work?
After you deposit, there is a 15 minute cooldown period. After the cooldown, you can withdraw any time.
Hot Tub is designed for long term investment (3-6 months, or more). Withdrawing early may result in a small loss due to funding payments and other market conditions.
Is there slippage on withdrawals?
Yes, there may be slippage. Always check the amounts shown on the UI before withdrawing. If you see an unusual amount, please try again after a few minutes. If the issue continues, contact support using the support icon on the lower right corner of the Hot Tub UI.
Fees
Are there any fees for Hot Tub vaults?
Early adopters like you currently pay no fees for Hot Tub. After the zero-fee period, management and performance fees will apply. Details will be announced in advance of any change to fees.
Although there are currently no fees for Hot Tub, you should hold a small amount of ETH in your wallet pay for gas fees on the Optimism network.
When does the no-fee period end?
Join Hot Tub now to enjoy zero fees for a limited time only.
We will make an announcement before the no-fee period ends. Follow us on Twitter, join our Discord server or Telegram channel to stay up to date.
Risks
What are the risks of Hot Tub vaults?
Hot Tub vaults carry minimal risk, since they are delta neutral and generate profit from arbitraging (the closest thing possible to a ‘risk free’ trading strategy). Everything is done on-chain, so there is complete transparency of the vaults’ performance. You can verify for yourself that the vault is executing the exact same strategy as outlined these FAQs.
But there are three potential factors that may reduce the expected returns or, in extreme circumstances, end up realizing a loss for depositors.
Extreme funding rate: if the funding rate is negative for ETH-USD, BTC-USD or OP-USD, then short positions that are opened for the USDC vaults (to hedge spot ETH, WBTC or OP holdings) will incur funding payments. However, if the funding rate is positive for ETH-USD or OP-USDC, then the long positions opened for the ETH, WBTC or OP vaults will incur funding payments. If the funding rate becomes large enough, then the short/long positions for each vault’s strategy will incur larger funding payments and reduce the profits generated through arbitrage.
Smart contract risk: while we have taken great care to create the smart contract that powers Hot Tub vaults, there’s a very small risk that a bug may be found which could potentially put your capital at risk.
An extremely illiquid ETH-USD, BTC-USD or OP-USD market on Perp or spot DEXes on Optimism: although the likelihood is very small, if liquidity for ETH or OP dries up rapidly and depositors want to withdraw their funds, this may adversely affect the profitability of the strategy since ETH, WBTC or OP may need to be sold or bought to make depositors whole and slippage may be incurred.
USDC loses its peg: there's a risk that the value of USDC may fall below $1 under extreme circumstances which will impact the vault's performance. Please see this article for more details of what happens if USDC depegs.
Is there a bug bounty for Hot Tub?
There’s no bug bounty at this time, although this may change in the future.
Is it possible to lose some of the assets I’ve deposited to Hot Tub?
Hot Tub is designed for long term investment (3-6 months, or more). Withdrawing early may result in a small loss due to funding payments and other market conditions.
In very extreme circumstances where the risks of the Hot Tub strategy outlined above materialize, then your funds may be at risk. In the rare cases where the strategy realizes a loss, it is spread across all depositors, meaning the amount available to withdraw could be less than what you initially deposited.
Please only deposit an amount you can afford to lose.
Withdraw via Etherscan
Expert Level Content. Proceed at your own risk.
Get the amount of shares you hold. On Etherscan (Optimism), click the shares in your wallet and copy the full balance if you want to withdraw all shares.
Convert the amount of shares to smart contract decimal format.
The format used is the decimals of the underlying token plus 18. So for USDC, which uses 6 decimals, convert to 24 decimal format by multiplying by 10^24. E.g. 1 share will become 1000000000000000000000000000000000000. For WETH, which uses 18 decimals, convert to 36 decimal format by multiplying by 10^36.
Get the vault contract address of the Hot Tub you want to withdraw from, either from the list above (the xyzBaseVault or xyzQuoteVault are the vault addresses) or get it from the complete json list.
Go to Etherscan and search for the vault contract address.
Go to the Contracts > Write as Proxy tab.
Look for the
6. Redeem
contract call.Enter the amount of shares you want to redeem (aka withdraw) in the
shares
field using smart contract decimal format as described above.⚠️ Important: Calculate the
minRedeemedAmount
to control slippage. Using the current share price, calculate how much token (ie. USDC.e, ETH, BTC, OP) you should receive in exchange for your shares. Convert this amount to smart contract decimal format according to the number of decimals used by the token.E.g. if you want to redeem 100 OP Hot Tub shares and the share price is 1.01, you should receive 101 tokens. Allowing for some slippage, you might request 100.9. In 18 decimal format, this would be 100900000000000000000.
E.g. if you want to redeem 100 OP USDC.e Hot Tub shares, USDC.e uses 6 decimals. Multiply the amount of USDC.e you expect to receive by 10^6.
Enter this amount in
minRedeemedAmount
.
Connect your wallet to Etherscan and click Write. Sign the transaction with your wallet.
⚠️ Note: The transaction may revert due to slippage. If this happens, try again later, or reduce the amount you set for minRedeemedAmount
.
What Happens if USDC Loses its Peg?
What will happen to Hot Tub if USDC ≠ $1
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
What are the Risks of Holding Wrapped BTC (WBTC)?
What is Wrapped BTC?
Wrapped Bitcoin (WBTC) is an ERC-20 asset that lives on Ethereum-based chains. WBTC was the first wrapped asset on Ethereum. Launched in 2019 by Kyber and Ren Protocol (formerly known as Republic), WBTC is backed by BTC and, as a result, it's price should trade 1:1 with the price of BTC. The major advantage of this token is that it allows holders to retain price exposure to BTC while also enabling participation in the DeFi ecosystem.
All of the BTC backing this wrapped asset are held by a single custodian: BitGo. The WBTC smart contract is owned by a multisig controlled by different DeFi projects. Because of its design, BitGo or the WBTC multisig contract signers cannot blacklist or freeze WBTC tokens in individual's wallets, liquidity pools, and so on.
More details about WBTC can be found using the links provided below:
WBTC website: https://wbtc.network/
WBTC contract on Ethereum: https://etherscan.io/address/0x2260fac5e5542a773aa44fbcfedf7c193bc2c599
WBTC contract on Optimism: https://optimistic.etherscan.io/address/0x68f180fcce6836688e9084f035309e29bf0a2095
Risks of Wrapped BTC
Multisig Security
While there's no ability for any entity to blacklist or freeze WBTC tokens held in wallets or liquidity pools, it is possible (although very unlikely) that the 8-of-13 multisig contract can freeze everyone's WBTC and make them untransferable until the contract is unpaused.
The "Large DAO" multisig signers (listed below) consist of various DeFi protocols, however, the individuals with access to the multisig keys are unknown. Any 8 of these signers can come together to pause or unpause the WBTC smart contract (as well as all WBTC tokens in circulation):
B Protocol
Badger
Balancer
BitGo
Chainlink
Compound
Gopax
Krystal
Kyber
Loopring
Multichain
Ren
Tom Bean (bZx)
WBTC is a Custodial Token
Given that BitGo is the sole custodian for the BTC backing WBTC, some trust is required in this centralized entity that they will not go bankrupt, get hacked or fall victim to a regulatory attack.
If BitGo turns out to be dishonest or insolvent, then the value of WBTC could potentially diverge from the true value of BTC. Even if there are rumours that BitGo are insolvent or facing regulatory scrutiny, this could cause WBTC to de-peg and and trade at a price lower than Bitcoin's. There's currently no 'hard peg' mechanism in place to guarantee that 1 WBTC = 1 BTC.
Last updated