Skip to content

    Press / to search, [ and ] for the previous and next page.

    $BACK

    Rewards & claims

    There is nothing to stake. Every token is staked the moment it is minted, earns USDC from the next distribution and burns on schedule; what it earned stays claimable.

    Staked at mint

    When a loss mints BACK for you, the Tokenomics contract hands the tokens straight to the Staking contract, which records them in your name. From that moment your tokens share in every distribution. There is no stake transaction, no unstake, no cooldown and no lock-up, and no way to move the tokens: the token contract’s transfer, transferFrom and approve always revert. The balance a wallet or an explorer shows is the Staking contract’s live count of your tokens.

    The burn schedule

    Tokens burn in daily batches at 00:00 UTC. A token minted at t burns at the first midnight UTC at or after t + countdown, with the countdown at 7 days; the owner can set it within 1 day–30 days through the timelock, and a change applies to tokens minted after it. Every mint of an account on one burn day forms one batch, and the app shows your batches with their days.

    Example: a loss settled at Mon, Jan 5, 15:30 UTC. The countdown ends at Mon, Jan 12, 15:30 UTC, so the tokens burn at Tue, Jan 13, 00:00 UTC, the first midnight after that. A loss settled just before midnight is live for barely more than the countdown, one settled just after it for almost a day more.

    The life of a tokenA loss mints tokens that are staked at once and earn from every distribution. After the countdown they burn at the next midnight UTC; what they earned stays claimable.time →Mint basis / tokens minted (flat rate)minted and staked at onceearning USDC from every distributioncountdowncountdown endsmidnight UTC: burnedthe first after the countdownwhat it earned stays claimable
    The life of a token. A loss mints tokens that are staked at once and earn from every distribution. After the countdown they burn at the next midnight UTC; what they earned stays claimable.

    Two rules follow from the countdown not running before the LP fills:

    • Before the tracked LP first reaches $500,000, nothing burns: the tokens minted until then are unscheduled. The settlement that first brings the tracked LP to the cap starts every countdown at once: every unscheduled token gets the burn day the countdown gives that settlement, and later mints count from their own settlement. If the LP later falls below the cap, nothing restarts.
    • Nothing runs by itself. A burn is date arithmetic the contract applies the next time it touches an account or distributes: your balance and the supply are computed as of now, batches past their day excluded, whether or not a transaction has recorded the burn yet.

    Claims

    Rewards accrue to your tokens through a global accumulator and are credited to your account whenever it is settled, at a mint or a claim; a read computes the same amount without writing it. Claim whenever you like: the claim moves your rewards, in USDC, from the staking contract’s balance on the Exchange to yours, from where you can trade with them or withdraw them. A claim settles the account first, so it includes what each batch earned up to its burn.

    Two ways to claim:

    • From the app, with a wallet signature: the signed Claim message goes to the relayer, which submits it as claimBySig. A session key cannot sign it.
    • From your wallet, by calling claim() on the staking contract yourself: it needs a little HYPE for gas and works whether or not our services are up.

    To see your unclaimed rewards without a transaction, read pendingReward(address) on the staking contract; it includes only rewards that have already been distributed. What you earned stays claimable after your last token has burned, with no deadline.

    How rewards arrive

    Rewards reach stakers in two steps:

    1. The Exchange collects the stakers’ share of every fee. Only the staking contract can call pushStakerFees on it, which forwards that share, plus any LP value above $500,000, to the staking contract’s balance.
    2. A distribution then spreads whatever the staking contract newly received over the tokens live at that moment. Distributing is reserved for the distributor keeper’s distribute call and for signed Distribute requests submitted through the relayer; it always pushes the fees first.

    Our keeper distributes every 30 seconds when at least $100 is waiting, so nobody has to think about it. While less than 1 BACK is live in total, new rewards wait until there is enough stake to share them. Rewards are not streamed: a distribution is shared by the tokens live at that moment, in proportion, so a batch earns every distribution up to the midnight it burns at.

    The math

    The contract keeps one number, the rewards per staked token since the start, scaled by 10^36: each distribution adds the new USDC divided by the live stake. Each account stores its stake, its credited rewards and the accumulator’s value at its last settlement.

    Burns make the stake fall on a schedule, so the accumulator has a clock. Every distribution first walks the days since the last one: for each day with tokens scheduled to burn it records the accumulator as it stood at that midnight (nothing has moved it since, because the accumulator only moves at distributions) and takes the batch out of the stake. An account’s settlement then walks its own days since its last settlement: each batch that has burned earns from the account’s last accumulator value to the value recorded for its burn day, and the rest of the stake earns to the current value.

    reward of a batch burned on day d = amount · (accAtDayStart[d] − accThen) / P
    reward of the live stake          = stake  · (acc − accThen) / P
    

    Every piece rounds down and every distribution rounds its step down, so the total credited never exceeds what was distributed. The day walk is bounded by the longest countdown the owner can set, so the gas of a settlement does not depend on how long the account was away.

    Last updated: