Skip to content

Documentation

Rewards

What a reward actually is

A reward is an allocation of a third-party tokenized equity instrument — an xStocks tracker certificate — purchased by the reward vault using value earmarked from trading fees. It is not a share in the referenced company, it carries no shareholder voting rights, and the referenced company has not necessarily endorsed the instrument or STOCKTRESS.

Time-weighted accounting

A single balance snapshot rewards whoever happened to hold at one instant. STOCKTRESS instead computes each wallet's weight as the integral of its balance over the epoch:

weight(wallet) = ∫ balance(wallet, time) dt

Per epoch, the indexer:

  • Indexes every finalized balance change.
  • Aggregates all token accounts by wallet owner.
  • Calculates balance-seconds.
  • Excludes protocol-owned accounts.
  • Allocates the purchased instrument proportionally.
  • Adds the result to each wallet's cumulative allocation.
  • Generates a deterministic Merkle tree.
  • Publishes the dataset hash and the Merkle root.
  • Requires reviewed multisig approval before publication.

Exclusions

Excluded from weighting: the DBC base vault, the DBC pool authority, DAMM pool vaults, the reward vault itself, burn and incinerator accounts, and other program-owned non-user balances. Exclusion is decided by verifying account ownership and the account's relationship to the pool — never by a bare address list alone.

Numerical discipline

Balance-seconds routinely exceed the safe integer range of JavaScript numbers. All weights are serialised as decimal strings, and all balances, weights, claims and allocations use bigint, BN or decimal-safe strings. Floating point is never used for any of them. Displayed balances apply the Token-2022 scaled UI multiplier only at presentation time: displayed = raw × multiplier.

Cumulative claims

Roots are cumulative. A claim pays out cumulative allocation minus the amount already claimed, so a missed epoch is never lost and a claim can never be replayed for more than its entitlement. Claims never expire.

Proof Tape

Every distribution publishes its epoch, start and end slots, purchased amount, purchase transaction, average execution price, total eligible balance-seconds, excluded accounts, the full allocation dataset, its SHA-256, the Merkle root, the root publication transaction, the root-authority multisig, claim transactions, unclaimed liability, vault balance and reconciliation status — with the dataset available for download so anyone can recompute the root independently.