XRPL.to Token Analytics

io.github.xrplto/xrpl-to · v1.20.0 · crypto-web3

XRPL.to Token Analytics is healthy: it completed an MCP handshake in 1685 ms and exposes 88 tools.

XRP Ledger tokens, AMM pools, NFTs, accounts and transactions: prices, holders, trades and history

Endpoint: https://api.xrpl.to/v1/mcp (streamable-http)

No repository listed · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count88
Latency1685 ms
Last checked (UTC)2026-10-20T10:06:08.335Z

Health history

Checked (UTC)StatusLatencyError
2026-10-20T10:06:08.335ZHealthy1685

Tools (88)

search_tokensSearch XRPL tokens by name, symbol or issuer address. Returns matching tokens with md5 ids, price, volume and market cap. An r-address returns every token that account issued or created (a launchpad creator funds a separate issuer wallet; role says which), including the ones tagged Scam, which a nam
get_tokenDetail 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. Returns: token with exch (XRP price), usd, marketcap, vol24hxrp, tvl, holders, trustlines, pro5m/1
get_trending_tokensTop trending XRPL tokens right now. Returns: tokens ranked by trendingScore with lightweight market fields.
get_new_launchesMost recently launched XRPL tokens, newest first. With by_origin, how many tokens each launchpad issued over a window. With creator true, what each token's creator received and what it sold, in total and within 24 hours of launch: the way to find launches whose creator dumped. Returns: tokens sorted
get_tradesDEX trades for a token (time, side, amounts, price, trader): the latest, or those inside a past window (since/until), optionally of one trader. by_account true answers "who sold into that dump": the whole window (up to 7 days) totalled per wallet — net XRP each one sold or bought, the price path (op
get_holdersTop holders of a token with balances and share of supply, each with the wallet that activated it; offset pages past the first rows. id XRP gives the XRP rich list (get_xrp_distribution with list true adds each account's last activity). Holders only: a line the issuer froze after it was emptied is no
get_top_tradersTop traders of a token ranked by P&L, volume or wash-trading score, with realized/unrealized PnL, ROI and balances. Returns: traders[] with account, realized/unrealized PnL (XRP), ROI, buy/sell volumes, trade counts, current balance, wash flag.
get_creator_activityOn-chain activity of a token creator/dev wallet for that token: buys, sells, transfers, liquidity events. Returns: events[] of the creator wallet for this token: side (buy/sell/transfer/deposit/withdraw/burn...), amounts, XRP value, time, hash.
get_token_flowSupply flow map: where the issued/dev supply went — held, sold, pooled, sent to exchanges, burned. Returns: summary with the split as percentages of supply (retainedPctOfSupply, tracedSoldPctOfSupply, lpDepositedPctOfSupply, placedToExchangePctOfSupply, creatorBurnedPctOfSupply, untracedPctOfSupply,
analyze_token_riskRisk review for a token: an overall risk score, how many risk and positive signals fired, how much supply the creator controls, and linked prior launches by the same operator with their dead-token history. Returns: score (1-10, higher is riskier) and riskLevel, riskCount and positiveCount (how many
get_frozen_linesTrust lines of a token that its ISSUER has frozen or deep-frozen right now, zero balances included (holder lists and gateway_balances leave those out), each with the transaction that switched the freeze on, found by walking the line's own history; plus the issuer's control flags (NoFreeze, GlobalFre
get_issuer_actionsWhat issuers did to their tokens and holders, as it happened on the ledger: freezes and deep freezes (and lifting them), trust-line authorizations, clawbacks (from a holder, or from an AMM pool with AMMClawback), MPT locks and authorizations, and the account flags that grant or give up those powers
get_wash_tradingWash-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); or, with collection, for an NFT collection: sales of an NFT back to a wallet that owned it, and sales between wallets tied by creation (backToPreviousOwner
check_scamCheck an XRPL account against the scam blocklist (drainers, phishing, impersonation) plus account-freshness advisory. get_wallet_risk already runs this check — call check_scam alone for a quick yes/no, or on counterparties. Returns: is_scam, category, reason, source plus first_seen / age_seconds / n
check_domainIs a website a known XRPL scam, how old is its domain, and which XRPL accounts does it claim? Without a domain, the newest entries of the phishing-domain list with what each impersonates. Checks the domain and each parent domain against xrpl.to's phishing-domain list (the list GET /v1/scams serves),
get_ohlcOHLC candles for a token, or its price at a past moment. Quoted in XRP by default (the literal XRP in USD). vs_currency USD converts each candle at the XRP/USD rate of its own time; EUR/JPY/CNH then convert it at the ECB reference rate of its own day (the ECB publishes CNY, used for CNH; fx_basis sa
get_orderbookLive XRP order book for a token (bids/asks with sizes). Returns: bids[] and asks[] with price, amount, total, maker; spread.
get_token_pairsTrading pairs a token trades in, with per-pair volume. Returns: pairs[] the token trades in with counter asset and 24h volume.
get_account_infoXRPL account profile: balance, activation, name/labels, flags. Returns: balance, reserve/ownerCount, inception/parent (activator), name/domain labels, flags, blackholed, scam flags; for a deleted account {deleted, created, activatedBy, fundedXrp, deletedTo, deleteTx} instead of "not found".
get_account_ancestryWho activated an account and who it activated (funding lineage), with tokens launched along the chain. Each child carries childrenCount (the wallets IT activated), and descendants totals two levels down, so a family tree needs one call, not one per child. Returns: ancestors[] (who funded whom, depth
get_transactionLook up an XRPL transaction by hash. Returns: decoded transaction: type, account, destination, amounts, fee, result code, ledger, date, affected balances.
get_global_statsPlatform-wide XRPL token market stats: totals, 24h volume, active tokens. Returns: platform totals: token count, 24h volume, active tokens, XRP price, fiat rates. Its transaction counts are DEX trades on tracked tokens, not every ledger transaction: for the whole network use get_network_activity.
get_network_activityThe whole XRP Ledger's activity over the last N hours, or a calendar window with since/until (every transaction, not only token trades), all exact: xrpl.to counts each ledger's transactions by type and result as it applies the ledger. Other views of the same network: by app (transactions per wallet
get_validatorsThe validators xrpl.to's Mainnet node trusts (its UNL, from the default validator list sites), each with the domain in its signed manifest, its server version and its last vote; and every amendment still being voted on, with rippled's own tally (votes for, the threshold, when majority was reached, w
get_escrowsEscrows on the XRP Ledger, from xrpl.to's index of every Escrow object (kept current each ledger): totals (how many, how much XRP, how many owners) for the whole ledger or one account, and the escrows sorted by the next to unlock, the largest, or those that can be finished now. FinishAfter is the ea
get_xrp_distributionHow XRP is spread across accounts, from xrpl.to's index of every account balance (kept current each ledger): accounts and XRP in balance bands (over 1B, 100M-1B, 10M-100M, 1M-10M, 100k-1M, 10k-100k, 1k-10k, under 1k), each as a share of the total supply and of the XRP held in accounts (the supply le
get_oracle_pricesPrices written ON the XRP Ledger by price oracles (XLS-47 Oracle objects), read from the validated ledger: each publisher's price with its last update time and age, and the ledger's own aggregate (median, mean, standard deviation, from rippled get_aggregate_price). Reads every publisher on the ledge
get_top_moversBiggest gainers or losers over a timeframe. Returns: tokens[] sorted by the chosen timeframe change (pro5m/1h/24h/7d) with lightweight fields.
get_tokens_by_categoryTokens in a category/tag (e.g. Memes, Stablecoin, Gaming, FirstLedger), or of one token type: token_type mpt lists the Multi-Purpose Token (MPT) issuances with each issuance's rules read from the ledger, lp the AMM LP tokens; with neither, every listed token. Sorted by 24h volume unless sort says ot
get_exit_liquidityReal 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". Returns: curve[] {xrpSize, tokensSold, xrpReceived, effectivePricePct, priceImpact}.
get_wallet_riskComposite 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. Returns: {level, factors, activator, sign
get_offrampTrace how a wallet's XRP exits to exchanges INCLUDING one hop downstream (funds → intermediary → exchange), which direct cex-cashout detection misses. Returns: direct[] and viaIntermediary[] {intermediary, exchange, xrp}.
get_payment_flowsTrace an XRPL wallet's payment flows: who funded it and where it sent XRP and tokens, aggregated by counterparty (XRP as xrp/txCount, tokens by asset as tokens/tokenTxCount) with named exchanges labeled. Reads its latest transactions (up to 200) by default; all_history reads its whole history (up to
get_cex_cashoutsDetect XRP a wallet sent to centralized exchanges and other custodial services (Binance, Coinbase, Uphold, Gate.io…): accounts that many wallets pay under their own destination tags, named from our account registry, not a hardcoded list. Its latest transactions (up to 200), or with all_history its w
find_snipersFind 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. Returns: snipers[] {account, secsAfterFirst, tokensBought, xrpPaid (XRP legs only), paidOther
find_sandwich_attacksSandwich/MEV detection three ways. With victim (any account; add id to keep one token): every ledger in the last days (default 60) where another wallet sandwiched its trades, with each bot, the wallet that funded it (fleets) and what the bot made: "was I sandwiched, by whom". With account (a bot wal
describe_bot_activityCharacterize whether a wallet trades like a bot, from the transactions it SIGNED: send rate, interval regularity (bots fire at near-constant spacing), and transaction-type mix. The account history also lists every payment, trade or swap that merely touched the account; those are other accounts' acti
find_arb_pairsCheck 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). Returns: {ammSpot, bestBid, bestAsk, arbGapPct, direction} or none.
get_wallet_pnlTrading P&L profile of a wallet across all tokens: realized/unrealized PnL, ROI, win rate, volume, best/worst trades. realizedPnl counts tokens sold without a recorded purchase (transfers, airdrops, LP withdrawals) at zero cost; pnlSplit separates the trading result on positions it bought from those
get_token_analyticsTrader-side analytics for a token: unique traders, buyer/seller split, suspected wash volume, concentration. Returns: trader-side metrics: unique traders/makers/takers, buyer vs seller counts, suspected wash volume share, concentration of volume.
get_holder_graphHolder-count history of a token over a range (growth/decline trend): counts only, not which wallets. Returns: time series of holder counts over the range.
get_whale_activityRecent large trades on a token with whale badges (smart money, named wallets, cross-token holders). Returns: events[] of large fills with side, xrpAmount, account, badges (smart money, named, cross-token holder, new wallet), time, hash.
get_related_projectsProjects sharing an AUDIENCE with a token (co-holders, co-mentions) — shared audience, not shared operator. Returns: related[] tokens/NFT collections sharing holders or promoters, with shared-wallet counts and posts; empty when none.
get_social_mentionsRecent X/Twitter posts mentioning a token. Without an id, the tokens mentioned most over the last `hours`: posts, distinct authors, views, and the bullish/bearish/neutral reading of the posts rated so far. Returns: mentions[] posts with author, text, engagement, time; without id {window, tokens[] {m
search_xLive X (Twitter) search on any topic, not only a token: an amendment, a project, a person, an address, a domain. X search operators work (from:user, "exact phrase", -word, since:YYYY-MM-DD). A sample of recent matching posts, not every post; each is its author's claim. 10 credits a call. Returns: {q
get_amm_poolsAMM pools for a token, or the whole ledger's pools ranked when no token is given (by 24h volume, liquidity, APY, fees or creation). tradingFee is in units of 1/100,000: 197 = 0.197%, 1000 = 1%, the maximum. apy24h/apy7d carry the window's volume, fees, trades and liquidity in XRP. With flows, the po
get_lp_positionsAn account's AMM liquidity positions, read live from the validated ledger: every LP token it holds (an LP token is a trust line issued by an AMM account), each pool's reserves and LP supply, the account's share, what it would get back by withdrawing everything, and a value in XRP (a pool with XRP: t
get_holder_overlapWallets that hold BOTH of two tokens (or, with collection_a and collection_b, two NFT collections; or a token and a collection: a with collection_b) right now, counted over every holder from xrpl.to's trust-line index (not a sample): how many, what share of each token's holders that is, and the larg
get_account_transactionsTransactions of an XRPL account (payments, trades, trust lines, NFT and AMM activity) from the full history, newest first or (order oldest) from its first transaction: how a wallet was funded and where its first tokens came from. Filter by transaction type and by date range. summary true counts the
get_account_trustlinesToken holdings (trust lines with balances) of an XRPL account. With valued true: every holding priced in XRP (a token at its current price, an AMM LP token at its share of the pool), largest first, with the total. Returns: lines[] with currency, issuer, balance, limit, flags plus token names; valued
get_account_objectsEverything an XRPL account owns or is owed on the ledger, summarised by type in ONE call (with top_owners instead, the accounts owning the most objects or Tickets ledger-wide) — escrows (XRP locked, finishable now, next unlock, never-cancellable), checks (SendMax totals by asset, destinations, expir
get_account_nftsNFTs owned by an XRPL account, and what they are worth: the ledger's own list (a first page) plus every held NFT grouped by collection, each valued at its collection's floor (the cheapest ask) and at what its sales have averaged. Returns: nfts[] (ledger entries), byCollection {nfts, collections, val
get_nft_offersNFT offers touching an account, and whether any is a phishing lure: offers it made, offers others made on its NFTs, and sell offers ADDRESSED to it (the airdrop-phishing shape — a free NFT whose name or link lures the owner to a drainer site). Each incoming offer carries the NFT's scam verdict and w
get_nft_activityAn account's NFT trading history: buys, sells, mints, burns, transfers and offers, newest first, with prices in XRP and the counterparty. Without an account, the whole ledger over the last `hours`: how many events of the given types happened and which collections had the most (e.g. types MINT for "h
get_nft_collectionOne NFT collection in one call (or, with rank and no id, collections ranked by floor, volume, owners or items, with sane filters): floor (with its 24h/7d/30d history, all-time high, and the floor day by day over the last 30 days), volume and sales over 24h/7d/30d/all time, items, owners, listings, t
get_holder_cohortsExact holder counts by position size for a token, over EVERY holder (not a sample): dust worth up to 0.01 XRP (airdrop-sized), then up to 1, 10, 100 and 1,000 XRP, and above, valued at the current price. With profit true, also how many holders are in profit or at a loss on what they bought (the trad
get_holder_clustersAre a token's top holders connected? Groups its top holders (up to 100, AMM pools left out) by shared activation ancestry, in one call: each holder's chain of activators is walked up to 4 wallets, stopping at service wallets (more than 100 activations: exchanges, launchpads), and holders whose chain
scan_tweet_addressesXRPL addresses posted in the replies to an X (Twitter) post — for airdrops and giveaways. X search returns only part of a thread, so the result says how many replies it saw. Returns: {tweetId, repliesSeen, addresses[] {address, handle, snippet}}.
pick_giveaway_winnersDraw winners for an XRPL giveaway from the replies to an X post: the XRPL addresses posted, one entry per X account and per address, drawn with the hash of an XRP Ledger ledger as the public seed, so anyone can repeat the draw. Pass closes_at (when the giveaway closed) and the seed is the first ledg
get_testnetxrpl.to's live XRP Ledger TESTNET: the tokens (stablecoin, deep and volatile pools, edge cases such as transfer fee, frozen, auth-only, blackholed), AMM pools, NFT collections and test accounts it keeps active, the faucet grant, node state and the endpoints to read, submit and stream through. Read t
fund_testnet_accountSend Testnet XRP (worthless, the XRP Ledger TESTNET only) from xrpl.to's faucet to an address: the faucet's standard grant, one per address every 24 hours. The one tool here that sends anything; it never touches Mainnet and signs nothing for the caller. Use it to activate or top up a Testnet account
get_fear_greed_indexxrpl.to's Fear & Greed index for the XRP Ledger market (0 = extreme fear, 100 = extreme greed), recomputed every minute over listed XRPL tokens with stablecoins excluded. It is the XRPL market's own index, not the crypto-wide one. With days: its history instead, one reading a day taken when xrpl.to'
get_trade_briefOne call for the market around XRP: XRP's price and 24h change (xrpl.to's own) and the crypto market (CoinGecko), xrpl.to's Fear & Greed for the XRP Ledger, perpetuals across six venues (the OI-weighted 8-hour funding rate, open interest, each venue's rate, long/short ratios, taker buy/sell over the
get_funding_ratesPerpetual futures positioning for XRP, BTC or ETH on OKX, Binance, Bybit, Hyperliquid, Bitget and Gate: each venue's funding rate for its own period (intervalHours; Hyperliquid pays every hour) and the same rate over 8 hours (fundingRate8h, the one to compare across venues; positive = longs pay shor
get_liquidationsRecent real liquidations of XRP, BTC or ETH perpetual positions; with levels true, instead the ESTIMATED liquidation levels (a heatmap): where positions opened in the last 7 days on Binance, Bybit and OKX would be liquidated, in 1% price bands up to 25% either side, longs below the price and shorts
get_crypto_marketThe crypto market as a whole, across all venues (centralized exchanges included): total market cap and 24h volume, BTC/ETH/XRP/USDT/USDC dominance, and XRP's global market cap, rank, volume and all-time high. With history (BTC, ETH, SOL, …): that asset's daily closes (Binance, USDT) and the correlat
get_prediction_marketsActive Polymarket prediction markets on the Fed, crypto or the economy, busiest first, each outcome priced as a probability (0-1). Returns: {topic, events[] {title, url, endDate, volume24hUsd, markets[] {question, outcomes[] {name, probability}}}}.
get_macro_indicatorsLatest US macro readings from FRED: effective fed funds rate, 10-year Treasury yield, CPI inflation and M2 year over year, unemployment rate, initial jobless claims, broad dollar index — each with its date, previous reading and FRED link. With id: that one series over the last months instead (every
find_walletsWhich XRPL wallets belong to a person, project or website — the reverse of identify_wallet_owner ("what is @JoelKatz's wallet?"). Give an X handle, a domain or an exact name; returns every account xrpl.to's index ties to it with WHERE each tie comes from, and reads the candidates' xrp-ledger.toml fi
identify_wallet_ownerWho owns or runs an XRPL wallet, searched on the web and X — for the question the ledger cannot answer (on-chain tools prove links between wallets, never a name). Returns leads with the posts and pages behind them, not proof. Needs your own X-Api-Key (20,000 credits a call). Returns: {subject, answe
identify_token_operatorWho runs an XRPL token, searched on the web and X using the token's issuer, name, X account and website. Returns leads with the posts and pages behind them, not proof. Needs your own X-Api-Key (20,000 credits a call). Returns: {subject, answer, sources[] (links), searches {web, x}, asOf, note}.
get_newsXRPL/XRP news with sentiment, from xrpl.to's XRP-focused news feed (not a general crypto wire). Search it with query ("when was Bitget hacked?" → query "Bitget hack"), or list the latest, optionally from one source (the response lists the tracked sources) or one day. Returns: data[] with title, sour
api_getCall ANY documented public xrpl.to GET endpoint not covered by a dedicated tool (to tell a developer how to call the REST API from their own code, use get_api_docs) (the long tail: NFT collections, charts, platform stats, account balances/objects/offers, ledger, tx explain, pairs, richlists…). Read
xrpl_commandCall 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_of
run_scriptRun a short read-only JavaScript program against the XRP Ledger, for what no other tool answers: a scan of every ledger in a past day (about 22,000 ledgers: split it over three calls and add the parts), a sample of ledgers across history, many accounts' histories, anything that needs a loop over rip
get_jobRead a background job: a tool started with background: true (run_script, get_account_transactions, get_payment_flows, get_cex_cashouts), which can run up to 10 minutes. Waits up to wait_s seconds for it to finish, then returns its status, and the tool's own result once it is done. Jobs are kept 1 ho
cancel_jobStop a background job started with background: true. Returns: {job_id, job_status: cancelled}, or the status it had already ended with and note: already ended.
decode_xrplDecode XRPL encodings exactly as the protocol defines them, without guessing: a transaction blob (hex) to its JSON, flags and memo text, plus its hash to look up with get_transaction; an NFTokenID to its flags, transfer fee, issuer, taxon and sequence; an X-address to its classic address and destina
get_protocol_rulesXRP Ledger protocol rules checked against the rippled source this server runs: what the ledger allows and refuses and what things cost. Covers freezes and deep freeze, clawback, authorization, trust lines and their limits, payments and partial payments, Deposit Authorization, DisallowXRP, escrows, e
explain_result_codeWhat an XRPL transaction result code means, read from the rippled source this server runs: its class (tes, tec, tef, tel, tem, ter) with what the class implies, quoted from TER.h (applied or not, fee claimed or not, forwarded, whether it can still succeed); its number (tec numbers are stored in meta
search_rippled_sourceSearch 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. It also reads the repository's
search_forum_postsSearch 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 fuzzybea
search_xrpl_docsSearch the XRP Ledger documentation at xrpl.build (xrpl.org's docs, lighter and improved, at the same paths): how the ledger works and how to build on it. Transaction types with their fields, flags and error cases, API methods, concepts (reserves, tickets, rippling, AMM, escrow, multi-signing ...),
get_api_docsxrpl.to's own REST and WebSocket API from its published docs (the same as GET https://api.xrpl.to/v1/docs and https://xrpl.to/docs), for a developer calling xrpl.to from their own code: an endpoint's exact URL, method and parameters, the key header and rate limits, the WebSocket streams and their me
save_noteSave 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. Returns: the stored note {id, subject, text, at}.
recall_notesRecall notes saved earlier under this X-Api-Key, optionally filtered by subject (exact or prefix match). Returns: notes[] newest first.
delete_noteDelete one saved note by id. Returns: {deleted: true|false}.
get_swap_quoteExact 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). Returns: quote {source_amount, destination_amount (XRP drops string or {currency,issuer,value}), executio