Audit a wallet
Open somebody else’s basket.
This reads nothing but the chain, so it works on any wallet a fee stream lands in — ours included. An instrument that only runs on its author’s own numbers is a brochure.
What this cannot tell you
It reads a window, not a history
At most 250 signatures, and only as many of those as fit inside a 12s budget. A distribution wallet can sign more than that in an hour, and one we read did. The window is printed beside every figure it produces, because an unstated window is how “we distributed everything” gets published.
It does not know why money left
Direction and amount are facts. Purpose is not. A debit here is money that left with a signature attached — whether it reached holders, an exchange or the operator’s own second wallet is not visible from flows alone.
SOL only
Creator fees arrive as SOL, so that is what is measured. A wallet that converts to a token and distributes that will show the conversion as an outflow and go quiet afterwards.
A gap is not a theft
Most gaps are the window’s edge: money that arrived inside it and left before it opened. That is a real answer, and a different one from “distributed”. The page states the difference and stops there.
Do it without this page
curl -s https://api.mainnet-beta.solana.com -H 'content-type: application/json' -d '{
"jsonrpc":"2.0","id":1,"method":"getSignaturesForAddress",
"params":["<wallet>",{"limit":250}]
}' | jq -r '.result[].signature'
# then, per signature, the wallet's own before-and-after
curl -s https://api.mainnet-beta.solana.com -H 'content-type: application/json' -d '{
"jsonrpc":"2.0","id":1,"method":"getTransaction",
"params":["<signature>",{"encoding":"json","maxSupportedTransactionVersion":0}]
}' | jq '{pre:.result.meta.preBalances, post:.result.meta.postBalances}'Subtract the wallet’s index in preBalances from the same index in postBalances and you have every number this page shows. No account, no key, and no dependence on this site being up.