Loophole Tape MCP
Provides real-time rug checks and risk analysis for new memecoins on Solana (pump.fun) and Robinhood Chain. It computes calibrated rug probabilities, graduation odds, holder data, and creator records from independent on-chain event capture. The server supports tools for token checks, market regime analysis, and accessing free or paid data feeds via x402 payments or prepaid keys.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://api.loopholetape.com/mcpWhat its tools do
34 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (30)
token_checkcataloghealthmarket_regimesample_mintnew_launches_freecheck_coveragewatchlist_updatescheck_pumpfun_riskcheck_watchlist_riskverdictmint_risk_cardpumpfun_recent_launchesrecent_rugsrecent_graduationscreator_reputationwallet_profilerhc_regimerhc_recent_launcheslaunches_sincerhc_curve_cardrhc_curve_tradeslaunches_screenedcheck_batch_riskmint_holdersmint_flowmint_outcomemint_outcome_batchrhc_swap_build_checkedswap_build_checked
Can change data (4)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Perform live rug checks for new pump.fun memecoins on Solana
- Analyze Robinhood Chain pons launch and token risk cards
- Access free daily launch datasets and real-time market feeds
- Monitor creator records and holder distribution for risk assessment
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- loophole tape 0.9.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 34 advertised
- Resources
- 5 advertised
- Resource templates
- 1 advertised
- Prompts
- 4 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
},
"resources": {
"subscribe": false,
"listChanged": false
},
"experimental": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
34 advertised
token_check — Free pre-trade rug check (any Solana token, pons on Robinhood Chain)
Free. 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.
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"description": "Alias of token, either name works: takes a mint or a pump.fun/gmgn/solscan/birdeye link, or a pons 0x address."
},
"token": {
"type": "string",
"maxLength": 512,
"minLength": 32,
"description": "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>)."
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}catalog — Catalog (free)
Free. 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.
{
"type": "object",
"properties": {}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}health — Feed health (free)
Free. 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.
{
"type": "object",
"properties": {}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}market_regime — Market regime (free)
Free. 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.
{
"type": "object",
"properties": {}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}sample_mint — Sample risk card (free)
Free. 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.
{
"type": "object",
"properties": {}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}new_launches_free — New pump.fun launches live, with rug and graduation odds (free)
Free. 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.
{
"type": "object",
"properties": {}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}check_coverage — Check mint coverage (free)
Free. 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.
{
"type": "object",
"required": [
"mints"
],
"properties": {
"mints": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 5,
"minItems": 1,
"description": "One to five distinct pump.fun mints with full live coverage, each a mint or a pump.fun/gmgn/solscan/birdeye link"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}watchlist_updates — Watch for new risk events (free)
Free. 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.
{
"type": "object",
"required": [
"mints"
],
"properties": {
"mints": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 5,
"minItems": 1,
"description": "One to five distinct pump.fun mints with full live coverage, each a mint or a pump.fun/gmgn/solscan/birdeye link"
},
"cursor": {
"type": [
"string",
"null"
],
"default": null,
"maxLength": 1024,
"description": "Optional opaque watch cursor for these exact mints; no new watched events returns an unpaid result."
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}check_pumpfun_risk — pump.fun rug check with calibrated odds ($0.005)
$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.
{
"type": "object",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"description": "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": {
"type": [
"string",
"null"
],
"maxLength": 1024,
"description": "Optional opaque watch cursor for these exact mints; no new watched events returns an unpaid result."
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}check_watchlist_risk — Rug check for up to five mints ($0.01 total)
$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.
{
"type": "object",
"required": [
"mints"
],
"properties": {
"mints": {
"type": "array",
"items": {
"type": "string",
"maxLength": 512,
"minLength": 32,
"description": "a mint or a pump.fun/gmgn/solscan/birdeye link"
},
"maxItems": 5,
"minItems": 1,
"description": "One to five distinct pump.fun mints, each a mint or a pump.fun/gmgn/solscan/birdeye link. All must have full live coverage.",
"uniqueItems": true
},
"cursor": {
"type": [
"string",
"null"
],
"maxLength": 1024,
"description": "Optional opaque watch cursor for these exact mints; no new watched events returns an unpaid result."
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}verdict — pump.fun rug-check verdict with a shareable card ($0.01)
$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.
{
"type": "object",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"description": "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."
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}mint_risk_card — Memecoin risk card: holders, creator, flags ($0.025)
$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.
{
"type": "object",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"examples": [
"73sfnFgqQzpSRZSimCC4sxpubqghRGYewYLmiUH2pump"
],
"maxLength": 512,
"minLength": 32,
"description": "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."
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}pumpfun_recent_launches — New pump.fun memecoin launches ($0.01)
$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.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "max items 1-100"
},
"min_rs": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "minimum curve SOL right now"
},
"max_age_s": {
"type": "number",
"default": 3600,
"maximum": 21600,
"minimum": 30,
"description": "only mints created within this many seconds (30-21600)"
},
"only_alive": {
"type": "boolean",
"default": false,
"description": "drop mints with any rug/close flag"
},
"exclude_mayhem": {
"type": "boolean",
"default": true,
"description": "drop mayhem-class launches"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}recent_rugs — Recent memecoin rug flags ($0.02)
$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.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 1,
"description": "max items 1-200"
},
"window_s": {
"type": "number",
"default": 3600,
"maximum": 21600,
"minimum": 60,
"description": "look-back seconds 60-21600"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}recent_graduations — Recent pump.fun graduations ($0.02)
$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.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "max items 1-100"
},
"window_s": {
"type": "number",
"default": 21600,
"maximum": 86400,
"minimum": 60,
"description": "look-back seconds 60-86400"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}creator_reputation — Creator (dev wallet) reputation ($0.02)
$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.
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"examples": [
"11111111111111111111111111111111"
],
"maxLength": 44,
"minLength": 32,
"description": "base58 Solana wallet address (32-44 chars)"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}wallet_profile — Solana wallet profile ($0.02)
$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.
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"examples": [
"11111111111111111111111111111111"
],
"maxLength": 44,
"minLength": 32,
"description": "base58 Solana wallet address (32-44 chars)"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}rhc_regime — Robinhood Chain regime (free)
Free. 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.
{
"type": "object",
"properties": {}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}rhc_recent_launches — Robinhood Chain new memecoin launches ($0.01)
$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.
{
"type": "object",
"properties": {
"pair": {
"type": "string",
"default": "any",
"description": "'any' or 'eth' (ETH-paired curves only)"
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 1,
"description": "max items 1-200"
},
"since": {
"type": [
"number",
"null"
],
"default": null,
"minimum": 0,
"description": "unix seconds cursor (next_cursor of the previous call): launches after it, oldest first"
},
"min_buys": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "minimum curve buys observed"
},
"max_age_s": {
"type": "number",
"default": 3600,
"maximum": 21600,
"minimum": 30,
"description": "only launches within this many seconds (30-21600)"
},
"only_live": {
"type": "boolean",
"default": false,
"description": "drop completed / graduated curves"
},
"ring_only": {
"type": "boolean",
"default": false,
"description": "ring screen: only curves matching the measured same-block direct-buy cluster structure (unique_buyers >= 8 and same_block_direct_cluster_share >= 0.5)"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}buy_api_key — Buy a prepaid API key ($2.00)
$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.
{
"type": "object",
"properties": {}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}buy_dataset — Buy one day of pump.fun launches ($5.00)
$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.
{
"type": "object",
"required": [
"day"
],
"properties": {
"day": {
"type": "string",
"examples": [
"2026-09-11"
],
"maxLength": 10,
"minLength": 10,
"description": "UTC day YYYY-MM-DD listed by the free index /v1/datasets"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}launches_since — New pump.fun launches with rug odds ($0.001)
$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.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "launches per call"
},
"since": {
"type": [
"number",
"null"
],
"default": null,
"description": "unix seconds of the last launch seen (next_cursor of the previous call); omit for the last 60 s"
},
"no_avoid": {
"type": "boolean",
"default": false,
"description": "true or 1: leave out items whose verdict is avoid"
},
"min_p_grad": {
"type": "number",
"default": 0,
"maximum": 1,
"minimum": 0,
"description": "keep items whose P(true graduation) is at least this (0 = no floor)"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}buy_trial_key — Buy a $0.10 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.
{
"type": "object",
"properties": {}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}rhc_curve_card — Robinhood Chain token risk card ($0.02)
$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.
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"examples": [
"0x1d63d24f2d6e726fa53c45cefcbee2c1b8ffa855"
],
"maxLength": 42,
"minLength": 42,
"description": "0x-prefixed 40-hex pons v2 curve OR token address on Robinhood Chain"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}rhc_curve_trades — Robinhood Chain per-trade reserves ($0.02)
$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.
{
"type": "object",
"required": [
"address"
],
"properties": {
"limit": {
"type": "integer",
"default": 100,
"maximum": 500,
"minimum": 1,
"description": "events per page (1-500)"
},
"since": {
"type": "string",
"example": "70746901:1",
"maxLength": 40,
"description": "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"
},
"address": {
"type": "string",
"description": "0x-prefixed 40-hex pons v2 curve OR token address on Robinhood Chain"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}launches_screened — New pump.fun launches screened by verdict ($0.01)
$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.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 50,
"minimum": 1,
"description": "items to return, 1-50"
},
"max_age_s": {
"type": "number",
"default": 900,
"maximum": 3600,
"minimum": 30,
"description": "launches created within this many seconds (30-3600)"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}check_batch_risk — Rug check for up to 25 mints ($0.04 total)
$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.
{
"type": "object",
"required": [
"mints"
],
"properties": {
"mints": {
"type": "array",
"items": {
"type": "string",
"maxLength": 512,
"minLength": 32,
"description": "a mint or a pump.fun/gmgn/solscan/birdeye link"
},
"maxItems": 25,
"minItems": 1,
"description": "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.",
"uniqueItems": true
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}mint_holders — Holders of one pump.fun memecoin ($0.01)
$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.
{
"type": "object",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"description": "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": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "holder rows to return, largest first (1-100)"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}mint_flow — Who bought and sold one pump.fun memecoin ($0.01)
$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.
{
"type": "object",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"description": "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": {
"type": "integer",
"default": 100,
"maximum": 500,
"minimum": 1,
"description": "trades per page (1-500)"
},
"since": {
"type": "string",
"example": "449819861:37",
"maxLength": 40,
"description": "optional start, exclusive: next_cursor 'slot:index' of the previous page, a slot number, or unix seconds (values >= 1e9); omitted = from the launch"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}mint_outcome — Outcome labels for one pump.fun memecoin ($0.001)
$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.
{
"type": "object",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"description": "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."
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}mint_outcome_batch — Outcome labels for up to 40 pump.fun memecoins ($0.01)
$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.
{
"type": "object",
"required": [
"mints"
],
"properties": {
"mints": {
"type": "array",
"items": {
"type": "string",
"maxLength": 512,
"minLength": 32,
"description": "a mint or a pump.fun/gmgn/solscan/birdeye link"
},
"maxItems": 40,
"minItems": 1,
"description": "One to 40 distinct pump.fun mints, each a mint or a pump.fun/gmgn/solscan/birdeye link, known to our capture or not.",
"uniqueItems": true
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}rhc_swap_build_checked — Robinhood Chain swap builder, 0.25% disclosed fee (free)
Free. 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.
{
"type": "object",
"required": [
"token",
"wallet",
"amount"
],
"properties": {
"side": {
"type": "string",
"default": "buy",
"maxLength": 8,
"description": "buy (spend ETH for the token, default) or sell (sell the token for ETH)"
},
"token": {
"type": "string",
"examples": [
"0x9029d5c35457a684067beba8d7707ab6a39b634a"
],
"maxLength": 42,
"minLength": 42,
"description": "0x address of a graduated pons v2 token on Robinhood Chain (42 characters)"
},
"amount": {
"type": "string",
"examples": [
"0.01"
],
"maxLength": 40,
"minLength": 1,
"description": "Decimal whole units, at most 18 decimals: ETH for side buy, tokens for side sell"
},
"wallet": {
"type": "string",
"examples": [
"0x000000000000000000000000000000000000dEaD"
],
"maxLength": 42,
"minLength": 42,
"description": "0x address that will sign and receive; put in the calldata as sender and recipient"
},
"slippage_pct": {
"type": "number",
"default": 1,
"maximum": 5,
"minimum": 0.01,
"description": "Slippage in percent: default 1, at most 5, at most two decimals"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}swap_build_checked — Solana swap builder, 0.25% disclosed fee (free)
Free. 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.
{
"type": "object",
"required": [
"mint",
"amount",
"side"
],
"properties": {
"mint": {
"type": "string",
"maxLength": 512,
"minLength": 32,
"description": "the pump.fun token: a mint or a pump.fun/gmgn/solscan/birdeye link"
},
"side": {
"enum": [
"buy",
"sell"
],
"type": "string",
"description": "buy or sell, required: amount is in lamports for buy, token base units for sell"
},
"amount": {
"type": "string",
"description": "whole base units: lamports for buy (max 50 SOL), token base units for sell"
},
"wallet": {
"type": "string",
"maxLength": 44,
"minLength": 32,
"description": "optional: the signing wallet's base58 key; without it, an estimated quote"
},
"slippage_pct": {
"type": "number",
"default": 1,
"maximum": 5,
"minimum": 0.01,
"description": "percent, default 1"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}subscribe_alerts — Push pump.fun and Robinhood Chain alerts to Discord or Telegram ($0.10)
$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.
{
"type": "object",
"required": [
"destination",
"kinds"
],
"properties": {
"kinds": {
"type": "array",
"items": {
"enum": [
"graduation_odds",
"ring_flags",
"graduations",
"avoid_flips"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1,
"description": "One or more of graduation_odds, ring_flags, graduations, avoid_flips.",
"uniqueItems": true
},
"label": {
"type": "string",
"default": "",
"maxLength": 40,
"description": "optional name printed at the start of every message (letters, digits, spaces and basic punctuation)"
},
"rhc_only": {
"type": "boolean",
"default": false,
"description": "true: leave out the pump.fun kinds"
},
"max_age_s": {
"type": "number",
"default": 0,
"maximum": 86400,
"minimum": 0,
"description": "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": {
"type": "number",
"default": 0,
"maximum": 1,
"minimum": 0,
"description": "graduation_odds and avoid_flips: keep items whose P(true graduation) at publication is at least this (0 = no floor)"
},
"destination": {
"type": "string",
"maxLength": 300,
"minLength": 20,
"description": "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."
},
"pumpfun_only": {
"type": "boolean",
"default": false,
"description": "true: leave out the Robinhood Chain kind (ring_flags)"
}
}
}{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"data": {
"type": [
"object",
"null"
]
},
"meta": {
"type": "object"
},
"coverage": {
"type": "string"
}
}
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}Prompts
4 advertised
check_before_buying — Check a pump.fun token before buying
Check one pump.fun mint before buying: the free token_check first (the verdict word, one reason, coverage), then the $0.01 verdict or the $0.025 mint_risk_card when the word is caution or you want the odds or the holders, with the verdict words explained.
- mint
- the pump.fun mint address (base58, 32 to 44 characters), or its pump.fun link (required)
screen_new_launches — Screen new pump.fun launches
One $0.01 call that screens the newest pump.fun launches (avoid verdicts left out) and ranks them by calibrated P(true graduation), with how to read that number.
grade_my_calls — Grade my calls
Grade your own rug or graduation calls on pump.fun mints against the public outcome labels ($0.01 per 40 mints) and compute hit rates.
- mints
- the pump.fun mint addresses you made calls on, separated by commas or spaces (up to 400) (required)
robinhood_chain_launches — Robinhood Chain launches
The newest Robinhood Chain (pons) memecoin launches with the ring screen ($0.01), and how to read the ring flag and the creator tax.
Resources
5 advertised
llms.txt — Agent guide (llms.txt)
Free. The plain-text guide for LLM agents: every route and tool, prices, payment terms and label notes; the text GET /llms.txt serves.
loopholetape://llms.txtlabels — Label semantics
Free. What every label, flag, verdict word and outcome rule means, with market base rates; the JSON GET /v1/labels serves.
loopholetape://labelscalibration — Calibration tables
Free. The out-of-time validation tables behind the calibrated rug and graduation probabilities; the JSON GET /v1/calibration serves.
loopholetape://calibrationpricing — Prices
Free. Every price: paid routes and their MCP tools, prepaid keys, free routes and the payment rails; the JSON GET /pricing.json serves.
loopholetape://pricingcoverage — Coverage note
Free. Which pump.fun mints the checks can answer (the live window), the feed-freshness rule, the free check_coverage tool and the feed lag right now.
loopholetape://coveragetool_schema — Output schema of one tool
Free. The JSON Schema of one tool's result: anyOf the success envelope, the x402 PaymentRequired answer and a refusal. tools/list carries no outputSchema; read this for the tool you call, or output_schema in /v1/x402/resources.
loopholetape://schema/{tool}90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
- 2026-11-09: 2 of 2 checks answered
- 2026-11-10: 2 of 2 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 2003 ms
- 95th percentile latency
- 2003 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 2003 ms · metadata changed · 34 tool(s), 5 resource(s), 1 resource template(s), 4 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http loophole-tape-mcp https://api.loopholetape.com/mcpCodex
codex mcp add loophole-tape-mcp --url https://api.loopholetape.com/mcpCursor
{
"mcpServers": {
"loophole-tape-mcp": {
"url": "https://api.loopholetape.com/mcp"
}
}
}Cline
{
"mcpServers": {
"loophole-tape-mcp": {
"type": "streamableHttp",
"url": "https://api.loopholetape.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"loophole-tape-mcp": {
"type": "http",
"url": "https://api.loopholetape.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http loophole-tape-mcp https://api.loopholetape.com/mcpClaude Desktop
https://api.loopholetape.com/mcpWindsurf
{
"mcpServers": {
"loophole-tape-mcp": {
"serverUrl": "https://api.loopholetape.com/mcp"
}
}
}Let your agent find its tools
Find servers like Loophole Tape MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.