After reveal, Hopper ETH keeps accruing but payouts stay locked for 7 days from the reveal timestamp. First Ignite does not unlock early. Pulse snapshots and claims wait for unlock.

Locked pot · no admin withdraw

The Hopper is holder money.

Think of it as the tank on the back of the handheld. After reveal, ETH comes from 5% of each secondary NFT sale, 50% of each Ignite ETH fee, 25% of each Ignite $TERM fee (swapped once a router is set), and — once the canonical TERM/ETH pool is live — TermMarket’s 1.5% skim of that volume. Payouts stay locked for 7 days after reveal while that ETH still accrues — first Ignite does not unlock early. During the 24 hours sealed window the full 7.5% royalty stream goes to TermFund, not here. The other half of Ignite ETH buys $TERM and burns. LP seeding is manual ops from TermFund — it does not drain the Hopper. Pulse requires Hopper available() to meet the current ladder rung, and hopperUnlocked().

50% buy/burn $TERM / 50% Hopper

Ignite ETH
Every wake attaches exactly 0.002 ETH. 50% goes to the Hopper as ETH. 50% buys $TERM via the swap router and burns. Not TermFund. Not treasury. Team earns 0 from this fee.

25% as ETH

Ignite $TERM
1,000 $TERM splits 37.5% burn, 25% swapped to ETH for the Hopper (parks until a swap router is set), 37.5% returned to allotment escrow. That last cut is pool refill, not treasury, and does not un-consume this pet’s allotment.

100% of 7.5%

Pre-reveal royalties
From mint until CollectionNFT.reveal(), the full 7.5% creator royalty goes to TermFund to seed $TERM LP. Hopper and treasury get nothing from that stream. Hopper ETH already in the pot is untouched.

5%

Post-reveal secondary sales
After reveal, the same 7.5% royalty hits the RoyaltySplitter and splits live: two-thirds (5% of the sale) here, one-third (2.5%) to treasury. The switch is atomic with metadata + Ignite + $TERM trading.

1.5% of volume

Canonical $TERM trades
When the TERM/ETH pool is live (and trading has been enabled at reveal), TermMarket skims 3% of that pool’s input: 1.5% becomes ETH for the Hopper, 1.0% buys (or already is) $TERM and burns, 0.5% to treasury. Not a transfer tax. Off until the pool is set.
Pulse ladder

Anyone can Pulse when available() ≥ current rung. Permissionless. Snapshot the Lit set, read each Dial, swap that share of Hopper ETH into assigned Stock Tokens (Dial) or $TERM (unfilled Dial). The Hopper pot itself stays ETH.

Bootstrap (once)

0.1 → 0.2 → … → 1.0 ETH

  1. 1. 0.1 ETH
  2. 2. 0.2 ETH
  3. 3. 0.3 ETH
  4. 4. 0.4 ETH
  5. 5. 0.5 ETH
  6. 6. 0.6 ETH
  7. 7. 0.7 ETH
  8. 8. 0.8 ETH
  9. 9. 0.9 ETH
  10. 10. 1.0 ETH

After 1.0 — forever

0.5 → 0.6 → … → 1.0 ETH, then back to 0.5

  1. 1. 0.5 ETH
  2. 2. 0.6 ETH
  3. 3. 0.7 ETH
  4. 4. 0.8 ETH
  5. 5. 0.9 ETH
  6. 6. 1.0 ETH

After the bootstrap Pulse at 1.0 ETH, the next rung is 0.5 ETH — never 0.1 again. Below the current rung, the tank stays ETH. No sweep. No owner rescue.

Who earns

Lit only, pro-rata. A Dormant pet is asleep and earns nothing. Undialed Lit get $TERM.

Pulse credits the TBA when delivery is on, else the owner wallet. Stock Tokens in the TBA travel with the NFT.

What never enters

Pre-reveal royalties (full 7.5% → TermFund). After reveal, team treasury (2.5% of each sale) stays out. The burn half of Ignite ETH never enters (it buys $TERM and burns). Mint is free (0 ETH). If a mint price is later set, paid proceeds are a separate path.

The distributor address can be locked once. After that the owner cannot point the Hopper at a different spender.

Trust model

No withdrawThere is no sweep, skim, or owner rescue on the Hopper.

One outbound pathPulse → Lit terminals (Stock Tokens or $TERM, TBA or owner).

Splitter firstOpenSea royalties must hit RoyaltySplitter, not an EOA.