A rebasing balance can change without a transfer: an illustrative 2% rebase turns 100 tokens into 102. Before swapping across chains, check whether the route accounts for that changing balance and what the destination token represents.
On a centralised exchange, the number beside your token is an account entry. In your own wallet, a token contract records your balance, and a rebase can change it automatically. The omnichain example is useful here: one service can route a swap across chains, but the token still follows its own accounting rules.
What changes when a token rebases?
A rebase changes how many tokens your wallet balance shows, even if you made no transfer. Some tokens use “shares”: units that track your portion of a pool, while the token balance reflects what those shares are worth now.
For example, Lido’s stETH tracks shares in a pool of staked ether. If your shares are unchanged but the pool’s value rises, your displayed stETH balance rises too; a loss can make it fall. The displayed amount and the underlying share amount are related, but they are not interchangeable.
This matters because swap quotes and transfer instructions often use token amounts. A quote for 100 tokens may become stale if the balance or share value changes before the transaction runs. A positive rebase may leave enough tokens to send 100; a negative one could leave only 98, causing a 100-token transfer to fail.
How does the balance move through a cross-chain swap?
A cross-chain swap usually has several parts: a source-chain swap or transfer, a cross-chain message, then a destination-chain release or mint. The route may use a wrapped token, which represents an asset on another chain, or a token designed to move between chains.
At each stage, ask whether the amount means rebasing tokens, shares, or a wrapped claim. The distinction decides whether rewards or losses from a rebase travel with you. A destination token may represent the same underlying asset without showing the same rebasing balance.
For an illustrative example, say you hold 100 stETH and request a route for 100. If a positive 2% rebase happens before the source transaction, the displayed balance becomes 102. The transaction may still send 100, but the shares represented by those 100 tokens can differ from the shares represented when you first checked.
Token designs handle this differently. Lido recommends using shares inside apps that need stable accounting, and offers wstETH, a wrapped form whose token balance does not rebase. LayerZero OFT is a token standard for cross-chain transfers; it does not by itself tell you how an underlying rebasing asset’s rewards are counted.
What should you check before signing?
Check the exact token on both chains, not only its name or ticker. Confirm whether the route supports that token’s rebase behaviour, whether the destination asset represents shares or a fixed token amount, and whether the quoted minimum you receive still suits you.
Use the wallet’s current balance and a fresh quote just before signing. If the amount or destination representation is unclear, pause and look for a share-based or wrapped version whose accounting you understand. A failed source transaction can still cost network gas.
Before you act, ask yourself: will I receive the same underlying share of value, or only a displayed number of tokens?
Top comments (0)