What is rBASIS and how can you collateralise it?
rBASIS is the IOU token for BASIS and can be collateralised on one of Solend's pools. Solend is a decentralised lending/borrowing protocol on Solana.
What is rBASIS?
$rBASIS is the SPL (Solana Program Library) token you receive upon depositing $BASIS tokens into the Basis Markets Single Sided Staking smart contract (3S).
Designed to act as a ‘receipt’ or IOU (I owe you), $rBASIS tokens are used to guarantee the depositor can, at minimum, redeem the exact amount of $BASIS tokens they deposited into the 3S contract.
In its pre-product phase Basis Markets incentivised staking, creating the opportunity to receive more $BASIS tokens than initially deposited. As a result, 150m $BASIS tokens were minted with the sole purpose of being emitted to 3S depositors over a 12 month period. Due to these token emissions the value of $BASIS to $rBASIS is always diminishing.
Why is rBASIS important?
Unlike Ethereum, Solana smart contracts are stateless, meaning no check can be made upon redemption of a token to confirm what the depositor is eligible to redeem.
The work around is the creation of a new redeemable token which trades at a ratio depending on the vault contents and the total supply of the original deposit token. The simplest way this can be explained is Alice and Bob.
Alice and Bob
1. The 3S vault has 0 $BASIS tokens staked and 0 $BASIS token rewards emitted, Alice decides to deposit 100 $BASIS tokens into the 3S staking vault. With on chain smart contracts there needs to be a guarantee that Alice is able to redeem her 100 $BASIS tokens instantly, as this is her fair share at the present time. In order to ensure this is possible she receives 100 redeemable basis ($rBASIS) tokens that represent the 100 originally deposited. With 0 reward tokens emitted the ratio of original basis:redeemable basis tokens is (1:1) in that 1 redeemable token is worth 1 original token.
2. A reward of 50 $BASIS tokens is emitted into the vault and as a result the vault now contains 150 $BASIS tokens. Alice still has her 100 $rBASIS tokens but as she is the only depositor into the pool, her 100 $rBASIS tokens will entitle her to 150 $BASIS tokens. The ratio of $BASIS:$rBASIS is 1.5, which means that 1 $rBASIS token is worth 1.5 $BASIS tokens.
3. How does the contract calculate the ratio of 1.5? It takes the vault contents (150 tokens at this point) and the redeemable token supply (100 tokens at this point) and divides the two 150/100 = 1.5.
4. A further reward of 50 $BASIS tokens are emitted to the vault and the ratio is now 2 - 200 $BASIS tokens / 100 $rBASIS tokens.
5. Bob comes along and decides to stake his 100 $BASIS tokens; however, he only receives 50 $rBASIS tokens. Bob thinks this is a mistake as Alice received 100 $rBASIS tokens for her deposit.
6. This is working as intended. Bob receives 50 $rBASIS tokens in exchange for him depositing his 100 $BASIS tokens. The $BASIS:$rBASIS token ratio is now 2:1 so should Bob withdraw, he will receive his original token deposit of 100 $BASIS tokens. If he decides to exit before a third $BASIS token emission he would not capture any redeemable token appreciation as the proportions remain the same.
7. A short time later, a further 50 $BASIS are emitted into the vault. What on earth is the ratio? Let's have a look:
- Total $BASIS token vault contents = (Alice (100) + Bob (100) + Emissions (150)) = 350 tokens
- Total $rBASIS token supply = (Alice (100) + Bob (50)) = 150
- $BASIS:$rBASIS token ratio = 350/150 = 2.33
8. Alice and Bob both withdraw. Alice receives 100 * 2.33 = 233.33 $BASIS tokens and bob receives 116.16 $BASIS tokens.
9. The vault and smart contracts have functioned correctly. Alice's funds were deposited into the vault to capture three emissions and Bob’s funds only one. Both got their original stake back and the appropriate share of $BASIS token rewards.
How does collateralisation work?
Basis Markets has partnered with Solend to offer an isolated lend/borrow pool for both $BASIS and $rBASIS. Depositors will be able to borrow USDC, collateralising their assets at 50% LTV.
Solend was an obvious choice for a partnership. Their team are helpful and worked quickly to get our new pool ready to go.
Basis Markets Pool on Solend
The Basis Markets pool offers $rBASIS and $BASIS, allowing for multiple strategies such as borrowing $BASIS to deposit $rBASIS, or depositing large amounts of $BASIS or $rBASIS to unlock capital (USDC) against them.
What are the risks of the pool?
There are a number of risks associated with borrowing/lending volatile assets including smart contract risks, due to the reliance on external protocols. If $BASIS or Solend is exploited and drained, $BASIS and $rBASIS here would likely not get liquidated fast enough and cause socialised losses for lenders. There is also the risk of oracle exploits, as $BASIS and $rBASIS rely on Switchboard oracles to get prices updated.
Risk #1: Untimely Liquidation Risk
Lenders may be exposed to untimely liquidation, where a liquidation takes place but there are insufficient assets to pay back lenders in full. Solend relies on 3rd party liquidators to liquidate rapidly and the Solana network.
Risk #2: Oracle Risk
Solend relies on Oracle prices to determine liquidation, oracle errors may cause wrongful liquidations. This has occurred before and Solend have taken steps to help build additional safeguards to prevent this from happening again, while also reimbursing affected users.
Risk #3: 100% Utilisation Risk
If a Solend pool is at 100% utilisation (Borrows = Supply), there will be no tokens available to withdraw. Users will have to wait for further users deposits, or repayments to be able to withdraw. At 100%, Borrow APR goes to its maximum (250% for most cases) to attract new users to deposit or borrowers to repay.
Parameters & Values
|Optimal Utilisation Rate||80%||80%||80%|
| Liquidation Threshold
|Minimum Borrow Rate||N/A||0%||0%|
|Optimal Borrow Rate||N/A||25%||15%|
|Maximum Borrow APR||N/A||150%||150%|
|Flash Loan Fee||N/A||0%||0%|
|Host Fee %||N/A||20%||20%|
Solend Isolated pools:
$BASIS Isolated Pool Parameters: