Skip to main content

Reactor Deposit Waterfall

This is the protocol’s most important payment structure: exactly what happens to 1 ETH the moment a player calls injectMass(ref). Every number below is a constant or a verified line from UltimateSingularityProtocol.sol.

The waterfall

The code, verbatim

Constants involved:

Worked example — 1 ETH deposit

Assume the gas-sponsor skim is set to 200 bps (2%) of the team chunk: Effective deposit fee: 12.1% gross (10% + 1% + 1% + 0.1% skim) with default wiring — the rest starts working for the depositor immediately as Reactor Nodes.

DUST earning — no ETH leaves

The DUST mint (_earnStardust) is a side effect, not a fee: it calls StardustWheel.earn(user, amount, "deposit") which mints new DUST. Depositors get 500 DUST per ETH in addition to the waterfall above. Personal boosts and global Supernova epochs multiply this (see Stardust).

The VIP pool auto-registration

When the 1% VIP cut arrives, the reactor calls — with the cut attached:
The pool does three things in one call:
  1. Pools the 1% fee into the current week’s pot (70% raffle / 30% dividend).
  2. Credits the depositor’s depositedThisWeek with the gross injection — so a 0.05 ETH deposit satisfies the 0.05 ETH weekly activity floor even though the pool only received 0.0005 ETH.
  3. Auto-registers the depositor as a weekly member (weight = live NFT mass).
This is why no separate “registration” transaction exists for VIP weeks.

NFT auto-invest — no double fee

DarkMatterNFT mints can auto-invest the buyer through injectMassFor(user, ref). That path forwards the stock dividend and earns DUST but deliberately does not forward another Founder/VIP cut — the NFT mint already routed its explicit 40% protocol allocation via routeProtocolAllocation(), and that allocation pays each pool 10%:

Compounding (condenseMatter) — a smaller waterfall

Compounding converts accumulated radiation into nodes and pays a 2% fee on the compounded value:
The nodes themselves are minted from the radiation (radiationUsed / 1_080_000) — the fee is paid out of the radiation’s ETH value, not out of the node count. Compounding also counts toward the VIP weekly activity floor (credited as the gross ethValue).

Failure behavior — nothing is ever lost

Every forward in the waterfall is fail-safe: Queued pool credits are retried by anyone via retryPoolCredits() — permissionless self-healing. The reactor’s available balance view explicitly reserves queued credits:

The casino’s own 1%

Casino deposits (into CrashVault) run a parallel 1% fee at ledger-credit time (vault-sweep.js), with the same half-dev / half-VIP split as the reactor’s deposit fee:
Because the fee is charged as ledger claims against the same custody, the vault always custodies 100% of the assets — the fee rows are chips owned by the dev/VIP addresses, which they withdraw through the same signature-gated flow as players. Next: Reactor Yield & Withdrawal Economics.