Creator 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
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