io.github.gosadu/loophole-tape
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
pump.fun & Robinhood Chain launch data: radar, risk checks, delta feed, datasets, keys. x402 USDC
| Author | io.github.gosadu |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2318 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"loophole-tape": {
"url": "https://api.loopholetape.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (34)
token_checkread-onlyFree. Coarse pre-trade rug check for one token: a Solana mint or link, or a Robinhood Chain pons 0x address or link. Returns verdict (avoid | caution | no_flags_observed), a reason and coverage; any other Solana mint gets a thin on-chain answer, never avoid on that evidence. Not a safety verdict. Next: verdict $0.01, mint_risk_card $0.025, rhc_curve_card $0.02. Use it first before you buy.
Parameters:
mint— string — Alias of token, either name works: takes a mint or a pump.fun/gmgn/solscan/birdeye link, or a pons 0x address.token— string — The token to check. Solana: a mint or a pump.fun/gmgn/solscan/birdeye link (a base58 SPL or Token-2022 mint, 32-44 chars; a link is resolved to its mint). Robinhood Chain: a pons v2 curve or token address (0x + 40 hex), or its pons link (www.ponsfamily.com/launchpad/<token>) or explorer link (robinhoodchain.blockscout.com/token/<token>).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
catalogread-onlyFree. Start here: every tool with its price, arguments and x402 payment terms (USDC on Solana or Base), plus the label semantics URL. Use it first to choose a tool and budget; it carries no market data.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
healthread-onlyFree. Feed health: feed_lag_s (seconds behind the newest event), is_stale, last Solana slot, chain_lag_s and slots_behind (how far the tape is behind the chain, estimated from slots against the Solana RPC's processed tip). Use it before trusting a card's freshness.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
market_regimeread-onlyFree. pump.fun market regime: launches and curve buys and sells per minute, mayhem share, migrations vs true graduations, rug flags per hour. Use it to judge the market as a whole; for one mint use check_pumpfun_risk. No arguments.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
sample_mintread-onlyFree. One full risk card (the exact paid mint_risk_card shape) for a mint aged >= 300 s with >= 3 buys, delayed. Use it to see every field before paying; the server picks the mint, so it is not a check on yours. No arguments.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
new_launches_freeread-onlyFree. New Solana tokens ranked: ten covered pump.fun mints under 30 s old by P(rug within 300 s) and ten under 15 min by P(true graduation), refreshed every 5 s, each with its paid check. Use it to find new memecoin launches worth a paid check. No arguments.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
check_coverageread-onlyFree. Whether one to five pump.fun mints have full live coverage and a fresh feed (<= 5 s), with the exact prices. Use it right before a paid check; it returns no risk findings.
Parameters:
mints(required) — array — One to five distinct pump.fun mints with full live coverage, each a mint or a pump.fun/gmgn/solscan/birdeye link
Hints: read-only yes · destructive no · idempotent yes · open-world yes
watchlist_updatesread-onlyFree. Start or poll a watch cursor for one to five mints: whether new risk or lifecycle events exist, not what they are (a paid check returns them). Cursor lasts 24 h; poll every 15 s or slower. Use it to watch held mints without paying.
Parameters:
mints(required) — array — One to five distinct pump.fun mints with full live coverage, each a mint or a pump.fun/gmgn/solscan/birdeye linkcursor— ['string', 'null'] — Optional opaque watch cursor for these exact mints; no new watched events returns an unpaid result.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
check_pumpfun_riskread-only$0.005 per call. Is this Solana token safe? Solana token safety check (rug check) for ONE pump.fun mint: calibrated rug probability and observed flags, not a safety guarantee. Use right before a swap or while holding it. Returns flags_observed | no_flags_observed (never a safety guarantee), findings. Uncovered or stale: refused before payment. Fields: loopholetape://schema/check_pumpfun_risk.
Parameters:
mint(required) — string — A pump.fun mint with full live coverage; call the free check_coverage tool first. Accepts a mint or a pump.fun/gmgn/solscan/birdeye link.cursor— ['string', 'null'] — Optional opaque watch cursor for these exact mints; no new watched events returns an unpaid result.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
check_watchlist_riskread-only$0.01 per call for 1-5 mints, not per mint. Use when you hold or watch 2-5 pump.fun mints; for one mint check_pumpfun_risk ($0.005) costs less. Each gets the compact check item. Uncovered or stale: refused before payment. Not a safety guarantee. Fields: loopholetape://schema/check_watchlist_risk.
Parameters:
mints(required) — array — One to five distinct pump.fun mints, each a mint or a pump.fun/gmgn/solscan/birdeye link. All must have full live coverage.cursor— ['string', 'null'] — Optional opaque watch cursor for these exact mints; no new watched events returns an unpaid result.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
verdictread-only$0.01 per call. Is this Solana token a rug pull? Token safety verdict (rug check) for ONE pump.fun mint: avoid, caution or no_flags_observed (not a safety guarantee). Use when you need one bounded answer before you buy or hold it, with a free card page. Uncovered or stale: refused before payment. no_flags_observed is not a safety guarantee. Fields: loopholetape://schema/verdict.
Parameters:
mint(required) — string — A pump.fun mint with full live coverage; call the free check_coverage tool first. Accepts a mint or a pump.fun/gmgn/solscan/birdeye link.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
mint_risk_cardread-only$0.025 per call. Solana token safety card for ONE token. Use when you need every field: holders, creator, flags, odds, market, authorities, cohorts with holder reputation. coverage thin = any other SPL mint (authorities, Token-2022). Fields: loopholetape://schema/mint_risk_card.
Parameters:
mint(required) — string — base58 SPL mint address (32-44 chars); pump.fun mints usually end in 'pump'. Accepts a mint or a pump.fun/gmgn/solscan/birdeye link.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
pumpfun_recent_launchesread-only$0.01 per call. New Solana tokens: the newest pump.fun memecoin launches (default 1 h) as compact cards: curve SOL, buyers, concentration, flags. Use to screen new launches; poll with launches_since ($0.001). Stale feed: refused before payment. Fields: loopholetape://schema/pumpfun_recent_launches.
Parameters:
limit— integer — max items 1-100min_rs— number — minimum curve SOL right nowmax_age_s— number — only mints created within this many seconds (30-21600)only_alive— boolean — drop mints with any rug/close flagexclude_mayhem— boolean — drop mayhem-class launches
Hints: read-only yes · destructive no · idempotent yes · open-world yes
recent_rugsread-only$0.02 per call. Use to see which pump.fun tokens fired rug or close flags in a window and how (creator_sold, bundle_dumped, curve_drained, pool_drained), newest first. Not a check on one mint. Stale feed: refused before payment. Fields: loopholetape://schema/recent_rugs.
Parameters:
limit— integer — max items 1-200window_s— number — look-back seconds 60-21600
Hints: read-only yes · destructive no · idempotent yes · open-world yes
recent_graduationsread-only$0.02 per call. Use to list recent pump.fun migrations to PumpSwap (default last 6 h): graduated=true means we saw the curve reach 84 SOL; each labelled instant_bundle or organic. Not a live rug check. Stale feed: refused before payment. Fields: loopholetape://schema/recent_graduations.
Parameters:
limit— integer — max items 1-100window_s— number — look-back seconds 60-86400
Hints: read-only yes · destructive no · idempotent yes · open-world yes
creator_reputationread-only$0.02 per call. Use to judge a new pump.fun token by its creator's earlier launches: graduations, rugs, median seconds to the dev's first sell, last 25 launches. Input: address (base58 wallet). Stale feed: refused before payment. Fields: loopholetape://schema/creator_reputation.
Parameters:
address(required) — string — base58 Solana wallet address (32-44 chars)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
wallet_profileread-only$0.02 per call. Use to classify a wallet that buys pump.fun tokens (insider, latency_bot or skilled) and read its PnL when it ranks on our leaderboard. Not a mint's risk. Input: address (base58 wallet). Stale feed: refused before payment. Fields: loopholetape://schema/wallet_profile.
Parameters:
address(required) — string — base58 Solana wallet address (32-44 chars)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
rhc_regimeread-onlyFree. Robinhood Chain pons regime: launches and graduations per hour, graduation rate, median seconds to graduate, buys per minute, unique buyers, snipe-tax facts. Use it to gauge launch activity as a whole; for one curve use rhc_curve_card. No arguments.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
rhc_recent_launchesread-only$0.01 per call. New token launches on Robinhood Chain. Use to screen or poll new pons memecoins (default last hour) as structure cards: raised, taxes, concentration, ring block, each with verdict and basis. Filters: ring_only, since. Not Solana. Fields: loopholetape://schema/rhc_recent_launches.
Parameters:
pair— string — 'any' or 'eth' (ETH-paired curves only)limit— integer — max items 1-200since— ['number', 'null'] — unix seconds cursor (next_cursor of the previous call): launches after it, oldest firstmin_buys— integer — minimum curve buys observedmax_age_s— number — only launches within this many seconds (30-21600)only_live— boolean — drop completed / graduated curvesring_only— boolean — ring screen: only curves matching the measured same-block direct-buy cluster structure (unique_buyers >= 8 and same_block_direct_cluster_share >= 0.5)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
buy_api_key$2.00 once. Use when your client cannot sign x402 on every call: a prepaid key lt_... holding $2.00 of credit, sent as the X-API-Key header on POST /mcp or any paid HTTP route; each call's price is deducted. A bearer secret; credit does not expire. Try first: buy_trial_key. No arguments.
Hints: read-only no · destructive no · idempotent no · open-world yes
buy_dataset$5.00 per day file. Use to backtest or train a rug or graduation model on one UTC day of pump.fun launches (about 15k-35k rows), not for live decisions. Input: day (YYYY-MM-DD; days on sale at free GET /v1/datasets). Returns a one-hour download URL.
Parameters:
day(required) — string — UTC day YYYY-MM-DD listed by the free index /v1/datasets
Hints: read-only no · destructive no · idempotent no · open-world yes
launches_sinceread-only$0.001 per poll. New Solana tokens: every covered pump.fun memecoin launch after `since`, each with verdict and P(rug within 300 s). Use when polling: pass next_cursor back as since; an empty page costs the same. Stale feed: refused before payment. Fields: loopholetape://schema/launches_since.
Parameters:
limit— integer — launches per callsince— ['number', 'null'] — unix seconds of the last launch seen (next_cursor of the previous call); omit for the last 60 sno_avoid— boolean — true or 1: leave out items whose verdict is avoidmin_p_grad— number — keep items whose P(true graduation) is at least this (0 = no floor)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
buy_trial_key$0.10 once. Use to try the paid tools: a prepaid key lt_... holding $0.10 of credit, sent as the X-API-Key header on POST /mcp or any paid HTTP route. A bearer secret. Larger credit: buy_api_key. No arguments.
Hints: read-only no · destructive no · idempotent no · open-world yes
rhc_curve_cardread-only$0.02 per call. Use when you hold or are about to trade ONE pons v2 token on Robinhood Chain: verdict, basis, reasons, deployer record, exact sell_check, taxes, holders, ring screen. Input: address (0x). Unknown address: refused before payment. Fields: loopholetape://schema/rhc_curve_card.
Parameters:
address(required) — string — 0x-prefixed 40-hex pons v2 curve OR token address on Robinhood Chain
Hints: read-only yes · destructive no · idempotent yes · open-world yes
rhc_curve_tradesread-only$0.02 per page. Use to index or price a pons curve: Robinhood Chain reserves rebuilt to the wei, per buy, sell and buyback in block order: amounts, fee, taxes, price, next_cursor. Input: address, since, limit. ETH-paired curves up to 90 min old. Fields: loopholetape://schema/rhc_curve_trades.
Parameters:
address(required) — string — 0x-prefixed 40-hex pons v2 curve OR token address on Robinhood Chainlimit— integer — events per page (1-500)since— string — optional start, exclusive: next_cursor 'block:log_index' of the previous page, a block number, or unix seconds (values >= 1e9); omitted = from the curve's first trade
Hints: read-only yes · destructive no · idempotent yes · open-world yes
launches_screenedread-only$0.01 per call. New Solana tokens screened. Use to get new pump.fun memecoin launches (last 15 min) that the fixed rule does not mark avoid, ranked by P(true graduation). Stale feed or empty screen: refused before payment. Not a safety guarantee. Fields: loopholetape://schema/launches_screened.
Parameters:
limit— integer — items to return, 1-50max_age_s— number — launches created within this many seconds (30-3600)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
check_batch_riskread-only$0.04 per call for one to 25 mints, not per mint. Use when a screener checks a list, some possibly outside the live window: the compact check item per covered mint, others listed as unavailable. Charged if any is covered. Not a safety guarantee. Fields: loopholetape://schema/check_batch_risk.
Parameters:
mints(required) — array — One to 25 distinct pump.fun mints, each a mint or a pump.fun/gmgn/solscan/birdeye link; a mint outside the live window is listed as coverage unavailable.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
mint_holdersread-only$0.01 per call. Solana token holder concentration for ONE pump.fun token. Use when you need who holds it now: top-5 and top-10 share, HHI, cohorts (dev, bundlers, snipers) with holder reputation. Labels are observations, not a verdict on a wallet. Fields: loopholetape://schema/mint_holders.
Parameters:
mint(required) — string — A pump.fun mint with full live coverage; call the free check_coverage tool first. Accepts a mint or a pump.fun/gmgn/solscan/birdeye link.limit— integer — holder rows to return, largest first (1-100)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
mint_flowread-only$0.01 per page. Use when you need who bought and sold ONE pump.fun token trade by trade, or to poll its new trades: curve buys and sells in slot order, summaries, demand, cohorts with holder reputation. Input: mint or link, since, limit. Fields: loopholetape://schema/mint_flow.
Parameters:
mint(required) — string — A pump.fun mint with full live coverage; call the free check_coverage tool first. Accepts a mint or a pump.fun/gmgn/solscan/birdeye link.limit— integer — trades per page (1-500)since— string — optional start, exclusive: next_cursor 'slot:index' of the previous page, a slot number, or unix seconds (values >= 1e9); omitted = from the launch
Hints: read-only yes · destructive no · idempotent yes · open-world yes
mint_outcomeread-only$0.001 per call. Use to grade your own rug or graduation calls or backtest a signal: the outcome of ONE pump.fun launch by a fixed public rule (rugged and when, graduated and when), null until settled. A mint we never recorded is refused unpaid. Fields: loopholetape://schema/mint_outcome.
Parameters:
mint(required) — string — Any pump.fun mint (base58, 32-44 characters); one we never recorded is refused unpaid. Accepts a mint or a pump.fun/gmgn/solscan/birdeye link.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
mint_outcome_batchread-only$0.01 per call whatever the answers. Use to grade a list of your own calls: the outcomes of 1 to 40 pump.fun mints, as mint_outcome ($0.001 alone). Input: mints. Fields: loopholetape://schema/mint_outcome_batch.
Parameters:
mints(required) — array — One to 40 distinct pump.fun mints, each a mint or a pump.fun/gmgn/solscan/birdeye link, known to our capture or not.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
rhc_swap_build_checkedread-onlyFree. Use it to swap a graduated pons token on Robinhood Chain: returns the UNSIGNED KyberSwap transaction to sign. Fee 0.25% (25 bps) to 0x25d408eF54e60F3006bD13d5A040d525E2F359c2 via router 0x6131B5fae19EA4f9D964eAc0408E4408b66337b5. Refused if our verdict is avoid or the quote is over 30 seconds old; live curve: sell_check on rhc_curve_card. Holds no keys; nothing is sent.
Parameters:
token(required) — string — 0x address of a graduated pons v2 token on Robinhood Chain (42 characters)wallet(required) — string — 0x address that will sign and receive; put in the calldata as sender and recipientamount(required) — string — Decimal whole units, at most 18 decimals: ETH for side buy, tokens for side sellside— string — buy (spend ETH for the token, default) or sell (sell the token for ETH)slippage_pct— number — Slippage in percent: default 1, at most 5, at most two decimals
Hints: read-only yes · destructive no · idempotent yes · open-world yes
swap_build_checkedread-onlyFree. Use it when you buy or sell a pump.fun token (curve or PumpSwap pool): without wallet an estimated quote (output, impact, fee) from curve or pool reserves; with wallet the UNSIGNED Jupiter swap. Refused on avoid/block. Fee: a disclosed 0.25% (25 bps) to loophole tape's wallet. Holds no keys.
Parameters:
mint(required) — string — the pump.fun token: a mint or a pump.fun/gmgn/solscan/birdeye linkamount(required) — string — whole base units: lamports for buy (max 50 SOL), token base units for sellside(required) — string — buy or sell, required: amount is in lamports for buy, token base units for sellwallet— string — optional: the signing wallet's base58 key; without it, an estimated quoteslippage_pct— number — percent, default 1
Hints: read-only yes · destructive no · idempotent yes · open-world yes
subscribe_alerts$0.10 once, for 30 days. Use when a Discord or Telegram room you own should get pump.fun and Robinhood Chain alerts without a server. Input: destination (Discord webhook URL or telegram:<bot_token>:<chat_id>), kinds. A test message goes first; a failed test is unpaid. At most 20 messages an hour.
Parameters:
destination(required) — string — Your room's delivery endpoint: a Discord webhook URL https://discord.com/api/webhooks/<id>/<token>, or telegram:<bot_token>:<chat_id> for a Telegram bot you own. Send it in the POST JSON body or the X-Alert-Destination header: a query string can be recorded by proxies.kinds(required) — array — One or more of graduation_odds, ring_flags, graduations, avoid_flips.label— string — optional name printed at the start of every message (letters, digits, spaces and basic punctuation)rhc_only— boolean — true: leave out the pump.fun kindsmax_age_s— number — keep items whose launch was at most this many seconds old when the item was recorded; for graduations the time to graduation (0 = no limit)min_p_grad— number — graduation_odds and avoid_flips: keep items whose P(true graduation) at publication is at least this (0 = no floor)pumpfun_only— boolean — true: leave out the Robinhood Chain kind (ring_flags)
Hints: read-only no · destructive no · idempotent no · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.