← wallwall / docs

docs

how it works, start to finish.
size
1h
24h
liquidity
holders
graduated
alive
dead
reserve
held
home wall census deaths extraction bundles holders program docs X

what wall is

wall is a count of every token that ever graduated the pump.fun bonding curve and one coin whose program answers to that count. the count is called the census and it is kept by an indexer that reads the pump.fun program's own transactions. the coin's creator fees go into a reserve that a program on solana holds, and the program spends that reserve on the coin itself whenever a token graduates, and burns what it has bought whenever a token dies. the site is a readout of the census and the program. nothing on it can be operated and nothing on it is typed in.

the census

a tile is one graduated token. the indexer sees a migrate instruction in the pump.fun program, reads the mint, the creator, the pool it created, the slot and the signature, fetches the token's name and symbol, and writes one row. it also reads, from that same transaction, the SOL that moved to pump.fun's fee account, and keeps it as that tile's cut. the indexer walks history backward from today to the first graduation it can find, so the census starts at the beginning of the curve, not at the day this site went up. while that walk is running the home page says so and prints how far it has gone.

buckets and lift

every tile is placed in one bucket from the words in its name and symbol, by fixed rules listed on the census page. the order of the rules matters and the matched word is kept so the tile page can show why. a bucket's lift is how often its tokens reached 5,000 SOL of pool depth, divided by how often the whole set did, clamped between 0.25 and 5.00. the lifts are recomputed by the program every time a tier event lands, and they are the coin's spending policy: a graduation from a high lift bucket fires a larger buy than one from a bucket that never reached depth.

depth and tiers

the census does not use dollar figures to rank tokens. it reads each alive pool's SOL reserve on every pass of the sweep and keeps the high water mark. a pool that ever held 500 SOL is in the 500 tier. one that ever held 5,000 is in the 5,000 tier. these two thresholds are the only ranking the census has, and the program's lifts are built from the 5,000 tier alone.

death

a tile dies when its pool's SOL reserve falls under 1 SOL. the sweep sees it on its next pass, marks the tile dead with the slot, and queues two measurements: the loss, which is every SOL buyers paid into the curve and the pool across the token's whole life minus every SOL sellers took out, and the abandoned vault, which is the creator fee still sitting in that creator's pump.fun vault. the program records the death, burns held coin, and the keeper writes the obituary.

the obituary

every death gets one memo transaction with a fixed text: the mint, its ordinal, its bucket, how many slots it lived, its tier, its loss, its abandoned vault, whether it was bundled and how much of its volume was washed. the memo is signed by the keeper and stored under the tile. when the loss is still being measured at death time, a second memo is written when it finishes and the tile links the second one. the obituaries are the part of the census that cannot be edited by anyone, including the people who run this site.

bundles and wash

for every tile the indexer reads the first two slots after creation and groups the buyers by the wallet that first funded them. three or more buyers with one funder, or a creator buying through wallets it funded, marks the tile bundled, and the bundle share is the supply those wallets took in those two slots. the wash share is read from the token's swap history: volume where one wallet both bought and sold inside one slot is washed. both numbers are printed per tile, per bucket and for the whole set, and the coin's own trades are run through the same test.

the cut, the loss, the abandoned

three sums are kept by the program's census account. the cut is the SOL that moved to pump.fun's fee account across every migration the indexer has walked. the loss is the summed loss of every dead token whose history has been measured. the abandoned figure is the creator fee left in the vaults of dead tokens. the extraction page prints each one worked, prints the cut per graduation as a read figure rather than an assumed one, and prints the ratio of what the program has returned to its own coin against what pump.fun took. that ratio is small. it is printed anyway.

the reserve

the coin's creator fees are claimed by the keeper and moved into the reserve in the same transaction, so the reserve only ever grows from trading of the coin. the program spends it only through a buy of the coin and only when a graduation lands. the keeper can halt and resume spending and can record what the indexer saw. it cannot withdraw and it cannot sell. the coin the program buys sits in a vault it owns until a death burns some of it.

sizing

a buy is base times lift times silence times threshold. base is the reserve divided by 500. lift is the bucket's lift. silence is the number of slots since the previous graduation divided by 150, clamped between 0.50 and 4.00, so the coin spends hardest when pump.fun has gone quiet. threshold is 1.00 ordinarily, 10.00 when the new tile's ordinal is a multiple of 1,000, 50.00 at a multiple of 10,000 and 200.00 at a multiple of 100,000. a burn at death is one over the alive count, in basis points of the held vault, capped at two percent per death, so every death burns more as fewer tokens are left alive.

nothing runs on a clock

there is no epoch, no snapshot hour and no scheduled run anywhere in wall. the sweep reads the next pool when the previous read returns. the indexer writes a tile when the curve graduates one. the program buys on a graduation and burns on a death. if the curve stops graduating tokens the reserve sits still, and the first buy after the silence is the largest the program ever makes.

the roots

two merkle roots are posted to the program: one over every mint in graduation order and one over every death record in death order. the tile page of any token shows its leaf, the sibling hashes up to the root, and whether the client's own recomputation matches the posted root. the counts printed on the home page are the counts the roots were built over.

what is read where

the coin's price, trades, holders and candles come from birdeye through one function on the server, every second for price and trades and every five seconds for the rest. the program's accounts are read from chain every two seconds. the census is read from the tables every five seconds as one summary. the wall at the top of each page is drawn from a binned summary of the census and moves on its own, and a trade of the coin throws its cursor to a cell chosen by the trade's signature.

words used here

tile: one graduated token. ordinal: its position in graduation order. cut: the SOL that moved to pump.fun's fee account at its graduation. depth: the SOL reserve of its pool. tier: 500 or 5,000 SOL of depth, ever reached. death: its pool under 1 SOL. loss: SOL in minus SOL out across its life. abandoned: creator fee left in its vault at death. bundled: pre bought by one hand in the first two slots. washed: volume one wallet traded with itself inside one slot. lift: a bucket's rate of reaching 5,000 SOL against the whole set. silence: slots since the previous graduation. base: the reserve divided by 500. accruing, discharging, drained, halted: the four modes of the reserve.