first print

protocol

how print works

mechanic on the left, numbers on the right. everything is utc. prices are pyth price and exponent, formatted at the edge.

the week

the us stock market is open 32 hours a week. tokenized stocks on solana trade all 168.

every friday at 21:00 utc, print launches two pump.fun coins per stock on the board, PUMP and DUMP, both quoted in that stock token through custom pairs. they trade all weekend.

monday at 13:30 utc the first pyth price update flagged market open is the print. above friday's close, PUMP wins. below, DUMP wins.

freeze
fri 21:00 utc
first print
mon 13:30 utc
stocks per board
8
coins per week
16

the pot

creator fees from both curves flow into one settlement vault per stock. the vault is an associated token account of the quote mint, owned by the pair pda.

the protocol is a fee collector, a snapshot and a distributor. no custom amm, no custom oracle.

anyone can call collect to pull creator fees from pump.fun into the vault. the pot is whatever has been pulled.

creator fee
1 %
paid in
the quote token
vaults
one per stock

the print

the crank posts the pyth update in the same transaction as settle. settle checks the update has status open and a publish time at or after 13:30 utc.

the winner is stored on the pair. a tie, exact integer equality at the feed exponent, voids the pair and refunds both sides.

if there is no valid print within 24 hours of 13:30 utc, a holiday or a feed outage, admin can void and the pot is refunded pro rata.

oracle
pyth pull
status required
open
void window
print + 24 h

the claim

at the settle slot the indexer snapshots every wallet holding the winning coin, excluding the bonding curve, the pumpswap pool and protocol wallets.

the crank posts the merkle root. holders claim with a proof and the vault pays pot times amount over snapshot supply. one claim per wallet per pair.

in v0 the crank is trusted for the snapshot. the full snapshot is published as json with its slot so anyone can recompute it.

payout
pot × amount / supply
claims per wallet
1 per pair
losing coin
stays on curve

instructions

instructionsignerdoes
init_configadminonce
open_boardadmincreates the board for the week
register_pairadmincreates the pair and its vault
collectanyonepulls creator fees into the vault, updates the pot
settlecrankverifies the pyth update, sets the print price and the winner
post_snapshotcrankposts the merkle root and eligible supply, once
claimholderverifies the proof, pays pro rata, marks claimed
voidadminno valid print by print + 24 h, refunds both sides