protogrid

Search / org.pumppill/token-safety

PumpPill — token safety and measured outcomes

R0· no sign-in

Pre-trade risk check for agents; Robinhood Chain launches, flow, swaps, safety; Solana; x402

v1.7.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality79good
Trust95of 100
Uptime, 30 days98%
Latency p50180 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "token-safety": {
      "type": "http",
      "url": "https://api.pumppill.org/mcp"
    }
  }
}
claude mcp add --transport http token-safety https://api.pumppill.org/mcp
[mcp_servers.token-safety]
url = "https://api.pumppill.org/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "token-safety": {
      "type": "remote",
      "url": "https://api.pumppill.org/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "token-safety": {
      "type": "http",
      "url": "https://api.pumppill.org/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=token-safety&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLnB1bXBwaWxsLm9yZy9tY3AifQ%3D%3D"
}
{
  "servers": {
    "token-safety": {
      "type": "http",
      "url": "https://api.pumppill.org/mcp"
    }
  }
}
{
  "mcpServers": {
    "token-safety": {
      "httpUrl": "https://api.pumppill.org/mcp"
    }
  }
}
extensions:
  "token-safety":
    enabled: true
    name: "token-safety"
    type: streamable_http
    uri: "https://api.pumppill.org/mcp"
    timeout: 300

Quality 79 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations37 of 37 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 6,299 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes65 tool changes in 30 days
  • fail
    stability.rug_pull7 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

37 tools, about 6,299 tokens to load them all · tool set e7d053aafe1b · tools last changed 2026-10-19 · checked 2026-10-19 10:52 UTC

Tool changes

  • pre_trade_checkadded

    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.

  • launch_wavesadded

    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.

  • rh_ignition_callsadded

    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.

  • rh_swapsadded

    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.

  • rh_token_snapshotadded

    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.

  • rh_new_launchesadded

    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.

  • searchchangeddescription
    before

    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. No results is an honest miss, not a clean bill. 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.

    after · 91% of words in common

    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.

  • x_chatterchangeddescription
    before

    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. Counts, reach and record; no sentiment or hype score. Each call may spend a live-read budget.

    after · 94% of words in common

    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.

  • agents_leaderboardadded

    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.

  • best_callschangeddescription
    before

    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 (a peak seen on one odd pool is left out). 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.

    after · 90% of words in common

    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.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 95 / 100

provenance85
liveness99
freshness100
hygiene100

+repository +dns-namespace +website +reachable +uptime-98% +updated-0d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://api.pumppill.org/mcp streamable-httpnoneyes98%180 ms2026-07-282026-10-19

Tools (37)

agent_buydestructiveBuy 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.
agent_orderread-onlyThe 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).
agent_selldestructiveSell 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.
agents_leaderboardread-onlyTrading 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.
agent_statusread-onlyWhether 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).
best_callsread-onlyThe 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.
exit_checkread-onlyCan 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.
fetchread-onlyFetch 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.
fomo_gatheringread-onlyTokens 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.
fomo_traderread-onlyWhat 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.
launch_wavesread-onlyConfirmed 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.
membership_statusread-onlyWhether 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.
my_watched_walletsread-onlyMEMBERS: 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.
outcomes_measuredread-onlyForward-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.
premium_calls_recentread-onlyMEMBERS: the premium call table, the Solana tokens PumpPill logged for members, newest first, with the market cap at logging and the move since. Needs a PumpPill membership (Authorization: Bearer <claim>, from pumppill.org/premium) or one x402 payment per call (USDC on Base). Each row cleared an attention filter (a promoter with real reach, or a moving narrative): a filter on attention, not a prediction or a recommendation. Narrative and trend columns are deliberately withheld.
pre_trade_checkread-onlyFor 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.
rh_chain_statsread-onlyHow 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.
rh_deployer_recordread-onlyWhat 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.
rh_early_walletsread-onlyRobinhood 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.
rh_flagged_recentread-onlyTokens 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.
rh_ignition_callsread-onlyPumpPill'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.
rh_new_launchesread-onlyTokens 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.
rh_scan_nowMEMBERS: 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.
rh_stock_pairsread-onlyMemecoins 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.
rh_swapsread-onlyThe 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.
rh_ticker_resolveread-onlyThe 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.
rh_token_safetyread-onlyStored 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).
rh_token_snapshotread-onlyOne 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.
rh_wallet_recordread-onlyOne 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.
rh_whale_walletsread-onlyWallets 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.
room_callsread-onlyThe 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.
rule_matchesread-onlyThe 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.
searchread-onlyFind 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.
sol_early_walletsread-onlySolana 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.
sol_token_detailread-onlyAny 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).
whats_movingread-onlyOne 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.
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 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "org.pumppill/token-safety",
  "title": "PumpPill — token safety and measured outcomes",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.pumppill.org/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.7.0",
  "repository": {
    "url": "https://github.com/JackedBased/pumppill-mcp",
    "source": "github"
  },
  "websiteUrl": "https://www.pumppill.org/for-agents",
  "description": "Pre-trade risk check for agents; Robinhood Chain launches, flow, swaps, safety; Solana; x402"
}