XX

XRPLHub — XRPLScore, MPT issuer risk & payment pre-checks

io.github.Dcroyalty/xrplhub

XRPL wallet scores, wallet permissions, batch send, MPT risk, screening, pre-checks. Never signs.

Yes, your AI can use this right now.Answered a live MCP handshake in 533 ms with no sign-in needed and exposes 21 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://www.xrplhub.io/api/mcp

21 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
issue_score_credential

Get a certificate of a wallet's XRPLScore, signed by XRPLHub, with the score computed fresh at issuance. A counterparty checks it by asking XRPLHub's verify URL — the signature is an HMAC under a key only XRPLHub holds, so this is XRPLHub's own attestation, not independently verifiable proof, and the buyer need not control the wallet. Two calls: first returns a Xaman payment request (1 XRP or 1 RL

check_xrpl_score

Get a 300–850 creditworthiness score for any XRP Ledger wallet before you pay, lend to, trade with, or onboard it. You get back: the score, a letter grade, peer percentile, a per-signal breakdown (account age, lifetime tx history, financial health, token engagement, DEX activity, AMM participation, security config, NFTs), and ranked tips to raise it. Params: wallet_address (r... classic address, 2

get_account_credentials

Get every XLS-70 credential an XRPL account holds — issuer, type, whether it has been accepted, whether it's expired, and its expiry date. Live against a validated mainnet ledger (never stale). Use this before trusting a counterparty who claims to hold a credential. Default walks the owner directory (bounded ~20s; response has coverage "complete"/"partial" — for an exchange-scale account it can be

get_issuer_credentials

Get everything an issuer account has issued: every credential type, distinct subject count, and acceptance rate. Served from a network-wide census rebuilt on a schedule — the response includes coverage ("complete" or "partial") so a mid-walk answer is never mistaken for a finished count. Params: issuer_address (r..., required). Free, no signup.

check_mpt_risk

Get the risk view of one XLS-33 Multi-Purpose Token issuance before touching it: what the issuer CAN DO to a holder (clawback, freeze, require-auth, whether it's transferable at all) plus the issuer's XRPLScore. Free. For the full issuer picture — account age, xrp-ledger.toml-verified domain, credentials held (live ledger reads) — GET /api/x402/usdc/mpt/{id} pays $0.01 USDC on Base via x402. Every

search_mpts

Search the XRPL Multi-Purpose Token (XLS-33) registry index by issuer address, MPTokenIssuanceID (or a hex prefix of one), or token name / ticker. Returns each match with issuer powers (clawback, freeze, require-auth, transferable), supply, holder count and source. Served from the index — the response carries coverage ('complete' or 'partial') and lastCompletedPassAt; treat 'partial' as a floor, n

get_issuer_mpts

Everything one issuer has put out as Multi-Purpose Tokens (XLS-33), from the registry index, plus the issuer's own XRPLScore. Each issuance lists the issuer's powers over a holder. Response carries coverage ('complete-per-known-issuer'/'partial'). Params: issuer_address (r..., required). Free, no signup.

check_service_health

Check whether the XRPLHub money path is working BEFORE you pay: database, Xaman, both x402 facilitators (t54 RLUSD + CDP USDC-on-Base), the on-ledger anchor config, the credential signing secret, and alerting. Returns overall "ok" | "warn" | "down" plus a per-component list. Poll this if a prior paid call failed. No params. Free, no signup.

verify_mpt_registry

Get the latest on-ledger anchor of the MPT registry (BIS Working Paper 1374 pattern): a Merkle root over the canonicalised index, committed in a Memo on a transaction from a dedicated anchor wallet (not the credential issuer). Returns the root, its tx hash, ledger index, issuance/issuer counts, coverage, and the exact canonicalisation + Merkle scheme so you can reproduce the root from the publishe

check_domain_eligibility

Check whether an XRPL account holds a credential that satisfies a PermissionedDomain (XLS-80d) — the question every domain operator and every would-be participant actually asks before a real transaction. Live against a validated mainnet ledger. Eligibility is OR: any ONE accepted, unexpired credential matching the domain's AcceptedCredentials is enough. Params: wallet_address (r..., required), dom

submit_grant_application

Apply for a community micro-grant ($25–$100) paid wallet-to-wallet from the XRPLHub on-chain treasury for rent, utilities, groceries, medical, transport, or childcare. Returns a grant id and status. A person reviews every application and makes every decision — no automated triage, no middleman. Params: wallet_address (r..., required), category (RENT|UTILITIES|GROCERIES|MEDICAL|TRANSPORT|CHILDCARE|

donate_to_community_fund

Donate XRP or RLUSD to the XRPLHub Community Grant Treasury — a transparent on-chain fund that pays approved applicants wallet-to-wallet with zero overhead. Returns the treasury address and, if you pass donor_wallet, a ready-to-sign Payment txjson; every donation and payout is recorded on the XRP Ledger and publicly verifiable. Params: amount (number, required), currency (XRP|RLUSD, default XRP),

screen_address_ofac

Compare one XRPL address against a vintage-pinned snapshot of the US Treasury OFAC SDN list (exact address-string match only) and get a factual, Merkle-anchored receipt. ATTESTS TO PROCESS, NOT GROUND TRUTH: the receipt records that the address was compared against a named list snapshot (its OFAC publish date + the SHA-256 of the exact file) at a stated time, and what the comparison found. A "no m

get_monitoring_info

Describe XRPLHub's continuous-monitoring service so an agent can decide whether to use it: what it watches for a list of wallets (score drops against a threshold YOU set, OFAC SDN list hits, and — once XLS-66 activates — first loan / overdue / impaired / defaulted), how it is delivered (HMAC-signed webhooks, once-a-day checks, attested Merkle-anchored history), per-plan watch slots, the shared cap

verify_attestation

Given a queryId from screen_address_ofac OR get_lending_exposure, return everything needed to verify that receipt WITHOUT trusting XRPLHub: the canonical leaf, its Merkle inclusion proof, the on-ledger anchor transaction hash + ledger close time, and the SHA-256 of the source data (the OFAC SDN snapshot, or — for lending — the exact list of Loan ids observed). Rebuild the leaf, fold the proof to t

get_lending_exposure

A borrower's TOTAL XLS-66 lending exposure across ALL loan brokers in one call — the XRP Ledger has no aggregate borrower-debt object, so a broker carrying first-loss capital cannot see a borrower's total leverage elsewhere. Returns: outstanding by asset, loan count, distinct broker count, defaults / impairments / overdue, XRPLHub's XRPLScore, and an observation history summary. IMPORTANT: XLS-66

get_underwriting_inputs

The full underwriting-inputs bundle a LoanBroker needs for an XLS-66 decision, in one call: cross-broker exposure, XRPLScore + grade, OFAC SDN screening (with its own verifiable receipt), observation history + gaps, and one Merkle-anchored attestation over the whole bundle. FACTS ONLY — it never returns a recommended principal, rate, approve/decline, or probability of default; the broker decides.

precheck_payment

Before your agent pays an XRPL address: one verdict (block / caution / proceed) by fixed published rules — the destination's XRPLScore, a sanctions screen against every list XRPLHub holds (with a verifiable receipt), account age and ledger flags, and whether the ledger would REJECT the payment (missing destination tag, Deposit Authorization, no RLUSD trust line, unfunded account). This is a PAID x

check_wallet_permissions

Who can move money out of an XRPL wallet: its master key, a regular key, a multi-sign signer list, permission delegations (given and received — live on mainnet since 2026-10-08), and money others can pull without a new approval (checks, payment channels, escrows, open DEX and NFT offers, tickets). One plain-English sentence per finding plus the raw ledger facts. This is a PAID x402 call: $0.02 in

prepare_batch_send

Pay 2 to 8 XRPL addresses with ONE signature, all or nothing (XRPL Batch, tfAllOrNothing — live on mainnet since 2026-10-09). Checks every payment on the live ledger first (destination exists or will be created, destination tag, Deposit Authorization, RLUSD trust line, sender balance + fee) and refuses a batch that would fail. Returns the UNSIGNED Batch transaction and a Xaman sign link. FREE. XRP

get_lending_history

Every loan XRPLHub has EVER observed for a borrower, built from append-only exposure snapshots — the credit file the XRP Ledger can't keep. Per loan: first/last observed ledger, last-known status, monotonic everDefaulted / everImpaired / everOverdue flags, and for loans since deleted from the ledger, the ledger window in which they vanished. A borrower who defaulted and then deleted the loan shows

Alternatives in Finance & Payments

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”