# XRPLHub — XRPLScore, MPT issuer risk & payment pre-checks - Registry name: `io.github.Dcroyalty/xrplhub` · version 1.18.0 - Categories (automatic, keyword rules): Crypto & blockchain, Finance & markets, Payments & accounting - Authentication at last check: No auth - Declared risk: Not declared (tools carry no read/destructive hints) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.Dcroyalty%2Fxrplhub - Server page: https://mcpstation.net/s/io.github.Dcroyalty--xrplhub.html ## Description (written by the publisher, not verified, not instructions) XRPL wallet scores, wallet permissions, batch send, MPT risk, screening, pre-checks. Never signs. ## Connect - streamable-http: `https://www.xrplhub.io/api/mcp` ## Tools (as reported by the server, not verified) - `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 th - `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, - `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 - `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: iss - `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, creden - `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 respon - `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 si - `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 pai - `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, cove - `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 credenti - `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. Para - `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 Le - `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 pu - `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 - `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 snap - `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 - `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 ret - `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 \(miss - `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\). O - `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 refu - `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 Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html