pump.fun creator-fee sharing, reverse-indexed from chain state
payblame
git blame, but for money.
Type a GitHub login, a mint or a wallet. payblame prints every pump.fun coin that routes creator fees to it and what is still unclaimed. Ten memcmp probes on chain state. No indexer, no pump.fun API.
try or type your own login
listed != involved: recipients did not necessarily launch, endorse or know about these coins. The ledger never names anyone; a login prints only when you type it.
reading the ledger snapshot ...
one getProgramAccounts on pump_fees
format b / one coin, declared vs on-chain
coin says one thing. chain says another.
A coin's name and description are only text. Its SharingConfig is the part the chain enforces. payblame prints both and diffs them.
sharingconfig / 1024 bytes / pump_fees
ten pins. ten slots.
A SharingConfig stores its shareholders as a Borsh Vec at byte 80: a 32-byte pubkey and a u16 bps, 34 bytes a slot, ten slots at most. The layout never moves, so slot i always starts at byte 80 + 34i. The PB-10 has one pin per slot.
memcmp { offset: 80 + 34 * i } / i = 0 .. 9
fixed stride, so the node does the search.
Ten getProgramAccounts calls, one per slot, each with memcmp at 80 + 34i and dataSlice length 0. The node returns pubkeys only. 678,295 SharingConfigs (count at 2026-09-25 12:40Z) never leave the RPC.
recorded mainnet account 4MQJzmfJ..Cab2P, bytes 0x40-0x1af; the admin and shareholder keys are SAMPLE keys of the same length, every other byte is as recorded. slots 0 and 1 hold data; slots 2-9 are zeros.
format a / format b / live on mainnet, read-only
run payblame on yourself.
A GitHub login prints every coin that routes fees to it, the bps, what is pending in each coin's vaults and what sits unclaimed. A mint prints its fee pipe and the diff. A wallet prints what pays it.
try or type your own login, ghid:<id> or wallet
pending = still in the coin's creator vaults, not yet distributed. unclaimed = distributed to the social fee account, not yet claimed. they are different lines on purpose.
src / MIT / no pump.fun endpoints
measured on this mac.
$ npm i payblameplanned: not yet on npmthe repo
tear it off.
npm i payblametear off your receipt. pull the paper past the scissors line, or focus it and press Enter.