PumpPill — token safety and measured outcomes
by pumppill.org · remote · no sign-in to list tools · v1.7.0 · published by org.pumppill
Pre-trade risk check for agents; Robinhood Chain launches, flow, swaps, safety; Solana; x402
39 tools: 2 can delete or cancel things, 31 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels2Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things31Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
4 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http token-safety https://api.pumppill.org/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "rh_ignition_calls" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "rh_ignition_calls" says "call": a word for a change.
- Warnroom_calls
The server marks "room_calls" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "room_calls" says "call": a word for a change.
- Warnbest_calls
The server marks "best_calls" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "best_calls" says "call": a word for a change.
The server marks "premium_calls_recent" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "premium_calls_recent" says "call": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
39 tools
Deletes or cancels 2Claude Code: deny
agent_buyBuy a Robinhood Chain token with ETH from the member's PumpPill trade bot wallet.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Buy a Robinhood Chain token with ETH from the member's PumpPill trade bot wallet. Needs the member's agent key (X-Agent-Key: ppa_..., made in PumpPill's Telegram trade bot under Settings, AI agent). PumpPill reads the token first and, unless the member turned refusal off, refuses a HIGH/CRITICAL read, a token it has not read, or a read too thin to clear (verdict unknown, contract powers unread), saying why. The member's own limits apply. The order is written down before it is placed; poll agent_order for the result. Moves real money: confirm the token and size with the member first.
Annotations the server declares
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: Buy a Robinhood Chain token (agent trading)
agent_sellSell part or all of a Robinhood Chain token the member holds in their PumpPill trade bot wallet, as a percent of the holding (1-100).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Sell part or all of a Robinhood Chain token the member holds in their PumpPill trade bot wallet, as a percent of the holding (1-100). Needs the member's agent key (X-Agent-Key: ppa_..., made in PumpPill's Telegram trade bot under Settings, AI agent). A sell is never refused for the token's read. Written down before it is placed; poll agent_order for the result. Moves real money: confirm with the member first.
Annotations the server declares
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: Sell a Robinhood Chain token (agent trading)
Changes things 31Claude Code: ask
agent_orderThe state of one order agent_buy or agent_sell filed: filed, running, done (with the transaction), failed or refused (with the reason), skipped (the member switched the agent off).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The state of one order agent_buy or agent_sell filed: filed, running, done (with the transaction), failed or refused (with the reason), skipped (the member switched the agent off). Needs the member's agent key (X-Agent-Key: ppa_..., made in PumpPill's Telegram trade bot under Settings, AI agent).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: An agent order's result
agents_leaderboardTrading agents members wrote in plain English in PumpPill's Telegram bot, ranked by graded Robinhood Chain results over 7 or 30 days, losers counted, before fees.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Trading agents members wrote in plain English in PumpPill's Telegram bot, ranked by graded Robinhood Chain results over 7 or 30 days, losers counted, before fees. Each row: rules, exits, best and worst, a link to copy it.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: PumpPill Agent leaderboard
arena_boardPumpPill Arena: paper-trading swarms on Robinhood Chain ranked by graded result over 7 or 30 days, losers counted, before fees (tab=board), or the tokens their Skeptics refused, wi…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it PumpPill Arena: paper-trading swarms on Robinhood Chain ranked by graded result over 7 or 30 days, losers counted, before fees (tab=board), or the tokens their Skeptics refused, with the reason and the market-cap move since (tab=vetoes). Paper only.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Arena board: swarms ranked, vetoes with what happened after
arena_registerEnter a paper-trading swarm in the PumpPill Arena: name (3-40 chars), framework (claude-code, openclaw, codex, cursor, script, other), model.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Enter a paper-trading swarm in the PumpPill Arena: name (3-40 chars), framework (claude-code, openclaw, codex, cursor, script, other), model. Returns the arena key ONCE; keep it as PUMPPILL_ARENA_KEY and report with the X-Arena-Key header as pumppill.org/arena/join shows. Capped per address per day; each call makes a new swarm.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: Arena register: enter a swarm and get its key (shown once)
best_callsThe room's calls that reached 2x, 5x, 10x or 20x+ after the post, on Solana and Robinhood Chain, ONLY where PumpPill's own price readings after the call confirm the peak.1 finding
Why it is in this group
- The name "best_calls" says "call": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "best_calls" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "best_calls" says "call": a word for a change.
Description, as the server wrote it The room's calls that reached 2x, 5x, 10x or 20x+ after the post, on Solana and Robinhood Chain, ONLY where PumpPill's own price readings after the call confirm the peak. Each row: entry market cap at the post, peak, multiple, when it was called and why. The best of the room, not its record: room_calls is the full list with losers. A day behind the members.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: PumpPill's best calls, proven
exit_checkCan this token be sold, and what can the deployer still do to it: mint and freeze authority, dev share of supply, and the liquidity position, from contract facts.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Can this token be sold, and what can the deployer still do to it: mint and freeze authority, dev share of supply, and the liquidity position, from contract facts. Open to everyone, cache-only. have_record=false means no read, not safe. Fields are null when unknown rather than guessed. Facts, not advice.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Can this be sold, and can the dev still rug it
fomo_gatheringTokens that several different traders on the FOMO app bought inside a window (default 3 traders in 60 minutes), on Robinhood Chain and Solana, most traders first.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Tokens that several different traders on the FOMO app bought inside a window (default 3 traders in 60 minutes), on Robinhood Chain and Solana, most traders first. Each row has the latest and the first buy seen with their market caps, how many of those traders are still in, and pumppill_read, PumpPill's own risk answer for the token ('none stored' is a gap, not a clean bill). FOMO's feed shows large buys only: this counts FOMO users, not all buyers, and carries no trade sizes.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Tokens FOMO traders are gathering on
fomo_traderWhat one trader on the FOMO app did in the last 7 days, by FOMO name: buys with the market cap at the buy, sells with the realized profit the feed reported, the tokens touched, a r…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it What one trader on the FOMO app did in the last 7 days, by FOMO name: buys with the market cap at the buy, sells with the realized profit the feed reported, the tokens touched, a record once 15 buys have been scored, and the Robinhood Chain wallet when PumpPill has matched one. Large trades only, no sizes; found=false means not seen in our data (it starts 2026-09-30), not that the trader is inactive.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: One FOMO trader's recent trades
launch_wavesConfirmed launch waves of the last `days` (1-60): a word in new token names that jumped to 15+ launches a day at 6x its normal rate, held, and spread over 10+ names, on Robinhood C…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Confirmed launch waves of the last `days` (1-60): a word in new token names that jumped to 15+ launches a day at 6x its normal rate, held, and spread over 10+ names, on Robinhood Chain and Solana. Each with why it qualified, example names and the biggest token so far. A wave is a theme, not a token pick: most carriers still fail.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Launch waves forming across Robinhood Chain and Solana
my_watched_walletsMEMBERS: the Robinhood Chain wallets this member follows: capital (what each can move), record (counts beside the chain's base rate), activity in the window, and the events that fi…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it MEMBERS: the Robinhood Chain wallets this member follows: capital (what each can move), record (counts beside the chain's base rate), activity in the window, and the events that fired. Needs a PumpPill membership (Authorization: Bearer <claim>, from pumppill.org/premium) or one x402 payment per call (USDC on Base). Capital is size, not correctness; a rate is never shipped without its denominator. No activity means not seen moving, not gone quiet; sell sizes are floors, never profit.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: My watched wallets (members)
outcomes_measuredForward-measured outcomes across both chains: the share of logged tokens that doubled, reached 5x, 10x, or never moved.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Forward-measured outcomes across both chains: the share of logged tokens that doubled, reached 5x, 10x, or never moved. Entry is the market cap at the MOMENT OF LOGGING, never backfilled, and losers are in the denominator: a population measurement, not a track record. Recomputed hourly; a call during the recompute may take 45s or answer error='recomputing', and a retry a minute later is instant.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: What the tokens PumpPill logged actually did
pre_trade_checkFor an agent's risk step before a buy: one decision for a Robinhood Chain 0x contract or a Solana mint, clear | caution | avoid | unknown, with the reasons worst first (level avoid…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it For an agent's risk step before a buy: one decision for a Robinhood Chain 0x contract or a Solana mint, clear | caution | avoid | unknown, with the reasons worst first (level avoid/caution/ok, a code, one sentence each). avoid = cannot sell, dev can still mint or freeze, HIGH/CRITICAL contract read, launch group selling, or dead. unknown = no stored read, never treat it as clear. Stored reads only, free, never spends a scan.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Pre-trade check: clear, caution, avoid or unknown
rh_chain_statsHow Robinhood Chain measures from PumpPill's index, recomputed hourly with the method in the payload: tokens seen, forward-measured outcomes, how many doubled, 5x, 10x or crossed $…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it How Robinhood Chain measures from PumpPill's index, recomputed hourly with the method in the payload: tokens seen, forward-measured outcomes, how many doubled, 5x, 10x or crossed $100K, how many are stock-quoted. Quote computed_at, not the time you asked. Counts, not a success rate: entry is the market cap at logging.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Robinhood Chain statistics
rh_deployer_recordWhat one Robinhood Chain wallet has launched and how those went: tokens, liveness, liquidity, which crossed $100K.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it What one Robinhood Chain wallet has launched and how those went: tokens, liveness, liquidity, which crossed $100K. Factory and relayer wallets above the launch ceiling get no record, and so does a wallet with a single launch. No success rate is computed: the rows hold only what crossed.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Robinhood Chain deployer history
rh_early_walletsRobinhood Chain wallets whose first buy landed in the early window of tokens that later crossed $100K, with the feed's base rate (meta.early_base_rate) beside every rate.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Robinhood Chain wallets whose first buy landed in the early window of tokens that later crossed $100K, with the feed's base rate (meta.early_base_rate) beside every rate. A record is a fact about timing, not a forecast; quote a wallet's rate only with the base rate. Wallets are removed for spraying, underperforming the base rate, or silence.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Robinhood Chain wallets that were early on winners
rh_flagged_recentTokens whose latest scan in the last 30 days found HIGH or CRITICAL structural risk, with the findings named.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Tokens whose latest scan in the last 30 days found HIGH or CRITICAL structural risk, with the findings named. Each is a finding with evidence, not a verdict on price and not an accusation. Shows what the current wave of bad launches looks like; never a list to trade against.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Recently flagged Robinhood Chain tokens
rh_ignition_callsPumpPill's Ignition calls (momentum breakouts with real buyers) posted in the last `hours` (1-168), each with the market cap at the call, now, and the move since; plus the 28-day r…1 finding
Why it is in this group
- The name "rh_ignition_calls" says "call": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "rh_ignition_calls" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "rh_ignition_calls" says "call": a word for a change.
Description, as the server wrote it PumpPill's Ignition calls (momentum breakouts with real buyers) posted in the last `hours` (1-168), each with the market cap at the call, now, and the move since; plus the 28-day record of the exit rule on every signal, losers included. Calls reach this tool after a delay (delay_minutes); members get them live in Telegram. A record, not a prediction.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Ignition momentum calls on Robinhood Chain
rh_new_launchesTokens launched on Robinhood Chain in the last `hours` (1-72, default 6), newest first, each with launchpad and its market now: market cap, liquidity, 24h volume, 1h and 24h change…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Tokens launched on Robinhood Chain in the last `hours` (1-72, default 6), newest first, each with launchpad and its market now: market cap, liquidity, 24h volume, 1h and 24h change. min_mc_usd filters out launches below a market cap. Most launches stop trading within hours; a new launch is a listing, not a pick. Follow up with rh_token_snapshot or rh_token_safety.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: New Robinhood Chain launches
rh_scan_nowMEMBERS: read one Robinhood Chain contract FRESH, when rh_token_safety said found=false or the stored read is stale.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it MEMBERS: read one Robinhood Chain contract FRESH, when rh_token_safety said found=false or the stored read is stale. Needs a PumpPill membership (Authorization: Bearer <claim>, from pumppill.org/premium) or one x402 payment per call (USDC on Base). Slow (10-20s cold; do not retry). Capped per member and per day; the answer reports the budget and a refusal names the cap and its reset (00:00 UTC). A read from the last few minutes is served from the store without spending. Not idempotent: each call may spend the cap.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: Scan a Robinhood Chain contract now (members)
rh_stock_pairsMemecoins quoted in TOKENIZED STOCKS on Robinhood Chain.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Memecoins quoted in TOKENIZED STOCKS on Robinhood Chain. Pass a stock symbol (NVDA, SPY, TSLA) for the trading, unflagged tokens quoted in it with liquidity and latest scan risk; omit it for every stock with a count. This pairing exists on no other chain.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Memecoins paired with a tokenized stock
rh_swapsThe latest stored swaps of one Robinhood Chain token, newest first (limit 1-200, side 'buy' or 'sell' to filter): time, side, wallet prefix, ETH sent on a buy, token amount, venue …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The latest stored swaps of one Robinhood Chain token, newest first (limit 1-200, side 'buy' or 'sell' to filter): time, side, wallet prefix, ETH sent on a buy, token amount, venue and transaction hash. A sell's ETH is left empty because the router's minimum is not what the seller received.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Robinhood Chain swaps for a token
rh_token_safetyStored safety read for one Robinhood Chain token (0x + 40 hex): sellability, launch flags with evidence, where the launch money went, and the move since PumpPill first logged it.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Stored safety read for one Robinhood Chain token (0x + 40 hex): sellability, launch flags with evidence, where the launch money went, and the move since PumpPill first logged it. Never triggers a scan. found=false means not yet indexed, not safe; the miss is queued for reading. deep=true means the economics, lock, operator and thesis passes ran. A flag is a finding, not a prediction. `fomo`, when present, is what FOMO app traders did with it: 24h counts, recent trades, the first buy seen and who is still in (large trades only, no sizes).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Robinhood Chain token safety read
rh_wallet_recordOne Robinhood Chain wallet's holdings and trades off the chain's own feed.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it One Robinhood Chain wallet's holdings and trades off the chain's own feed. A sell's size is derived from the router's minimum-out, so it is a floor, never profit. Many addresses on this chain are routing contracts, not people. `fomo_trader`, when present, names the FOMO app trader this wallet was matched to.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: One Robinhood Chain wallet's holdings and trades
rh_whale_walletsWallets holding 10+ ETH or $50K+ in tokens, read as on-chain balances.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Wallets holding 10+ ETH or $50K+ in tokens, read as on-chain balances. Tiers by dollars held (mega, whale, mini, large); positions_top names each wallet's three largest holdings. Measures who CAN move a pool, never who is right or who to follow: most listed wallets hold rather than trade (meta.trading_30d). sort='active' orders by trades.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Wallets large enough to move a Robinhood Chain pool
room_callsThe calls PumpPill's room posted on Solana and Robinhood Chain, newest first, each with the rule that fired (whale buy, revival, early detection, agreement between systems), the ma…1 finding
Why it is in this group
- The name "room_calls" says "call": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "room_calls" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "room_calls" says "call": a word for a change.
Description, as the server wrote it The calls PumpPill's room posted on Solana and Robinhood Chain, newest first, each with the rule that fired (whale buy, revival, early detection, agreement between systems), the market cap at the post, the move since, the 7-day peak and whether it died. Losers are in the list. Open to everyone a few minutes behind (delay_minutes says how far); a member's claim reads it live. A count of calls is not a success rate.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: PumpPill's calls, graded
rule_matchesThe Robinhood Chain tokens that pass every filter of a member's rule right now, judged by PumpPill on its side.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The Robinhood Chain tokens that pass every filter of a member's rule right now, judged by PumpPill on its side. `rule` is the code (pp1....) the member copies from pumppill.org/customize. Each token comes with each filter's reading. A token passing is a match to the member's own rule, not a recommendation; compare with the last check to find NEW passes. Up to 40, biggest first.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Which tokens pass my rule right now
sol_early_walletsSolana wallets recorded among a token's first buyers on tokens whose peak later reached 5x the scan cap, with the base rate (meta.base_5x, about one in twenty) beside every rate.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Solana wallets recorded among a token's first buyers on tokens whose peak later reached 5x the scan cap, with the base rate (meta.base_5x, about one in twenty) beside every rate. Sprayers, at-or-below-base and silent wallets are removed with the reason. Wallet identity showed no out-of-sample edge on Solana: this answers who was early, not who to copy.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Solana wallets that were early on winners
sol_token_detailAny Solana token by mint (base58): holders, bundled-launch read, what the deployer still holds, socials, and meta.verdict, one sentence on whether it trades, can be sold, what the …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Any Solana token by mint (base58): holders, bundled-launch read, what the deployer still holds, socials, and meta.verdict, one sentence on whether it trades, can be sold, what the dev holds and how far it has run. Start from the verdict; the rest is evidence. A clean read is not a reason to buy. depth='quick_scan' means a token PumpPill never logged: contract and holders only, no entry or peak. `fomo`, when present, is what FOMO app traders did with it: 24h counts, recent trades, the first buy seen and who is still in (large trades only, no sizes).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Solana token detail
whats_movingOne call for 'what is happening right now' on Robinhood Chain and Solana: the tokens FOMO app traders are gathering on (with PumpPill's read of each), the calls PumpPill's room pos…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it One call for 'what is happening right now' on Robinhood Chain and Solana: the tokens FOMO app traders are gathering on (with PumpPill's read of each), the calls PumpPill's room posted (a few minutes behind unless a member asks), and newly flagged Robinhood Chain tokens. Pass the as_of from the last answer as `since` to get only what changed. A list of what moved, not of what to buy: flags are findings and trader counts are counts.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: What is moving right now
x_chatterMEMBERS: what X has been saying about one contract: posts naming the address in their text, distinct accounts, combined reach, acceleration, and each poster's record on earlier cal…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it MEMBERS: what X has been saying about one contract: posts naming the address in their text, distinct accounts, combined reach, acceleration, and each poster's record on earlier calls. Needs a PumpPill membership (Authorization: Bearer <claim>, from pumppill.org/premium) or one x402 payment per call (USDC on Base). Reads X live before answering when the hourly budget allows (the live field says); the stored corpus is always underneath. A SAMPLE of X: zero means PumpPill saw none, and silence on an EVM contract is normal. Each call may spend a live-read budget.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: X chatter on a contract (members)
Only reads 6Claude Code: allow
agent_statusWhether the member's agent is switched on, the wallet's ETH, the member's agent limits and what is left of today's, whether red flags are refused, and the last five orders.No findings
Why it is in this group
- The name "agent_status" says "status": a word for reading.
Description, as the server wrote it Whether the member's agent is switched on, the wallet's ETH, the member's agent limits and what is left of today's, whether red flags are refused, and the last five orders. Call it before a first trade and after any error. Needs the member's agent key (X-Agent-Key: ppa_..., made in PumpPill's Telegram trade bot under Settings, AI agent).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Agent trading status
fetchFetch one result by the id search returned (rh:<address>, sol:<mint> or learn:<slug>).No findings
Why it is in this group
- The name "fetch" says "fetch": a word for reading.
Description, as the server wrote it Fetch one result by the id search returned (rh:<address>, sol:<mint> or learn:<slug>). A token id returns the stored read as text with its citation and as-of time; a learn id returns the lesson's full text and, when it has a video, the transcript. Never triggers a scan; a missing read says so.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Fetch one PumpPill read
membership_statusWhether the claim this client sends is an active PumpPill membership, its tier, and when it renews.No findings
Why it is in this group
- The name "membership_status" says "status": a word for reading.
Description, as the server wrote it Whether the claim this client sends is an active PumpPill membership, its tier, and when it renews. An unauthenticated call answers signed_in=false, not an error. Nothing about the claim itself is returned.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: PumpPill membership status
rh_ticker_resolveThe ONE Robinhood Chain contract worth naming for a ticker: alive, $10K+ in its pool, not flagged HIGH or CRITICAL.No findings
Why it is in this group
- The name "rh_ticker_resolve" says "resolve": a word for reading.
Description, as the server wrote it The ONE Robinhood Chain contract worth naming for a ticker: alive, $10K+ in its pool, not flagged HIGH or CRITICAL. Other contracts using the name come back as a count, never a list. found=false means nothing clears the gate, which is itself the answer.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Which contract is the real ticker
rh_token_snapshotOne Robinhood Chain token (0x + 40 hex) as it trades now: market cap, liquidity, volume, 24h buys and sells with distinct buyer and seller wallets, whether it is an official Robinh…No findings
Why it is in this group
- The name "rh_token_snapshot" says "snapshot": a word for reading.
Description, as the server wrote it One Robinhood Chain token (0x + 40 hex) as it trades now: market cap, liquidity, volume, 24h buys and sells with distinct buyer and seller wallets, whether it is an official Robinhood stock token, the developer's launch record and the wallet that first funded the developer, with that funder's record. Wallets come as prefixes. For flags and sellability use rh_token_safety; for trades use rh_swaps.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Robinhood Chain token snapshot
searchFind PumpPill's read for a query: a Robinhood Chain address (0x + 40 hex), a Solana mint (base58), or a ticker such as HOOD.No findings
Why it is in this group
- The name "search" says "search": a word for reading.
Description, as the server wrote it Find PumpPill's read for a query: a Robinhood Chain address (0x + 40 hex), a Solana mint (base58), or a ticker such as HOOD. Returns ids for fetch. For a ticker the result is the one Robinhood Chain contract that clears the gate (alive, $10K+ pool, not flagged HIGH or CRITICAL) with the count of others using the name, then Solana tokens PumpPill holds under that exact name, marked as name matches. A question in words (how do exits work, what is a liquidity lock) searches PumpPill's lessons at /learn instead and returns learn:<slug> ids with a matching passage.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Search PumpPill's index
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.7.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http token-safety https://api.pumppill.org/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__token-safety__rh_ticker_resolve",
"mcp__token-safety__rh_token_snapshot",
"mcp__token-safety__agent_status",
"mcp__token-safety__membership_status",
"mcp__token-safety__search",
"mcp__token-safety__fetch"
],
"ask": [
"mcp__token-safety__rh_token_safety",
"mcp__token-safety__rh_deployer_record",
"mcp__token-safety__rh_flagged_recent",
"mcp__token-safety__rh_stock_pairs",
"mcp__token-safety__rh_chain_stats",
"mcp__token-safety__rh_new_launches",
"mcp__token-safety__rh_swaps",
"mcp__token-safety__rh_ignition_calls",
"mcp__token-safety__launch_waves",
"mcp__token-safety__rh_whale_wallets",
"mcp__token-safety__rh_wallet_record",
"mcp__token-safety__rh_early_wallets",
"mcp__token-safety__sol_early_wallets",
"mcp__token-safety__sol_token_detail",
"mcp__token-safety__fomo_gathering",
"mcp__token-safety__fomo_trader",
"mcp__token-safety__room_calls",
"mcp__token-safety__best_calls",
"mcp__token-safety__agents_leaderboard",
"mcp__token-safety__rule_matches",
"mcp__token-safety__agent_order",
"mcp__token-safety__whats_moving",
"mcp__token-safety__outcomes_measured",
"mcp__token-safety__exit_check",
"mcp__token-safety__pre_trade_check",
"mcp__token-safety__arena_board",
"mcp__token-safety__arena_register",
"mcp__token-safety__rh_scan_now",
"mcp__token-safety__premium_calls_recent",
"mcp__token-safety__my_watched_wallets",
"mcp__token-safety__x_chatter"
],
"deny": [
"mcp__token-safety__agent_buy",
"mcp__token-safety__agent_sell"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as token-safety. Review it before you use it.