Rebasing tokens: reconcile balances through shares
A rebasing token can change a holder’s displayed balance without an ordinary transfer. To explain the movement, separate the holder’s shares from the amount of underlying asset represented by each share. A transaction-only ledger can miss this mechanism and misclassify balance growth as a purchase or unexplained income.
Lido’s integration guide describes the distinction between rebasing stETH and its non-rebasing wrapped counterpart. These are implementation-specific examples. Use the applicable contract’s share accounting and rounding rules rather than assuming every rebasing token works identically.
Define the accounting unit
Record whether the observed quantity is shares, rebasing token units, wrapped token units or underlying asset units. Name the conversion function or documented relationship used at the observation block. Mixing these units can make the same economic position look like two different balances.
A useful decomposition is represented balance = holder shares × underlying units per share, subject to the implementation’s integer arithmetic. Track changes in shares separately from changes in the conversion factor. Deposits, transfers and withdrawals may change shares; a rebase can change the represented balance while shares remain constant.
Do not infer an exact rebase from rounded screen displays. Keep raw integer values, decimals and conversion observations where accessible. Rounding residues can accumulate or appear as tiny discrepancies. A residual is a reason to inspect arithmetic and event semantics before inventing an economic explanation.
Hypothetical share reconciliation
Assume a fictional holder owns 80 shares. At the first observation each represents 1.25 underlying units, so the displayed balance is 100. At the next observation the factor is 1.275, making the represented balance 102 with no share transfer. The two-unit increase comes from the conversion factor.
Then the holder receives eight additional shares from a transfer. At the second factor those shares represent 10.2 units. The closing balance is 112.2, decomposed into 100 opening units, two units of factor movement on opening shares and 10.2 units transferred in. The calculation assumes the stated ordering.
If a real interval contains many transfers and factor updates, apply the relevant factor at each event rather than using one closing rate for all flows. All numbers here are hypothetical. A positive represented balance movement does not establish a positive currency return or a guaranteed future distribution.
Share-based worksheet
| Observation | Shares | Conversion factor | Represented units |
|---|---|---|---|
| Opening | 80 | 1.25 | 100 |
| After factor update | 80 | 1.275 | 102 |
| After incoming transfer | 88 | 1.275 | 112.2 |
Add network, contract, block, raw integer quantity and source call to every row. A wrapped representation may keep its token balance unchanged while its underlying conversion changes. Do not conclude that it earned nothing because its displayed token count stayed constant.
Reconcile the residual
Compare observed closing balance with the ledger’s reconstructed balance. Separate residuals into rounding, missing flows, wrong conversion direction and genuinely unresolved items. Do not force a residual into rewards simply because rewards are expected. Negative factor movement also needs its own treatment rather than deletion from a reward-only table.
Keep this accounting bridge separate from supply dilution analysis. A share ledger explains the position’s unit changes; dilution asks how that position compares with a compatible supply denominator. Access and redemption conditions are another separate layer. Clear boundaries prevent one correct calculation from being asked to prove several unrelated claims.
FAQ
Must a balance increase appear as an incoming transfer?
No. A rebase can alter represented token units without changing the holder’s share quantity.
Is a non-rebasing wrapper economically static?
Not necessarily. Its token count can remain constant while the conversion into underlying units changes. Verify the relevant conversion and access conditions.