Model Context Protocol

XRPL.to MCP Server

One endpoint gives Claude, Cursor or any MCP client live XRPL token analytics — prices, risk reviews, supply flows, holders, traders, order books, AMM pools, whale activity, accounts and exact DEX swap quotes. Read-only: nothing here signs or submits — the only writes are your own notes, scoped to your API key.

49 tools
8 prompts
9 resources
POST https://api.xrpl.to/v1/mcp

Connect in 30 seconds

Claude Code
run in your terminal
claude mcp add xrplto --transport http https://api.xrpl.to/v1/mcp
Claude Desktop
Settings → Developer → Edit Config (claude_desktop_config.json)
{
  "mcpServers": {
    "xrplto": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.xrpl.to/v1/mcp"
      ]
    }
  }
}
Cursor / Windsurf / Cline
add to mcp.json
{
  "mcpServers": {
    "xrplto": {
      "url": "https://api.xrpl.to/v1/mcp"
    }
  }
}
With an API key
lifts anonymous rate limits — any plan from /docs
claude mcp add xrplto --transport http https://api.xrpl.to/v1/mcp --header "X-Api-Key: YOUR_KEY"

Beyond the dedicated tools, api_get reaches every documented public GET endpoint — the catalog with parameters is the xrplto://reference/api-endpoints resource. Anonymous calls get anonymous rate limits. Send X-Api-Key to use your API plan. Stateless Streamable HTTP, JSON-RPC 2.0 — initialize, tools/list, tools/call, prompts/*, resources/*.

Tool catalog · 49

search_tokens

Search XRPL tokens by name, symbol or issuer address. Returns matching tokens with md5 ids, price, volume and market cap.

query string required

Returns up to 15 matches with md5, name, issuer, currency, verified flag, price, 24h volume, market cap, holders.

get_token

Detail for one XRPL token: price, market cap, volume, TVL, holders, origin, risk fields. id = md5, slug, or "XRP". Compact by default (the ~55 essential fields); pass full=true for the entire document.

id string requiredfull boolean = false

Returns token with exch (XRP price), usd, marketcap, vol24hxrp, tvl, holders, trustlines, pro5m/1h/24h/7d changes, origin, tags, creator, top10, creatorHoldingPercent, depthPlus2/Minus2, tvlChange24h, vol6h/7d (full adds description, social links, supply detail and pipeline fields).

get_creator_activity

On-chain activity of a token creator/dev wallet for that token: buys, sells, transfers, liquidity events.

id string required

Returns events[] of the creator wallet for this token: side (buy/sell/transfer/deposit/withdraw/burn...), amounts, XRP value, time, hash.

get_token_flow

Supply flow map: where the issued/dev supply went — held, sold, pooled, sent to exchanges, burned.

id string required

Returns summary (flowSubject, role dev|issuer, totalTransferred, coverage flags), accountDistribution buckets (held/sold/pooled/toExchange/burned/untraced/unscanned), exchangeBreakdown, linkedAddresses.

analyze_token_risk

Risk review for a token: linked prior launches by the same operator, dead-token history, risk signals.

id string required

Returns riskLevel, score, risk signals, creatorFamily (prior launches by the same operator with dead/verified counts, partial flag), concentration fields.

get_wash_trading

Wash-trading check for a token: which wallets self-trade to fake volume, using the per-wallet wash score (0-100, from FIFO/self-trade analysis). Returns a token-level verdict plus the top offenders.

id string requiredinterval 24h|7d|30d|all

Returns {washTraders, highWashTraders, washVolumeXrp, tradersScanned, verdict, topWashers[] {account, washScore, suspicious, volumeXrp, trades}}.

find_snipers

Find the earliest buyers of a token (snipers) — the first wallets to buy after launch, with how many seconds after the first trade and how much they took. Coordinated early buying is a manipulation signal.

id string requiredwindow_secs integer = 300

Returns snipers[] {account, secsAfterFirst, tokensBought, xrpPaid, ledger}, firstTradeTime, windowBuyers.

find_sandwich_attacks

Scan a token for the sandwich/MEV pattern: wallets that BUY and SELL it in one ledger (round-trips), and the subset where a third party traded the same side bracketed between the two legs by on-chain fill order. Because XRPL orders a ledger by canonical hash shuffle (not fee/time), a one-off bracket is mostly chance — the real signal is a REPEAT bracketer across many ledgers.

id string requiredlimit integer = 200

Returns {sameLedgerRoundTrips, bracketedRoundTrips, repeatBracketers[], topBracketers[] {wallet, bracketedLedgers, distinctVictims, direction}}.

get_token_analytics

Trader-side analytics for a token: unique traders, buyer/seller split, suspected wash volume, concentration.

id string required

Returns trader-side metrics: unique traders/makers/takers, buyer vs seller counts, suspected wash volume share, concentration of volume.

get_related_projects

Projects sharing an AUDIENCE with a token (co-holders, co-mentions) — shared audience, not shared operator.

id string required

Returns related[] tokens/NFT collections sharing holders or promoters, with shared-wallet counts and posts; empty when none.

get_trending_tokens

Top trending XRPL tokens right now.

limit integer = 10

Returns tokens ranked by trendingScore with lightweight market fields.

get_new_launches

Most recently launched XRPL tokens, newest first.

limit integer = 10

Returns tokens sorted by dateon desc with lightweight market fields.

get_global_stats

Platform-wide XRPL token market stats: totals, 24h volume, active tokens.

Returns platform totals: token count, 24h volume, active tokens, XRP price, fiat rates.

get_top_movers

Biggest gainers or losers over a timeframe.

timeframe 5m|1h|24h|7d = 24hdirection gainers|losers = gainerslimit integer = 10

Returns tokens[] sorted by the chosen timeframe change (pro5m/1h/24h/7d) with lightweight fields.

get_tokens_by_category

Tokens in a category/tag (e.g. Memes, Stablecoin, Gaming, FirstLedger).

category string requiredlimit integer = 20

Returns tokens[] carrying the tag, sorted by 24h volume.

get_news

Latest XRPL/XRP news with sentiment.

limit integer = 15

Returns articles[] with title, source, url, published time, sentiment.

get_trades

Recent DEX trades for a token (time, side, amounts, price, trader).

id string requiredlimit integer = 20

Returns trades[] with time, side, amounts paid/got, price, maker/taker accounts, tx hash.

get_ohlc

OHLC candles for a token (XRP quoted).

id string requiredresolution 1|5|15|60|240|D = Dcount integer = 100

Returns ohlc candle array [time, open, high, low, close, volume] in XRP.

get_orderbook

Live XRP order book for a token (bids/asks with sizes).

id string requiredlimit integer = 30

Returns bids[] and asks[] with price, amount, total, maker; spread.

get_token_pairs

Trading pairs a token trades in, with per-pair volume.

id string required

Returns pairs[] the token trades in with counter asset and 24h volume.

find_arb_pairs

Check a token for an arbitrage gap between its AMM spot price and the live order book (buy cheap on one venue, sell dear on the other).

id string required

Returns {ammSpot, bestBid, bestAsk, arbGapPct, direction} or none.

get_whale_activity

Recent large trades on a token with whale badges (smart money, named wallets, cross-token holders).

id string requiredlimit integer = 25

Returns events[] of large fills with side, xrpAmount, account, badges (smart money, named, cross-token holder, new wallet), time, hash.

get_amm_pools

AMM pools for a token: liquidity, fees, APY, LP burned.

id string required

Returns pools[] with account, assets, liquidity, tradingFee, apy24h/7d, lpBurned %, status.

get_swap_quote

Exact swap quote between two tokens on the XRPL DEX (AMM + order book routed). Token ids: md5, or the literal "XRP". Give source_value (amount to spend) OR destination_value (amount to receive).

source_token string requireddestination_token string requiredsource_value stringdestination_value stringsource_account string

Returns quote {source_amount, destination_amount (XRP drops string or {currency,issuer,value}), execution_rate, spot_price, price_impact, amm_price_change, suggested_slippage, minimum_received, paths, warnings, route}, alternatives, requiresTrustline.

get_holders

Top holders of a token with balances and share of supply.

id string requiredlimit integer = 20

Returns richList[] with account, balance, holding % of supply, isAMM/isCreator/freeze flags plus summary top10/top20 %.

get_top_traders

Top traders of a token ranked by P&L, volume or wash-trading score, with realized/unrealized PnL, ROI and balances.

id string requiredsortBy pnl|volume|wash = pnlinterval 24h|7d|30d|all = 30dlimit integer = 20

Returns traders[] with account, realized/unrealized PnL (XRP), ROI, buy/sell volumes, trade counts, current balance, wash flag.

get_exit_liquidity

Real exit-liquidity curve: how much XRP you actually receive selling several sizes of a token against live AMM+book, with price impact per size. Answers "can I get out at size".

id string requiredxrp_sizes array

Returns curve[] {xrpSize, tokensSold, xrpReceived, effectivePricePct, priceImpact}.

get_wallet_pnl

Trading P&L profile of a wallet across all tokens: realized/unrealized PnL, ROI, win rate, volume, best/worst trades.

account string required

Returns aggregate trading profile: realized/unrealized PnL, ROI, win rate, volumes, trade counts, best/worst trades, per-token breakdown. 404 (isError) for wallets with no DEX trades.

get_holder_graph

Holder-count history of a token over a range (growth/decline trend).

id string requiredrange 7d|30d|90d|all = 30d

Returns time series of holder counts over the range.

check_scam

Check an XRPL account against the scam blocklist (drainers, phishing, impersonation) plus account-freshness advisory.

account string required

Returns is_scam, category, reason, source plus first_seen / age_seconds / new_account advisory.

get_account_info

XRPL account profile: balance, activation, name/labels, flags.

account string required

Returns balance, reserve/ownerCount, inception/parent (activator), name/domain labels, flags, blackholed, scam flags.

get_account_ancestry

Who activated an account and who it activated (funding lineage), with tokens launched along the chain.

account string requireddirection up|down|both = both

Returns ancestors[] (who funded whom, depth) and children[] (accounts it activated), tokens launched along the chain.

get_transaction

Look up an XRPL transaction by hash.

hash string required

Returns decoded transaction: type, account, destination, amounts, fee, result code, ledger, date, affected balances.

get_wallet_risk

Composite risk read for an XRPL wallet from on-chain signals — scam-list status, account age, funding source (exchange vs unlabeled), blackhole, balance. Transparent factor breakdown + an aggregate level (Low/Medium/Elevated/Critical), not a black-box score.

account string required

Returns {level, factors, activator, signals}.

get_offramp

Trace how a wallet's XRP exits to exchanges INCLUDING one hop downstream (funds → intermediary → exchange), which direct cex-cashout detection misses.

account string requiredlimit integer = 200

Returns direct[] and viaIntermediary[] {intermediary, exchange, xrp}.

get_payment_flows

Trace an XRPL wallet's recent XRP payment flows: who funded it and where it sent XRP, aggregated by counterparty with named exchanges labeled.

account string requiredlimit integer = 200

Returns inflows[]/outflows[] {counterparty, name, xrp, txCount, isExchange}, netXrp, and scanned (tx count / hasMore).

get_cex_cashouts

Detect XRP a wallet sent to centralized exchanges (Binance, Coinbase, Uphold, Gate.io…), identified from our own account registry, not a hardcoded list.

account string requiredlimit integer = 200

Returns cashouts[] {exchange, counterparty, xrp, txCount}, totalXrp, scanned.

describe_bot_activity

Characterize whether a wallet trades like a bot: transaction rate, interval regularity (bots fire at near-constant spacing), and transaction-type mix.

account string requiredlimit integer = 200

Returns {txCount, spanHours, txPerDay, intervalRegularity 0-1, typeMix, verdict}.

get_account_transactions

Recent transactions of an XRPL account (payments, trades, trustlines, NFT and AMM activity).

account string requiredlimit integer = 50

Returns txs[] decoded (type, counterparty, amounts, time, hash) with hasMore paging flag.

get_account_trustlines

Token holdings (trust lines with balances) of an XRPL account.

account string requiredlimit integer = 100

Returns lines[] with currency, issuer, balance, limit, flags plus token names.

get_account_nfts

NFTs owned by an XRPL account.

account string required

Returns nfts[] with NFTokenID, collection, name, image, flags.

get_social_mentions

Recent X/Twitter posts mentioning a token.

id string requiredlimit integer = 20

Returns mentions[] posts with author, text, engagement, time.

api_get

Call ANY documented public xrpl.to GET endpoint not covered by a dedicated tool (the long tail: NFT collections, charts, platform stats, account balances/objects/offers, ledger, tx explain, pairs, richlists…). Read the resource xrplto://reference/api-endpoints for the full list with parameters. Only paths in the public docs are allowed; auth-gated and admin endpoints are refused.

path string requiredquery object

Returns the endpoint's JSON response, arrays shrunk to fit.

xrpl_command

Call any READ-ONLY rippled JSON-RPC command directly against the XRPL node — the full ledger API for anything the higher-level tools do not cover: account_objects, account_offers, account_channels, ledger_entry, ledger_data, owner_info, noripple_check, deposit_authorized, nft_buy_offers, nft_sell_offers, path_find, ripple_path_find, transaction_entry, get_aggregate_price (price oracles), vault_info (single-asset vaults), simulate (dry-run a tx, submits nothing), server_info, feature, and more. Write/sign/admin commands are refused. Params follow xrpl.org for that command.

command string requiredparams object

Returns the raw rippled result.

search_rippled_source

Search the actual rippled C++ source code (the XRPL server implementation) for engine-internals questions the docs and node cannot answer: exact constants, flag bit values, fee/reserve/AMM math, transaction apply/retry logic, canonical tx ordering, error-code meanings. Returns matching file:line excerpts pinned to the checked-out commit, each citable as a GitHub permalink. Use this for "what is the exact value/behaviour in rippled" questions; use search_xrpl_docs (or xrpl.org) for how-to and API reference.

query string requiredregex boolean = falsepath_glob stringcontext integer = 0max_results integer = 25

Returns {commit, permalinkBase, count, matches[] {file, line, text}}.

search_forum_posts

Search the scraped early-XRP / Ripple forum corpus for historical context on-chain tools cannot give: BitcoinTalk ripple threads (e.g. "Pizza for ripples?", "Ripple Giveaway!", "Selling XRP for FRC", "A foundation with 80% of the coins can never work"), bitcoin-otc web-of-trust ratings (the fuzzybear OTC trader), and archived forum.ripple.com. Use for provenance / "who said what in early XRP" / founding-era questions. Returns matching passages with the source site and original thread URL, citable.

query string requiredregex boolean = falsemax_results integer = 20

Returns {count, matches[] {site, url, title, snippet}}.

save_note

Save a finding under a subject (a wallet, a token, a topic) so it can be recalled in later sessions. Notes belong to the X-Api-Key making the call; without a key this tool explains how to get one.

subject string requiredtext string required

Returns the stored note {id, subject, text, at}.

recall_notes

Recall notes saved earlier under this X-Api-Key, optionally filtered by subject (exact or prefix match).

subject string

Returns notes[] newest first.

delete_note

Delete one saved note by id.

id string required

Returns {deleted: true|false}.

Prompts · 8

token-audit(token*)

Full due diligence on a token: identity, risk review, supply flow, holders, wash check, creator activity, liquidity.

investigate-wallet(account*)

Who is this wallet: profile, funding lineage, scam status, trading P&L, holdings, recent activity.

trace-funds(account*)

Trace where a wallet's funds came from and went: activation chain, payment history, exchange touchpoints.

market-brief

Current XRPL token market snapshot: totals, trending, movers, new launches, news.

swap-check(token*, xrp_amount*)

Pre-swap due diligence: verify the token, risk, live quote, price impact and liquidity for a given size.

new-launch-scan(count)

Screen the newest launches for red flags in one pass.

whale-watch(token*)

What large players are doing on a token right now.

compare-tokens(a*, b*)

Side-by-side comparison of two tokens on fundamentals and risk.

Resources · 9

xrplto://token/{id}

Full token document by md5, slug, issuer-currency or XRP

xrplto://account/{address}

XRPL account profile by r-address

xrplto://reference/token-identity

Token identity on xrpl.to

xrplto://reference/xrpl-basics

XRPL fees, reserves and settlement facts

xrplto://reference/risk-review

How to read analyze_token_risk

xrplto://reference/supply-flow

How to read get_token_flow

xrplto://reference/links

Deep links into xrpl.to

xrplto://reference/amm-math

AMM pricing and depth

xrplto://reference/api-endpoints

Public API endpoint catalog for api_get (167 endpoints)

Catalog fetched live from the server · 2026-09-21 21:42 UTC. Everything the page lists is what tools/list returns.