For the complete documentation index, see llms.txt. This page is also available as Markdown.

Elastic supply

This page explains what it means to hold a rebasing token, so the balance changes you see don't surprise you. For the exact formulas and bounds, see the token reference; for why the protocol rebases at all, see The peg.

Your balance is a view, not a ledger entry

Most ERC-20s store your displayed balance directly. DAT instead stores internal units at 1e24 precision. Your internal balance changes when DAT is transferred or minted to or from you. Your visible ERC-20 balance is computed from that amount and a global scaling factor:

balanceOf(you) = balanceOfInternal(you) Γ— brilaDatScalingFactor / 1e24

At genesis the scaling factor is 1e18. A rebase multiplies it, changing balanceOf for every holder at once without a transfer or a change to their internal balance.

What a rebase changes β€” and what it doesn't

A scaling-factor change is proportional: it moves every existing balance by the same ratio. Negative rebases only change the scaling factor. On a positive rebase, the rebaser first calculates the damped rebase delta, then diverts rebaseMintPerc of that delta (10% by default) to a separate treasury mint. The remaining delta changes the scaling factor. That mint increases initSupply and therefore dilutes existing holders' percentage ownership.

  • Positive rebase (price above peg): the scaling factor goes up; your balance goes up.

  • Negative rebase (price below peg): the scaling factor goes down; your balance goes down.

A positive rebase is not guaranteed profit, and a negative rebase is not by itself a targeted loss. The mechanism changes token quantity to create market pressure toward the peg; it does not guarantee the resulting market price or your USD value. Farm rewards can increase your internal balance. The treasury harvest accrues assets to the protocol treasury, not directly to individual holders.

Two balances you can read

Reading
Function
Changes on a rebase?

Display balance (what wallets show)

balanceOf(you)

Yes, when the scaling factor moves

Internal balance (rebase-invariant units)

balanceOfInternal(you)

No

Internal units isolate transfers and rewards from scaling-factor changes. They are not, alone, your percentage ownership: positive-rebase treasury mints increase total internal supply (initSupply). For an approximate ownership fraction, compare balanceOfInternal(you) with initSupply. See Read your rebasing balance.

Bounds

Rebases cannot run away. The scaling factor is capped above (maxScalingFactor(), which shrinks as supply grows) and floored below (MIN_SCALING_FACTOR = 1e15, i.e. 0.001Γ—). A single rebase is also dampened β€” see rebaseLag in The peg.

Last updated

Was this helpful?