ST4YCreator fees reward buyers who $ST4Y. Creator fees are manually claimed as SOL into the public reward wallet, then fund an epoch pool shared by every eligible wallet.
Each inbound acquisition creates a lot with its own amount and acquisition time. Effective hold age is calculated from the lots still remaining in a wallet.
If tokens leave, only that amount loses its accumulated age. Remaining lots preserve their history. Newly acquired tokens begin with fresh age.
REWARD WEIGHT = sqrt(current balance) × hold-time multiplier.
wallet share = wallet reward weight / total eligible reward weight
wallet payout = wallet share × epoch reward pool
0–1 MIN—
1–3 MIN—
3–5 MIN—
5–10 MIN—
10–15 MIN—
15–30 MIN—
30–60 MIN—
1H+—
Weights freeze → eligible wallets are ranked → top reward seats are selected → shares are calculated → max wallet cap and minimum payout rules apply → qualifying SOL is paid → unpaid SOL carries forward → the epoch becomes permanent public history → the next epoch starts.
All holders stay indexed, ranked and visible. Only the top 20 eligible wallets by reward weight take a reward seat in a given epoch.
Not every SOL in a pool has to be distributed. SOL stays in the public reward wallet when a wallet sits outside the reward-seat cutoff, when a share is limited by the max wallet share cap, when a calculated payout is below the minimum payout, or when no eligible wallets exist. That SOL is never redistributed inside the same epoch — it is CARRIED FORWARD and is part of the next epoch's available pool.
Creator fees are manually claimed. SOL reaches the public reward wallet, the current pool updates, and the epoch distributes that SOL in LIVE mode. A round with zero eligible wallets is rolled forward; no winner is invented.
DRY RUN records final allocation previews and sends no SOL. LIVE waits for on-chain confirmation, stores the transaction signature, then marks a reward PAID. Only confirmed PAID rewards count as returned.
After a tracking mint is configured, Railway discovers current holders, groups token accounts by owner, backfills available history, persists lots, and updates the public holder directory. Connecting a wallet only highlights its position.
TRACKING MINT: not configured
REWARD WALLET: not configured
A wallet is ELIGIBLE when it holds at least the minimum token balance (—), has reached the minimum effective hold (0 min), and is not on the excluded list (pools, burn, team, and program accounts). Other states: BUILDING AGE, BELOW MIN BALANCE, NO BALANCE, EXCLUDED.
Top 20 eligible wallets take a reward seat. One wallet can receive at most 50% of an epoch pool. Payouts below — SOL are not sent. Anything blocked by these rules stays in the reward wallet and carries forward.
Pool 1.00 SOL. Wallet A: 10,000 tokens held 20 min → sqrt 100 × 2.50x = 250. Wallet B: 2,500 tokens held 1h+ → sqrt 50 × 5.00x = 250. Wallet C: 40,000 tokens bought 2 min ago → sqrt 200 × 0.25x = 50. Total 550. A and B each get ≈ 0.4545 SOL; C gets ≈ 0.0909 SOL.
Holding longer beats buying bigger late. Flipping resets the tokens that leave to zero age.
THE ROOM shows the top 12 wallets by reward weight — hover a figure for its details. The clock and progress bar show how far the current epoch has run. LIVE RANK MOVES and the leaderboard mark ▲ climbs and ▼ drops between refreshes. YOUR SEAT shows your own wallet once connected (read-only, no signing).
Do I need to claim? No. Payouts are sent to your wallet automatically in LIVE mode.
If I sell some, do I lose everything? No. Only the tokens that leave lose their age.
Why did my estimate change? Estimates move with every buy, sell, and aging tick until weights freeze at close.
Where is the proof? On the REWARDS page, every paid reward links to its on-chain transaction.
The public site never stores private keys or signs transactions.
Railway handles payout signing and only marks rewards paid after on-chain confirmation.
POST /api/public/worker
Authorization: Bearer <WORKER_API_SECRET>
Body: { "action": "...", "data": { ... } }
ACTIONS