What is a 'rebase token'?
Rebase tokens are cryptocurrencies that do not have a static balance in each holder’s wallet address, but instead use a ‘rebase mechanism’ to dynamically adjust each holders balance. Common reasons for tokens to use rebase mechanisms include algorithmically adjusting supply to:
- Maintain price stability with demand.
- Track interest earned or debt owed by a wallet.
Common examples of rebase tokens include:
- stETH
- aUSDC
- variableDebtUSDC
- sKLIMA
- AMPL
Rebase Tokens (Elastic Supply) vs Fixed Supply Tokens
Many cryptocurrencies, such as Bitcoin and traditional ERC-20 tokens on Ethereum (like USDC and UNI), have static token supplies. These tokens follow predetermined issuance schedules and may have functions to mint or burn tokens to adjust the supply. Wallet balances for these tokens are adjusted only through explicit transfers to or from the wallet.
Rebasing tokens, in contrast to fixed supply tokens, have built-in rebase mechanisms, resulting in dynamic changes to token supply and wallet balances without explicit transfer events. When looking at Etherscan, a wallet may have a balance that does not equal the net of their transactions.
Examples Comparing Rebase Tokens & Fixed Supply Tokens
Fixed Supply Example: USDC
- A wallet with 100 USDC can only increase its balance by receiving a USDC transfer or by interacting with a smart contract that results in a USDC transfer (e.g., a swap transaction on Uniswap).
- From a crypto tax perspective, this is straightforward since there is a clear ledger of transaction history that outlines all acquisitions and disposals of a token.
Rebase Token Example: AMPL
- A wallet initially receiving 897,202.258441316 AMPL, transferring out 1.2 AMPL, and then transferring out 897,201.058441316 AMPL should theoretically have a balance of 0 AMPL.
- However, due to the rebase mechanism, the balance might show 4,796,035.628984949 AMPL because the token supply has increased since the user first received this token.
Rebase Tokens and Taxation
If you hold rebase tokens, it can lead to discrepancies between the balance shown in a CoinTracker and the actual balance in the wallet. You may see 'insufficient balance' errors when selling or transferring tokens, or an outstanding positive balance difference when the token was actually completely sold or transferred out.
To correct this, users need to manually create transactions to adjust their balances by the amount of the token earned or lost via the rebase mechanism.
Examples of Manually Adjustments to Account for Rebase Tokens
Balance Increase Causes 'Insufficient Balance' Error Example
- A wallet purchases 1000 AMPL.
- After holding this token for many days, the rebasing mechanism may have adjusted their balance up to 1200 AMPL.
- If this wallet swaps 1200 AMPL for another token, they will see an 'insufficient balance' errors due to the missing 200 AMPL. The cost basis of the missing 200 AMPL will be treated as $0.00 by default.
- In order to resolve this error and update the cost basis of the missing 200 AMPL, the user may manually add ‘Receive’ transactions to account for the missing 200 AMPL.
- Depending on the specific rebase mechanism used by the token, it may be appropriate to categorize the 200 extra tokens as income.
Balance Decrease Causes 'Balance Difference' Error Example
- A wallet purchases 1000 AMPL.
- After holding this token for many days, the rebasing mechanism may have adjusted their balance down to 700 AMPL.
- If this wallet swaps 700 AMPL for another token, they will see an outstanding balance of 300 that they do not actually hold anymore. This will cause a balance difference error in the wallet in CoinTracker.
- In order to resolve this balance difference, the user may manually add ‘Send’ transactions to represent the disposal of the 300 AMPL.