xrpl_sentinel_scan
Paid ($0.10 USD). Classify an XRPL wallet by on-chain activity pattern. Returns activity_score (0-100), activity_level, confidence, behavioral signals, top counterparties, and AI reasoning.
addressrequiredpayment_signature
io.github.XRPL-UtilitiesPublished by GitHub account XRPL-Utilitiesv0.2.244Updated Nov 5, 2026
XRPL data tools for AI agents: wallet classifier, signals, RWA tracker, ETF flows. Pay via x402.
Read-only XRPL analytics tools for AI agents: wallet classification, whale and exchange flows, RWA tracking, ETF flows and network stats, paid per call via…
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.XRPL-Utilities%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"xrpl-utilities": {
"type": "http",
"url": "https://mcp.xrpl-utilities.io/mcp"
}
}
}Model Context Protocol server for the
XRPL-Utilities™ portfolio. Exposes the read endpoints of every
service as MCP tools so AI agents can discover and use them, either
locally via stdio (Claude Desktop, MCP Inspector, etc.) or remotely
via the hosted endpoint at mcp.xrpl-utilities.io.
64 tools total: 56 paid, 8 free, all read-only. Paid calls settle over x402 v2 in XRP or RLUSD on XRPL, or USDC on Base.
The MCP server is a stateless passthrough proxy. It does not hold wallets, manage user accounts, or subsidize calls.
Paid tools speak standard x402 over MCP. Data tools (every tool marked $0.01 above) cost $0.01 USD per call. Deep dives, event queries and the Ledger statement cost $0.10. Bundles cost $0.05 (XRP market briefing), $0.10 (fund flow report, permissioned venue report, network snapshot), $0.15 (RWA token report) and $0.25 (wallet check).
Every successful paid answer carries a provenance block: the service, its
schema_version, served_at, and the newest validated XRP Ledger it had read
(index, hash, close_time). Each evening a fingerprint of the day's published
figures is written to the XRP Ledger; anyone can check a day at
xrpl-utilities.com/verify.
Call a paid tool without payment and you get a tool result with
isError: true and the x402 PaymentRequired object in
structuredContent. It lists three payment options: XRP and RLUSD on
XRPL via the t54 facilitator, or USDC on Base mainnet via the Coinbase
x402 facilitator. Sign one and retry the same call with the payment
payload object in _meta["x402/payment"]. A settled call returns the
settlement in _meta["x402/payment-response"]. Any x402 MCP client
library handles this loop for you.
Clients that can't set _meta can still pass the payload as a
payment_signature argument, base64-JSON-encoded. Either way the
server forwards it as the PAYMENT-SIGNATURE header on the underlying
call, and the backend verifies and settles it.
Operators can set MCP_BYPASS_KEY on the server to enable an opt-in
bypass for friendlies / demos. The caller passes the matching key as
_bypass_key in the tool args. It is not listed in the public tool
schemas, so send it from a client that does not validate arguments
against tools/list (a raw JSON-RPC call works).
The hosted endpoint budgets failed _bypass_key attempts per caller
separately from, and far more tightly than, ordinary requests: a 60
requests-per-minute cap is a fair-use limit, not an access control on a
secret. The budget is spent per guess, not per HTTP request, so a batched
JSON-RPC body cannot outrun it, and only requests that actually carry a
_bypass_key are held off once it is exhausted - tools/list, free tools
and paid x402 calls keep working. Batches are capped at 20 messages. Use a key of at least 32 random bytes, and scope or rotate it
per service rather than sharing one portfolio-wide key. Bucket keying
depends on TRUST_PROXY_HOPS matching the real number of proxies in
front of the container - see .env.example.
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
Restart Claude Desktop. The 64 tools should appear with the prefix
xrpl_. Ask Claude to "scan the wallet rXXX with XR-Sentinel" or
"list permissioned domains on XRPL" and the tool calls flow through.
Point any MCP client at https://mcp.xrpl-utilities.io/mcp. Same
tool list, same auth model.
To avoid 402 challenges on every call, your client needs to:
accepts entries from a prior probe. XRPL rails take an
XRPL Payment; the Base rail takes an EIP-3009
transferWithAuthorization._meta["x402/payment"], or base64-JSON-encode it
and pass it as payment_signature.Reference implementations:
x402-xrpl covers the
XRPL rails. The official x402
package (with [evm] extras) covers the Base USDC rail. Both are
useful as templates in any language.
Point MCP Inspector at http://localhost:8080/mcp to walk through
tool definitions interactively.
Set STRICT_VALIDATE=1 to treat a manifest that could not be read as
drift instead of a warning. It is off by default because Railway restarts
ON_FAILURE: failing closed on boot would crash-loop the endpoint, and
take the other healthy services' tools down with it, whenever one
backend is cold. Either way, a service whose manifest was not read logs
NOT CHECKED - "could not check" is never reported as "all clear".
Bump the version and merge it to main. The Release workflow sees a
version npm doesn't have yet, builds and tests, publishes to npm with
sigstore provenance, creates the v<version> tag, then mirrors the same
version to the official MCP Registry via GitHub OIDC (no extra secrets
needed).
Pushing a v* tag still works too (npm version patch && git push --follow-tags).
The published artifact appears at
npmjs.com/package/@xrpl-utilities/mcp
within ~90 seconds. Provenance attestation is visible on the package
page as a green check. The MCP Registry entry lives at
registry.modelcontextprotocol.io
under the reverse-DNS name io.github.XRPL-Utilities/mcp.
The data these tools return is on-chain data and heuristic analysis for information and research. It is not investment, legal, tax or compliance advice, and it comes with no accuracy guarantee. You are responsible for anything your agent does with it. Paid calls are covered by the Terms of Service.
The code in this repository is MIT licensed; see LICENSE. The XR-* names are trademarks of XRPL-Utilities LLC. Full portfolio at xrpl-utilities.com.
Source: README.md at commit 1e637f4
Paid ($0.10 USD). Classify an XRPL wallet by on-chain activity pattern. Returns activity_score (0-100), activity_level, confidence, behavioral signals, top counterparties, and AI reasoning.
addressrequiredpayment_signaturePaid ($0.10 USD). Return up to 25 prior recorded scans for an address to read score trajectory over time.
addressrequiredpayment_signatureFree. Before paying an unfamiliar x402 seller, check whether the origin actually controls the XRPL account it advertises. Cross-checks the domain's .well-known/xrp-ledger.toml against each account's on-ledger Domain field (two-way - either half alone is one party's self-assertion), the XLS-40 DID and whether it carries a real verification key or is a placeholder, and whether every payTo in the served x402 catalog is one the domain itself declares. That last check is the one a swapped catalog fails, because an attacker cannot edit the toml without already owning the domain. Pass address= instead of url= to ask what an ACCOUNT's claimed identity rests on - the only way to test a brand asserted in MPT metadata, which nothing validates. Verdicts: verified / partial / unverified / unreadable / mismatch. An unfetchable document returns unreadable, never a negative finding. Verifies published identity bindings only; not an endorsement of the operator, product or solvency.
urladdressPaid ($0.10 USD). Most-recent XRPL signal events newest-first. Mixes news, whale activity, permissioned-domain lifecycle, Sentinel signals, and RWA issuer flows. Filterable by kind, time range, and min whale USD.
kindlimitsince_isobefore_isomin_whale_usdpayment_signaturePaid ($0.10 USD). Pulse events referencing a specific XRPL address (whale, sentinel signal, news, permissioned-domain). Complements xrpl_sentinel_scan with event history.
limitaddressrequiredsince_isopayment_signaturePaid (tiered: 1h ~$0.50 / 6h ~$2.50 / 24h ~$7.50). Buy a time-boxed WebSocket subscription to live Pulse events. Returns a stream_token JWT and ws_url. Server-side filtering by source, signal, and min USD is bound into the token at purchase.
min_usdsignalssourcesdurationpayment_signaturePaid ($0.01 USD). Anonymized Ripple-counterparty auto-discovery and relay-burst detector findings. Score-tier and funding-source distributions; specific wallet addresses not exposed.
limitpayment_signaturePaid ($0.01 USD). Ripple ecosystem topology map: Source (treasury/issuer/escrow wallets), Pipeline (curated middle layer by role), and Exits (named CEX hot wallets).
layerpayment_signaturePaid ($0.01 USD). CEX attribution walker findings: backward-walked payment chains ending at named exchanges. Hop count, total USD, anchor and terminal labels; specific addresses not exposed.
limitpayment_signatureFree. XRPL network summary: funded addresses, trustline count, offer count, 24h active addresses, and snapshot freshness.
Takes no parameters.
Paid ($0.01 USD). Ledger-wide XRPL object counts: PermissionedDomain, Credential, DID, Oracle, MPTokenIssuance, AMM, Escrow, DepositPreauth, Check, PayChannel, NFTokenPage and more, plus canonical XRP supply (total, burned, escrowed, circulating) and AMM aggregates. This is the denominator for any XRPL adoption claim: counts are of ledger OBJECTS, not of distinct operators or issuers. Sampled once per UTC day, with day-over-day, 7d and 30d deltas and the full series.
window_dayspayment_signaturePaid ($0.01 USD). Trailing 24h whale Payment aggregate: total USD, tx count, top labels, per-currency breakdown. No specific addresses returned.
include_hourlypayment_signaturePaid ($0.01 USD). Per-UTC-day series of net XRPL exchange flow: inbound, outbound, net, and settlement volume. Same series used in XR-Flows ETF correlation.
dayspayment_signaturePaid ($0.01 USD). Cross-issuer RWA rollup: obligations, net-circulating supply, trustline count, 24h mint/burn flow, and AMM pool exposure per tracked issuer.
asset_classpayment_signaturePaid ($0.01 USD). Per-exchange directional net flow from labeled whale events. Inflow/outflow/net per named exchange with trend and market positioning flag. Holder-centric sign: net_flow_usd = outflow minus inflow, so positive = XRP leaving the exchange (off-exchange accumulation), negative = XRP arriving (distribution).
hourspayment_signaturePaid ($0.01 USD). Forward-looking Ripple XRP escrow release calendar with monthly unlock schedule, relock history, and net release rate.
monthspayment_signaturePaid ($0.01 USD). Per-entity (exchange, treasury, MM) accumulation vs distribution scoring from labeled whale events with daily breakdown. net_usd is the objective balance delta (inflow minus outflow); net_direction is holder-centric and role-aware (accumulation = XRP leaving the liquid market, i.e. exchange withdrawals or a treasury/MM pulling XRP in).
dayspayment_signaturePaid ($0.01 USD). RLUSD mint-to-CEX distribution: where Ripple's freshly-minted RLUSD goes. Splits outgoing RLUSD from the distribution wallet into by_exchange (named venue), to_labeled_non_exchange (transit hops, consolidators, MMs), and unattributed, with to_exchange_pct + a mint_context block. Corrects reading a fresh RLUSD mint as XRP sell-pressure: RLUSD routed to an exchange is institutional stablecoin provisioning. Amounts are RLUSD face value (USD-pegged ~$1).
dayspayment_signaturePaid ($0.01 USD). Composite desk briefing: market posture, headline narrative, positioning (top accumulator/distributor + reversals), RLUSD health (velocity + growth + peg), supply pressure (escrow + relock), RWA market, whale activity, and alerts. One call replaces 6-8 separate tool calls.
sectionspayment_signaturePaid ($0.25 USD). Bundle: who an XRPL wallet is and what it has been doing, in one call and one payment. Combines the XR-Sentinel activity scan (with change since the previous scan and narrative), a domain check, XR-Pulse events for the address, a 90-day XR-Ledger statement and the wallet's XR-Trust permissioned-domain role. Returns summary, key_numbers and sections; each section says ok, stale or unreadable. Not charged if the main scan fails.
addressrequiredpayment_signaturePaid ($0.05 USD). Bundle: what is moving the XRP market today, in one call and one payment. Market posture and headline, whale count (1M+ XRP wallets) and its change, exchange net flow, entity positioning, Ripple escrow calendar, XRP fund holdings (XR-Flows) and on-ledger sell impact for $1M, $10M and $100M (XR-Telemetry). Returns summary, key_numbers and sections; each section says ok, stale or unreadable.
sectionspayment_signaturePaid ($0.15 USD). Bundle: is a tokenized real-world asset on the XRP Ledger growing, and who holds it, in one call and one payment. Supply, holders (trustlines), 7 and 30-day growth and top-holder share from the XR-Pulse RWA tracker, 30 days of daily supply changes, tracked AMM pools, the issuer's XR-Trust permissioned-domain role and a 90-day XR-Ledger statement of the issuer wallet. Amounts are in the token's own unit. Returns summary, key_numbers and sections. An issuer that is not tracked returns 404 and is not charged.
issuerrequiredcurrencypayment_signaturePaid ($0.10 USD). Bundle: are XRP funds growing, and does the ledger agree, in one call and one payment. Fund assets and their change per fund, price moves included (XR-Flows), XRP held by funds, net XRP flow on and off exchanges over the same days, whether the two point the same way, and the rolling correlation (a measurement, not a causal claim). Returns summary, key_numbers and sections; each section says ok, stale or unreadable.
dayspayment_signaturePaid ($0.10 USD). Bundle: who runs an XRPL permissioned domain (XLS-80) and is it active, in one call and one payment. XR-Trust operator profile (name, jurisdiction, domains, credentials outstanding, 24h permissioned offers, AMM events and traders), attribution and the latest domain activity. Give operator or domain_id. Unknown operator or domain returns 404 and is not charged. Running a domain is not a compliance certification.
operatordomain_idpayment_signaturePaid ($0.10 USD). Bundle: how big and how busy the XRP Ledger is, in one call and one payment. Funded accounts and daily active accounts and transactions with 7 and 30-day changes, ledger object counts, XRP supply (circulating, escrowed, burned), XRP and RLUSD payment volume (XR-Telemetry) and on-ledger sell impact. Returns summary, key_numbers and sections; each section says ok, stale or unreadable.
sectionspayment_signaturePaid ($0.01 USD). Per-token health scores for top 200 XRPL tokens: sovereignty, distribution, liquidity, transparency, demand pipeline. Each dimension 0-10 with green/yellow/red. Filter by issuer wallet or currency code.
codesortlimitissuerpayment_signaturePaid ($0.01 USD). XRP whale census: every account holding 1M+ XRP, size bands, holder categories, the top 100 by balance and one history point per day. Refreshed every 6 hours; stale=true when the latest count is over a day old.
history_dayspayment_signaturePaid ($0.01 USD). Daily whale and institutional USD flow history on XRPL, one row per UTC day.
daysend_datestart_datepayment_signaturePaid ($0.01 USD). Daily supply change per tracked real-world-asset issuer on XRPL, in each token's own units.
dayspayment_signaturePaid ($0.01 USD). Token escrow (XLS-85) event counts: all time, last 7 days and last 24 hours, raw and with high-rate issuers removed, plus distinct issuers.
include_issuerspayment_signaturePaid ($0.01 USD). Two-hop graph built from the Ripple counterparty queue: nodes and edges for wallets Ripple's operational wallets pay and where that XRP goes next.
limitpayment_signaturePaid ($0.01 USD). Recent coordinated institutional move patterns on XRPL: groups of linked payments that happen together.
limitwindow_hourspayment_signaturePaid ($0.01 USD). Wallets receiving XRP from several watched source wallets, ranked by how many distinct sources pay them.
limitpayment_signaturemin_distinct_sourcesPaid ($0.01 USD). Moscow Exchange XRP index: latest value and daily history.
history_dayspayment_signaturePaid ($0.10 USD). One-shot XRPL macro snapshot: supply breakdown, liquidity flows, AMM state, derived Active Float model, and utility floor price. Pass sections to get only some blocks.
sectionspayment_signaturePaid flow step 1 ($0.10 USD total). Start async invoice flow: returns invoice_id, payTo address, deepLink, QR, and expiry. Pay via XRPL Payment, then poll get_status, then call get_results.
Takes no parameters.
Paid flow step 2 (no extra charge). Poll invoice status from get_quote. Returns paid (bool), amount, ledger_index, and expiry.
invoice_idrequiredPaid flow step 3 (no extra charge). Fetch full Telemetry snapshot payload once invoice is paid. Same shape as xrpl_telemetry_snapshot.
invoice_idrequiredFree. XRPL settlement volume rollup: 24h/7d/30d USD volume across XRP and RLUSD, annualized run rate, and payment counts.
Takes no parameters.
Paid ($0.01 USD). Bucketed XRPL settlement volume time-series (daily / weekly / monthly) with USD totals, payment counts, XRP drops, and RLUSD value per bucket. Newest first, UTC-aligned. For charting or change-point detection.
countbucketpayment_signaturePaid ($0.01 USD). Per-pair DEX volume on XRPL: 24h and 7d volume, fill counts, orderbook vs AMM source split, and annualized run rate.
pairpayment_signaturePaid ($0.01 USD). XRP supply and liquidity headline: circulating, escrowed, AMM-locked and exchange-held XRP, on-ledger liquidity, modeled exchange depth, Active Float, measured free float and execution slippage per pair.
include_slippagepayment_signaturePaid ($0.01 USD). Per-exchange daily XRP flow series on XRPL: inbound, outbound and net per venue per day.
daysvenuepayment_signaturePaid ($0.10 USD). List all XRPL PermissionedDomain (XLS-80) objects on mainnet with owner, accepted credentials, and institutional issuer counts. Paginated.
limitoffsetpayment_signaturePaid ($0.10 USD). Deep dive on one PermissionedDomain by 64-hex ID: lifecycle history, permissioned market activity (XLS-81), and DID/TOML identity.
domain_idrequiredpayment_signaturePaid ($0.10 USD). All credential issuers across PermissionedDomains: address, label, referencing domain count, and credential types issued. Use limit and offset to page; omit limit for every issuer.
limitoffsetpayment_signaturePaid ($0.01 USD). XLS-70/80/81 lifecycle event stream: domain creates/deletes, credential activity, permissioned offers and AMM events. Cursor-paginated.
limitsincetx_typepayment_signatureFree. Index of all PermissionedDomain operators: address, label, jurisdiction, status, domain count, issuer count. Paginated.
limitoffsetstatusPaid ($0.10 USD). Deep dive on one PermissionedDomain operator: domains, credentials, jurisdiction, DID identity, institutional issuers, and lifecycle events.
owner_addressrequiredpayment_signaturePaid ($0.01 USD). Institutional attribution for one PermissionedDomain operator: parent funder, credential types, gated assets, plain-English summary, and confidence tier.
operator_addressrequiredpayment_signaturePaid ($0.01 USD). Ecosystem-wide PermissionedDomain activity aggregate: domain count, operator count, credential and market event totals over a configurable window.
window_dayspayment_signaturePaid ($0.01 USD). Jurisdiction rollup across XRPL's permissioned stack: per-country operator and issuer counts with an unattributed bucket.
addresses_limitpayment_signaturePaid ($0.01 USD). Newest-first feed of permissioned-domain ledger activity: XLS-70/80 domain and credential lifecycle, XLS-81 permissioned-DEX offers and AMM ops, and Payments made inside a domain. Consecutive same-account quote runs are collapsed into one row with a count, because a market maker replacing its own offers as the reference price moves is one behaviour, not hundreds of events - that churn is ~94% of raw permissioned-DEX volume and is normal market making, not an anomaly. Filter with category=lifecycle to see only domain and credential changes, which are the rare institutional signal. Carries a rollup of the whole window so the churn is visible as a proportion.
limitaccountcategorycollapsebefore_iddomain_idwindow_hourspayment_signaturePaid ($0.10 USD). Per-issuer RWA deep dive: supply, mint/burn flow, AMM exposure, and daily history. Accepts wallet address, issuer label, or currency code.
issuerrequiredpayment_signatureFree sample. Cross-issuer daily RWA flow for the last 7 days at most: mint/burn event counts per day and the dollar-pegged net inflow. For up to 90 days with issuer wallets and candidates use xrpl_vault_daily_flow_history.
daysPaid ($0.01 USD). Cross-issuer daily RWA flow for up to 90 days: mint/burn event counts per day, dollar-pegged net inflow, per-issuer series in native units, each tracked issuer's wallets and the auto-discovered issuer candidates.
dayspayment_signaturePaid ($0.10 USD). Per-ETF deep dive for any tracked XRP-exposure ETF across three tiers: US spot (XRP/XRPC/XRPZ/GXRP/TOXR/XRPR), US indirect-basket (BITW/GDLC/EZPZ/NCIQ/TTOP/TXBC, XRP-attributable slice only), and European spot (AXRP.SW/WXRP.DE/GXRP.DE). Returns metadata, latest AUM reading, daily history, and on-chain exchange-flow delta.
tickerrequiredpayment_signaturePaid ($0.01 USD). Daily ETF AUM vs XRPL exchange-flow delta across the tracked XRP-exposure funds (US spot, US indirect-basket, and European spot tiers) with 7-day rolling Pearson correlation. Correlation only, not causation.
dayspayment_signaturePaid ($0.01 USD). XRPL cross-border settlement flow: country-pair aggregates (inbound/outbound/net USD), top corridors, and coverage block. Institutional/exchange wallets only.
window_daystop_corridorspayment_signaturePaid ($0.01 USD). Per-ETF launch-window analysis: [L-30, L+30] exchange-flow delta and DEX volume around each tracked XRP-exposure ETF launch date.
window_dayspayment_signaturePaid ($0.01 USD). Daily ETF flow summary: per-ticker AUM with day-over-day delta, growth rate, and aggregate XRP supply share.
dayspayment_signaturePaid ($0.01 USD). XRP fund filings and candidates found in the SEC ticker index that are not yet tracked, with review status.
statuspayment_signaturePaid ($0.10 USD, RLUSD or XRP on XRPL, or USDC on Base). Account statement for 1-10 XRPL addresses rolled into one: monthly periods with XRP in/out/net, fees, activity categories, per-token net change (exact decimal strings), top counterparties and plain-English statement lines. Each line carries its ledger index, transaction hash, destination and source tags and the delivered amount, and include_csv returns the lines as CSV.
addressrequiredsince_daysinclude_csvinclude_linespayment_signatureFree. XR-Ledger response schema: request fields, every statement field and its meaning, and the payment rails the paid statement accepts.
Takes no parameters.
100% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
{ "mcpServers": { "xrpl-utilities": { "command": "npx", "args": ["-y", "@xrpl-utilities/mcp", "--transport", "stdio"] } }}npm installnpm run buildnode dist/index.js --transport http --port 8080npm test # builds, then runs the node:test suite in tests/npm version patch --no-git-tag-version # or minor / major# commit, open a PR, merge to main; CI does the rest