Home · docs
How the meadow works
Every number on this page is read from the program's config on chain.
- Overview
- One night
- Weight
- Brightness
- Payout
- Fees
- Step by step
- Parameters
- Trust
- Compromises
- Program
- Errors
- Verify
- FAQ
Overview
Every coin launched here is a firefly. Its creator on pump.fun is a program account of its own (the Fees PDA), so its creator fees are split by rules nobody can change on the fly: 40 % to the dev, 40 % to the coin's night pot, 10 % to buy $GLOW and burn it, 10 % to the treasury.
Once a day, at a moment nobody can know in advance, the coin's night comes. Holders press Blink. If the blinkers hold 10 % of the circulating supply and at least 5 wallets are lit, the night is lit: 50 % of the pot buys the coin back and burns it, 50 % is paid to the blinkers. If not, the night is dark and the pot grows for the next one.
One night
| Phase | Length | What happens |
|---|---|---|
| Roll | every 10 min | A pad-wide clock ticks. Each tick's randomness mixes a committed hash chain with a future slot hash; every coin rolls against it. A coin's night is its first hit of the day (exactly uniform over the day; the last eligible tick always hits). |
| Dusk | 5 min | The night is open and public. The circulating supply is measured now and fixes the night's target, wallet cap and minimum. Nobody can blink yet. |
| Blink | 10 min | Holders with at least 10,000 tokens press Blink, once per wallet per night. Blink locks their tokens (up to the wallet cap) until the seal. |
| Seal | 30 min | Anyone seals the blinks (the keeper does it right after the window) and the locked tokens go back to their wallets. Then anyone finalizes: the target is re-measured, the higher of dusk and now counts; lit or dark. |
| Payout | 30 d | Lit: blinkers claim their share (the keeper pushes claims too). After the claim window, leftovers go back to the pot. |
A coin's first night comes the day after its launch. A coin has at most one night a day. A night whose first hit was cranked too late is recorded as missed: the pot carries over and nobody's brightness changes.
Weight
Blink locks min(your balance, wallet cap) in the blink's own escrow until the seal
weight = the locked amount
wallet cap = 2 % of the circulating supply at dusk
lit wallet = weight >= 10,000 tokens
night is lit when sum(weight) >= target and lit wallets >= 5
target = 10 % of circulating, measured at dusk AND at finalize (the higher one counts)
circulating = supply - tokens on the bonding curve - tokens in the canonical PumpSwap pool
The tokens you blink with are locked in an escrow that only the program can move, from the blink until the seal (a few minutes after the window). Right after the seal the keeper returns them to your wallet; you can also unlock them yourself on Mine, and your next blink on that coin unlocks the previous one first. While locked they cannot be sold or blinked again, so one bag counts once.
Brightness
Brightness is per wallet per coin, from 1 to 10. A newcomer starts at 1; every lit night you blink in a row adds 1; every night of that coin you skip halves it (never below 1). Missed nights do not count as skipped.
reward weight = min(weight, last night's weight) x brightness + (weight - last night's weight, if more)
your share = reward x your reward weight / sum of reward weights
The bonus only multiplies the balance that already stood through your previous night, so moving a bag into a bright wallet right before a night does not farm the streak.
Payout
When a night is lit, its pot is split: 50 % goes to the coin's buyback bucket (spent by the program in small price-guarded chunks: buy, then burn the whole balance), 50 % is reserved for the blinkers. Claiming pays your share plus the rent of your blink account back. A dark night moves nothing.
The buyback and the $GLOW buy are guarded: 7 fresh price observations must agree, the live price may not be above their median by more than the slippage, at most 1 % price impact per chunk, one program buy per coin per gap.
Fees
| Launch fee | 0.02 SOL |
| Max dev buy (same transaction as the launch) | 5 SOL |
| Creator fees to the dev | 40 % |
| Creator fees to the night pot | 40 % |
| Creator fees to $GLOW buy + burn | 10 % |
| Creator fees to the treasury | 10 % |
| Blink account rent (back on claim / close) | ~0.0019 SOL |
| Brightness account rent, first blink on a coin (back when you close it) | ~0.0016 SOL |
Step by step, with numbers
- A coin has 800,000,000 tokens circulating at dusk. The target is 10 %: 80,000,000 tokens of weight; the wallet cap is 16,000,000; the pot is 2.00 SOL.
- During the window 9 wallets blink. Three hold 30,000,000 each: each locks 16,000,000 (the cap). Five lock 7,000,000 each, one locks 1,000,000.
- At the seal the locked amounts are the weights. Sum of weights: 84,000,000 ≥ target, 9 lit wallets ≥ 5: the night is lit.
- The locked tokens go back to the nine wallets. 1.00 SOL goes to the buyback bucket and is spent buying the coin and burning it. 1.00 SOL is shared by reward weight: a capped holder with brightness 3 whose last weight was also 16,000,000 counts 48,000,000.
Transactions you sign: launch (create + dev buy, alone in its transaction), blink (during the window: locks your tokens; it also commits the outcome of your previous blink on that coin and unlocks it), unlock (after the seal, if the keeper has not), claim (lit nights) or close blink (dark nights, rent back). Everything else is a crank anyone may call: tick, dusk, seal, finalize, sweep, collect, buyback, buy $GLOW.
Parameters (live)
| Reading the config. |
Trust points
- Attestor (hash chain). Commits a chain of hashes before the slots that mix into each tick are known, so it cannot pick a night. It learns a tick's randomness only when the target slot passes (about the tick start). It can stall a reveal; then anyone arms a fallback beacon of three future leader windows and the tick still settles. The guardian can revoke it instantly; a new key waits 3 days.
- Keeper. Cranks ticks, dusks, seals, finalizes, claims, buybacks. Every crank is permissionless: if the keeper stops, anyone can run them. It never holds user funds.
- firefly-svc. Serves the night feed to this site (who blinked, live weights). The chain is the source of truth; the site falls back to reading the chain when the service is down.
- Admin. Can pause launches, propose parameter changes (they wait 3 days and the guardian can cancel), set the treasury, set $GLOW once. Cannot move any pot, bucket, claim or blink.
- pump.fun. Its admin keeps its own powers over every curve (as for every coin launched anywhere on pump.fun).
Compromises, in plain words
- The chain cannot read a past balance, so a blink locks the tokens it counts until the seal. For those few minutes you cannot sell them. The keeper unlocks them right after the seal; anyone can, and so can you.
- The wallet cap is not sybil-proof: a whale split into many wallets can light a night alone. He gains nothing over his pro-rata share (rewards follow weight, new wallets start at brightness 1) and the burn half helps every holder.
- The target is measured at dusk and again at finalize, and the higher one counts, so parking tokens in the curve or pool around the dusk does not lower it. Buying from the curve or pulling liquidity right before either moment can raise it (a dark night; the pot carries over).
- Only the canonical token account counts: tokens in other accounts, other pools or lockers cannot blink, and other pools are not subtracted from circulating (a slightly harder target).
- Whoever settles a tick still has one choice left: reveal on time, or let a beacon nobody knows decide. It cannot see a night before choosing.
- The night's start is unknowable until dusk, on purpose: this site never shows a countdown to "the next night", only the time to the next roll.
Program
Program id FireajsB4JxUXXNx5gLW4N9Ff17LGnzXeAthV26VnnQq.
| Account | Seeds | Holds |
|---|---|---|
| Config | "config" | admin, treasury, attestor, guardian, params (+ pending, timelocked), $GLOW mint |
| Sky | "sky" | the clock: genesis, tick timing, next tick and its target slot, hash chains, the $GLOW jar's books |
| Day | "day", d | the randomness of every settled tick of day d (proves first hits) |
| Coin | "coin", mint | dev, metadata, split, SOL books (pot, buyback, rewards owed), night counters |
| Fees | "fees", mint | system account: the coin's pump creator, holds all its SOL books |
| Night | "night", mint, n | one night: timeline, circulating / target / cap at dusk, blinkers, weights, lit or dark, pot split, claims |
| Blink | "blink", night, wallet | locked amount, its escrow (the Blink's own token account), brightness, weight, reward weight (rent paid by you, back on claim / close / unlock) |
| Glow | "glow", mint, wallet | your brightness on a coin, last weight, lit nights, earned |
| Jar / buyer | "jar" / "buyer" | $GLOW buyback SOL / the account that makes every program buy (holds only its rent floor) |
| Instruction | Who | What |
|---|---|---|
| launch | dev | create on pump.fun (creator = Fees PDA) + dev buy, alone in its transaction |
| blink | holder | during the window, once per wallet per night; locks the tokens in the blink's escrow |
| unlock | anyone (pays the wallet) | returns the locked tokens and the escrow rent once the blink is sealed or its night is over |
| claim / close_blink | anyone (pays the wallet) | lit nights pay the share + rent; dark nights return the rent |
| tick / settle_fallback / void_ticks | anyone | settle the clock (reveal, fallback beacon, stale ticks) |
| dusk / record_missed | anyone | open a coin's night at its first hit / record it as missed |
| seal / finalize / sweep_night | anyone | fix weights, decide lit or dark, return unclaimed rewards to the pot |
| collect / claim_dev / collect_treasury | anyone | split creator fees; pay only to the dev / the treasury |
| observe / buyback / buy_glow | anyone | price observations; guarded buy + burn of the coin / of $GLOW |
| set_paused, propose_*, accept_*, cancel_*, set_pad_mint | admin / guardian | timelocked governance; never moves funds |
Errors
| Reading the errors. |
Verify on chain
- Program: open it in the explorer. The site reads only its accounts; every number here is in them.
- Every transaction this site sends opens at /tx/<signature> with its program events decoded.
- A night: /night/<mint>/<n> shows its blinkers, weights and result, read from its Night and Blink accounts.
- Invariant you can check any time: a coin's Fees account balance equals its rent floor + dev share waiting + treasury waiting + pot + buyback + rewards owed.
FAQ
Can anyone know when a night comes?
No. Not the team, not the keeper. The randomness exists only once the tick's target slot passes; five minutes of dusk are the warning.
Do I need to do anything after Blink?
No. Your tokens are locked until the seal, then returned; claims are pushed to you by the keeper. You can unlock and claim yourself on Mine.
What if I miss a night?
Your brightness on that coin halves. Nothing else happens.
Where does $GLOW come from?
10 % of every coin's creator fees fill a jar that buys $GLOW and burns it, in guarded chunks.