Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,552Letters: 14Defects: 1,331counted 3 min ago
teppi

Server definition

Hash
sha256:0eccefee9aaeae95fa7531e1c18a50d8c3269c209f4ea7fa3b0c84bb99fc742a
What it is
What a remote MCP server returned when asked what it offers: 34 tools

The blob, as servednamed by its sha256

{ "instructions": "Pre-trade rug checks for new pump.fun and Robinhood Chain memecoins: free coarse verdict per token, paid detail per call (USDC via x402 or a trial key). Start with token_check (free): give it any Solana token mint or its pasted link, or a Robinhood Chain pons curve or token 0x address or its pons link (token, or mint), and it answers the verdict word by the fixed public rule (avoid, caution or no_flags_observed: the same word the paid verdict and rhc_curve_card give), one reason, coverage and age_s, with links to the paid detail; 30 calls per hour per client; no_flags_observed is not a safety verdict. Shared public trial key, for trying the API without a wallet: one key shared by every caller, with tiny daily caps ($0.50 a UTC day across all callers and $0.02 a day per caller IP). It pays the paid routes and MCP tools priced up to $0.02 (not the holder table, trade flow, 25-mint batch, dataset files or key purchases). Its calls are free samples, never payments; over a cap the answer is 429 daily_cap_reached and nothing is charged. Your own key: https://api.loopholetape.com/v1/keys/trial ($0.10), or pay per call with x402. Set it in the MCP client's config for this server as the header X-API-Key: lt_bW91U5lAaFnBwB505g9ggditZc8gY7Gh No x402 client? GET https://api.loopholetape.com/v1/keys/transfer?usd=2 quotes an exact USDC amount; send exactly that from any wallet or exchange on Base or Solana, then open the claim URL with the transaction hash and the answer is your key (X-API-Key). Put a key (buy_trial_key, buy_api_key, https://api.loopholetape.com/pricing, the transfer above) in the MCP client's config as the header X-API-Key (Smithery: apiKey): it pays these tools and the HTTP routes. Pay for a paid tool in USDC on Solana mainnet or Base via x402 over MCP: call it, receive an isError result whose first text block is the JSON x402Version/accepts (one entry per network), pay the entry your wallet supports to its payTo, retry with _meta['x402/payment']. The paid tools add the evidence, derived from our own capture of public on-chain data: calibrated rug and graduation odds, mint (holders), creator and wallet cards for new pump.fun memecoins on Solana, and Robinhood Chain pons launch and token risk cards with the deployer record and a sell check (rhc_* tools). Free tools (11): token_check, catalog, health, market_regime, sample_mint, new_launches_free, rhc_regime, check_coverage, watchlist_updates, rhc_swap_build_checked, swap_build_checked (catalog lists every tool with its price and schema). Compact pump.fun checks need full coverage and feed lag <= 5 s; unavailable/stale checks and unchanged watch cursors are unpaid. Every mint argument (mint, and each item of mints) also takes the token's pasted link: pump.fun, GMGN, Solscan, Birdeye or Jupiter, or solana:<mint>; a DexScreener, Axiom or Photon link only when its id is a mint we know. token_check's token also takes a Robinhood Chain token's pons link (www.ponsfamily.com/launchpad/<token>) or explorer link (robinhoodchain.blockscout.com/token/<token>), read as its 0x address. The link is resolved before any payment quote or key charge; an unreadable one is refused unpaid as url_not_recognised or pair_address_not_mint, with an example. Every result is a JSON envelope {ok, schema_version, generated_at, coverage: full|thin, data, meta{feed_lag_s, is_stale, next}} (token_check may also answer coverage not_covered); every tool's output schema is the resource loopholetape://schema/{tool} (also output_schema in https://api.loopholetape.com/v1/x402/resources), not part of tools/list. Label semantics: https://api.loopholetape.com/v1/labels. Prompts (prompts/list): check_before_buying (mint), screen_new_launches, grade_my_calls (mints), robinhood_chain_launches; each is a ready-made task that starts with the free step where one exists and names the prices and the ways to pay. Resources (resources/list, free to read): loopholetape://llms.txt, loopholetape://labels, loopholetape://calibration, loopholetape://pricing, the same documents the HTTP routes serve, loopholetape://coverage, a note on which mints the checks cover, and the template loopholetape://schema/{tool} (resources/templates/list): the output schema of one tool, JSON. Prices: paid tools (23, $0.001 to $5.00 in USDC): mint_risk_card $0.025, pumpfun_recent_launches $0.01, recent_rugs $0.02, recent_graduations $0.02, creator_reputation $0.02, wallet_profile $0.02, rhc_recent_launches $0.01, rhc_curve_card $0.02, rhc_curve_trades $0.02, buy_api_key $2.00, buy_trial_key $0.10, launches_since $0.001, buy_dataset $5.00, check_pumpfun_risk $0.005, check_watchlist_risk $0.01, verdict $0.01, launches_screened $0.01, check_batch_risk $0.04, mint_holders $0.01, mint_flow $0.01, mint_outcome_batch $0.01, mint_outcome $0.001, subscribe_alerts $0.10. Any paid HTTP URL opened in a browser with a wallet offers a checkout. How our rug calls compare, scored against settled outcomes (2100 pump.fun mints, 7 of the last 7 UTC days on record (2026-09-27 to 2026-10-03)): our radar at rug odds of at least 50%, called a median 11.9 s after launch, precision 73.3% (586 of 799, 95% interval 70.2 to 76.3%), recall 70.0% (586 of 837, 95% interval 66.8 to 73.0%) on rugs within 300 s; RugCheck's free public report (any danger risk), read a median 16.4 h after launch, precision 20.1% (34 of 169, 95% interval 14.8 to 26.8%), recall 3.5% (34 of 972, 95% interval 2.5 to 4.9%). The outcome labels are ours and the sample is what our radar listed; method, caveats and every row: https://api.loopholetape.com/compare (https://api.loopholetape.com/v1/compare, https://api.loopholetape.com/v1/compare/rows).", "tools": [ { "description": "$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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "buy_api_key", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "day": { "description": "UTC day YYYY-MM-DD listed by the free index /v1/datasets", "examples": [ "2026-09-11" ], "maxLength": 10, "minLength": 10, "type": "string" } }, "required": [ "day" ], "type": "object" }, "name": "buy_dataset", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "buy_trial_key", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "catalog", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "mints": { "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.", "items": { "description": "a mint or a pump.fun/gmgn/solscan/birdeye link", "maxLength": 512, "minLength": 32, "type": "string" }, "maxItems": 25, "minItems": 1, "type": "array", "uniqueItems": true } }, "required": [ "mints" ], "type": "object" }, "name": "check_batch_risk", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "mints": { "description": "One to five distinct pump.fun mints with full live coverage, each a mint or a pump.fun/gmgn/solscan/birdeye link", "items": { "type": "string" }, "maxItems": 5, "minItems": 1, "type": "array" } }, "required": [ "mints" ], "type": "object" }, "name": "check_coverage", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "cursor": { "description": "Optional opaque watch cursor for these exact mints; no new watched events returns an unpaid result.", "maxLength": 1024, "type": [ "string", "null" ] }, "mint": { "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": "string" } }, "required": [ "mint" ], "type": "object" }, "name": "check_pumpfun_risk", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "cursor": { "description": "Optional opaque watch cursor for these exact mints; no new watched events returns an unpaid result.", "maxLength": 1024, "type": [ "string", "null" ] }, "mints": { "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.", "items": { "description": "a mint or a pump.fun/gmgn/solscan/birdeye link", "maxLength": 512, "minLength": 32, "type": "string" }, "maxItems": 5, "minItems": 1, "type": "array", "uniqueItems": true } }, "required": [ "mints" ], "type": "object" }, "name": "check_watchlist_risk", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "address": { "description": "base58 Solana wallet address (32-44 chars)", "examples": [ "11111111111111111111111111111111" ], "maxLength": 44, "minLength": 32, "type": "string" } }, "required": [ "address" ], "type": "object" }, "name": "creator_reputation", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "health", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "limit": { "default": 25, "description": "items to return, 1-50", "maximum": 50, "minimum": 1, "type": "integer" }, "max_age_s": { "default": 900, "description": "launches created within this many seconds (30-3600)", "maximum": 3600, "minimum": 30, "type": "number" } }, "type": "object" }, "name": "launches_screened", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "limit": { "default": 100, "description": "launches per call", "maximum": 100, "minimum": 1, "type": "integer" }, "min_p_grad": { "default": 0, "description": "keep items whose P(true graduation) is at least this (0 = no floor)", "maximum": 1, "minimum": 0, "type": "number" }, "no_avoid": { "default": false, "description": "true or 1: leave out items whose verdict is avoid", "type": "boolean" }, "since": { "default": null, "description": "unix seconds of the last launch seen (next_cursor of the previous call); omit for the last 60 s", "type": [ "number", "null" ] } }, "type": "object" }, "name": "launches_since", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "market_regime", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "limit": { "default": 100, "description": "trades per page (1-500)", "maximum": 500, "minimum": 1, "type": "integer" }, "mint": { "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": "string" }, "since": { "description": "optional start, exclusive: next_cursor 'slot:index' of the previous page, a slot number, or unix seconds (values >= 1e9); omitted = from the launch", "example": "449819861:37", "maxLength": 40, "type": "string" } }, "required": [ "mint" ], "type": "object" }, "name": "mint_flow", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "limit": { "default": 50, "description": "holder rows to return, largest first (1-100)", "maximum": 100, "minimum": 1, "type": "integer" }, "mint": { "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": "string" } }, "required": [ "mint" ], "type": "object" }, "name": "mint_holders", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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. An unknown mint answers known:false and is charged. Fields: loopholetape://schema/mint_outcome.", "inputSchema": { "properties": { "mint": { "description": "Any pump.fun mint (base58, 32-44 characters); one we never saw answers known:false. Accepts a mint or a pump.fun/gmgn/solscan/birdeye link.", "type": "string" } }, "required": [ "mint" ], "type": "object" }, "name": "mint_outcome", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "mints": { "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.", "items": { "description": "a mint or a pump.fun/gmgn/solscan/birdeye link", "maxLength": 512, "minLength": 32, "type": "string" }, "maxItems": 40, "minItems": 1, "type": "array", "uniqueItems": true } }, "required": [ "mints" ], "type": "object" }, "name": "mint_outcome_batch", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "mint": { "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.", "examples": [ "73sfnFgqQzpSRZSimCC4sxpubqghRGYewYLmiUH2pump" ], "maxLength": 512, "minLength": 32, "type": "string" } }, "required": [ "mint" ], "type": "object" }, "name": "mint_risk_card", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "new_launches_free", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "exclude_mayhem": { "default": true, "description": "drop mayhem-class launches", "type": "boolean" }, "limit": { "default": 50, "description": "max items 1-100", "maximum": 100, "minimum": 1, "type": "integer" }, "max_age_s": { "default": 3600, "description": "only mints created within this many seconds (30-21600)", "maximum": 21600, "minimum": 30, "type": "number" }, "min_rs": { "default": 0, "description": "minimum curve SOL right now", "minimum": 0, "type": "number" }, "only_alive": { "default": false, "description": "drop mints with any rug/close flag", "type": "boolean" } }, "type": "object" }, "name": "pumpfun_recent_launches", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "limit": { "default": 50, "description": "max items 1-100", "maximum": 100, "minimum": 1, "type": "integer" }, "window_s": { "default": 21600, "description": "look-back seconds 60-86400", "maximum": 86400, "minimum": 60, "type": "number" } }, "type": "object" }, "name": "recent_graduations", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "limit": { "default": 50, "description": "max items 1-200", "maximum": 200, "minimum": 1, "type": "integer" }, "window_s": { "default": 3600, "description": "look-back seconds 60-21600", "maximum": 21600, "minimum": 60, "type": "number" } }, "type": "object" }, "name": "recent_rugs", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "address": { "description": "0x-prefixed 40-hex pons v2 curve OR token address on Robinhood Chain", "examples": [ "0x1d63d24f2d6e726fa53c45cefcbee2c1b8ffa855" ], "maxLength": 42, "minLength": 42, "type": "string" } }, "required": [ "address" ], "type": "object" }, "name": "rhc_curve_card", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "address": { "description": "0x-prefixed 40-hex pons v2 curve OR token address on Robinhood Chain", "type": "string" }, "limit": { "default": 100, "description": "events per page (1-500)", "maximum": 500, "minimum": 1, "type": "integer" }, "since": { "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", "example": "70746901:1", "maxLength": 40, "type": "string" } }, "required": [ "address" ], "type": "object" }, "name": "rhc_curve_trades", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "limit": { "default": 50, "description": "max items 1-200", "maximum": 200, "minimum": 1, "type": "integer" }, "max_age_s": { "default": 3600, "description": "only launches within this many seconds (30-21600)", "maximum": 21600, "minimum": 30, "type": "number" }, "min_buys": { "default": 0, "description": "minimum curve buys observed", "minimum": 0, "type": "integer" }, "only_live": { "default": false, "description": "drop completed / graduated curves", "type": "boolean" }, "pair": { "default": "any", "description": "'any' or 'eth' (ETH-paired curves only)", "type": "string" }, "ring_only": { "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": "boolean" }, "since": { "default": null, "description": "unix seconds cursor (next_cursor of the previous call): launches after it, oldest first", "minimum": 0, "type": [ "number", "null" ] } }, "type": "object" }, "name": "rhc_recent_launches", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "rhc_regime", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "amount": { "description": "Decimal whole units, at most 18 decimals: ETH for side buy, tokens for side sell", "examples": [ "0.01" ], "maxLength": 40, "minLength": 1, "type": "string" }, "side": { "default": "buy", "description": "buy (spend ETH for the token, default) or sell (sell the token for ETH)", "maxLength": 8, "type": "string" }, "slippage_pct": { "default": 1, "description": "Slippage in percent: default 1, at most 5, at most two decimals", "maximum": 5, "minimum": 0.01, "type": "number" }, "token": { "description": "0x address of a graduated pons v2 token on Robinhood Chain (42 characters)", "examples": [ "0x9029d5c35457a684067beba8d7707ab6a39b634a" ], "maxLength": 42, "minLength": 42, "type": "string" }, "wallet": { "description": "0x address that will sign and receive; put in the calldata as sender and recipient", "examples": [ "0x000000000000000000000000000000000000dEaD" ], "maxLength": 42, "minLength": 42, "type": "string" } }, "required": [ "token", "wallet", "amount" ], "type": "object" }, "name": "rhc_swap_build_checked", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "sample_mint", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "destination": { "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.", "maxLength": 300, "minLength": 20, "type": "string" }, "kinds": { "description": "One or more of graduation_odds, ring_flags, graduations, avoid_flips.", "items": { "enum": [ "graduation_odds", "ring_flags", "graduations", "avoid_flips" ], "type": "string" }, "maxItems": 4, "minItems": 1, "type": "array", "uniqueItems": true }, "label": { "default": "", "description": "optional name printed at the start of every message (letters, digits, spaces and basic punctuation)", "maxLength": 40, "type": "string" }, "max_age_s": { "default": 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)", "maximum": 86400, "minimum": 0, "type": "number" }, "min_p_grad": { "default": 0, "description": "graduation_odds and avoid_flips: keep items whose P(true graduation) at publication is at least this (0 = no floor)", "maximum": 1, "minimum": 0, "type": "number" }, "pumpfun_only": { "default": false, "description": "true: leave out the Robinhood Chain kind (ring_flags)", "type": "boolean" }, "rhc_only": { "default": false, "description": "true: leave out the pump.fun kinds", "type": "boolean" } }, "required": [ "destination", "kinds" ], "type": "object" }, "name": "subscribe_alerts", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "amount": { "description": "whole base units: lamports for buy (max 50 SOL), token base units for sell", "type": "string" }, "mint": { "description": "the pump.fun token: a mint or a pump.fun/gmgn/solscan/birdeye link", "maxLength": 512, "minLength": 32, "type": "string" }, "side": { "description": "buy or sell, required: amount is in lamports for buy, token base units for sell", "enum": [ "buy", "sell" ], "type": "string" }, "slippage_pct": { "default": 1, "description": "percent, default 1", "maximum": 5, "minimum": 0.01, "type": "number" }, "wallet": { "description": "optional: the signing wallet's base58 key; without it, an estimated quote", "maxLength": 44, "minLength": 32, "type": "string" } }, "required": [ "mint", "amount", "side" ], "type": "object" }, "name": "swap_build_checked", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "mint": { "description": "Alias of token, either name works: takes a mint or a pump.fun/gmgn/solscan/birdeye link, or a pons 0x address.", "type": "string" }, "token": { "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>).", "maxLength": 512, "minLength": 32, "type": "string" } }, "type": "object" }, "name": "token_check", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "mint": { "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": "string" } }, "required": [ "mint" ], "type": "object" }, "name": "verdict", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "$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.", "inputSchema": { "properties": { "address": { "description": "base58 Solana wallet address (32-44 chars)", "examples": [ "11111111111111111111111111111111" ], "maxLength": 44, "minLength": 32, "type": "string" } }, "required": [ "address" ], "type": "object" }, "name": "wallet_profile", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "cursor": { "default": null, "description": "Optional opaque watch cursor for these exact mints; no new watched events returns an unpaid result.", "maxLength": 1024, "type": [ "string", "null" ] }, "mints": { "description": "One to five distinct pump.fun mints with full live coverage, each a mint or a pump.fun/gmgn/solscan/birdeye link", "items": { "type": "string" }, "maxItems": 5, "minItems": 1, "type": "array" } }, "required": [ "mints" ], "type": "object" }, "name": "watchlist_updates", "outputSchema": { "properties": { "coverage": { "type": "string" }, "data": { "type": [ "object", "null" ] }, "meta": { "type": "object" }, "ok": { "type": "boolean" } }, "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:0eccefee9aaeae95fa7531e1c18a50d8c3269c209f4ea7fa3b0c84bb99fc742a | sha256sum