Where facts come from
Every fact is read from Solana through the server’s RPC, at the time of the reading, and keeps a link to the account or transaction it was read from. Trades and graduations are decoded with pump.fun’s official program IDLs (pump, pump_amm, pump_fees).
| What is read | From | Gives |
|---|---|---|
| The mint | the token’s mint account | supply, decimals; burns when the supply goes down |
| The bonding curve | the pump.fun program’s curve account | creator, curve price, progress, completion |
| The pool | the PumpSwap pool, once graduated | graduation, where it trades |
| Holders | the coin’s token accounts | wallets holding it, the creator’s share |
| History | the transactions since the last chapter | trades, large buys, the creator’s buys and sells |
| Dexscreener | its public API: the coin’s orders and pairs (no key) | DEX paid, community takeover, ads; trades, volume, liquidity, market cap and price change over 24 hours in its deepest pool; boosts; where its people gather |
| X | recent search for posts carrying the coin’s address (when the site has X API access) | how many posts and accounts, likes and reposts; up to four voices: short quotes from accounts with a following, linked to the post |
Posts on X are what people said, not facts about the coin: the chronicler tells them as speech, quotes only a few words, and names only accounts with a following (the rest are counted, never named). A post is quoted without links or addresses; posts marked sensitive are left out. Nothing a post says is ever followed as an instruction.
The origin chapter’s facts
- —the coin’s name and ticker;
- —the creator, as the bonding curve names it;
- —the bonding curve’s first transaction (or the earliest one the RPC still returns);
- —the supply;
- —the bonding curve’s progress, or that it graduated to PumpSwap;
- —how many wallets hold it, and the creator wallet’s share;
- —the market cap from the curve price;
- —the trades in the most recent transactions read.
Later chapters’ facts
| Fact | Counts as worth telling when |
|---|---|
| Graduated from the bonding curve | the curve completed or the PumpSwap pool appeared since the last reading |
| New record of wallets holding the coin | more wallets hold it than at any reading before |
| Tokens burned since the last chapter | the supply went down |
| New high of the market cap from the curve price | the curve price is above every reading before |
| Largest buy | a buy of 5 SOL or more (up to three are listed) |
| The creator bought / sold | the creator’s wallet traded the coin |
| Trades, different wallets trading | there were trades since the last chapter |
| A Dexscreener order (DEX paid, community takeover, an ad) | a new approved order appeared since the last reading |
| A post on X by a known account | an account with a following posted the coin’s address since the last chapter |
| Posts on X carrying the coin’s address | a burst of posts since the last chapter |
Facts that are not news on their own (the current holders, the curve’s progress) are given too, as context.
What the agent sees
The facts arrive numbered, one per line. This is the shape (from the example on the agent page):
[f1] Coin: Stone Owl ($SOWL) [f2] New record of wallets holding the coin: 1,204 (the previous record was 980) [f3] Largest buy: 6.2 SOL by Ab12…xY9z at 2026-11-02 14:05 UTC [f4] Trades: 311 (190 buys, 121 sells) (since the last chapter) [f5] Different wallets trading: 164 (since the last chapter)
Under every chapter, “The facts” lists the ones it cited, each linking to Solscan. Only cited facts go into the canonical text that is hashed and carved.
How numbers are checked
Before a chapter is kept, code takes every number in its title and text and looks for it in the facts the chapter cites. One number that is not there and the draft is refused: the agent cannot round, add up, estimate or invent. Only single digits (“three travellers”) and the chapter’s own number are free. The coin’s own name and ticker are left out of this check, so a coin called “Pepe 2” can still be named.
Limits
- —A reading reads at most
HISTORY_LIMITtransactions (500 by default). A very busy coin may be read in part; then its facts say “in the N most recent transactions read”. - —Holders are the wallets with a balance in the coin’s token accounts, each wallet counted once. Pools and curves holding the coin count as holders too.
- —The market cap is the supply times the curve price, in SOL. It is a fact about the curve, not a valuation.
- —An RPC that drops old history shows the earliest transaction it still has; the fact then says “earliest found”, not “first”.