Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
XRPLHub — XRPLScore, MPT issuer risk & payment pre-checks
Overview
Description from the maker (original English)
XRPL wallet scores, wallet permissions, batch send, MPT risk, screening, pre-checks. Never signs.
PopNx MCP’s three pillars
These three are never merged into one score: opinions, measurements and popularity are different things.
- User voiceiNo reviews yetReviews open together with accounts in a later step
- Our basic checksi1 of 1 passedChecked from public information; code not scanned yet
- UsageiNot measured yet★ –
What you can do with it
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
- Connection: Runs in the cloud
- Transport: Streamable HTTP
- Category: Online shops & payments
Install
Pick the AI app you use, then copy the settings.
Before you install
- Basic checks: 1 of 1 passed
- Runs on the maker’s server: what you ask it goes through their server.
- The registry lists no key to fill in.
You need
- Runs in the cloudNothing to install; it connects over the internet
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
- Open Settings → Connectors
- Press Add custom connector
- Paste the address below and press Add
- If it asks you to sign in, sign in with the maker
https://www.xrplhub.io/api/mcpRun this in your terminal
claude mcp add --transport http xrplhub https://www.xrplhub.io/api/mcpOr copy the settings yourself
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"xrplhub": {
"url": "https://www.xrplhub.io/api/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Or copy the settings yourself
Paste into .vscode/mcp.json in your project
{
"servers": {
"xrplhub": {
"type": "http",
"url": "https://www.xrplhub.io/api/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
- Open ChatGPT on the web → Settings → Connectors (Apps)
- Press Create or Add (some plans need Developer mode under Advanced first)
- Paste the address below, give it a name and save
- If it asks you to sign in, sign in with the maker
https://www.xrplhub.io/api/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
What it can do
We have not read this server’s tool list yet; we check endpoints in rotation.
Basic checksi
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
- ✓ Pass
Maker matches the repo
The registry name was verified with the GitHub account Dcroyalty, which owns the repo
- … Not checked yet
Still maintained
We have not read this repo from GitHub yet
- … Not checked yet
Has a licence
We have not read this repo from GitHub yet
- … Not checked yet
Endpoint responds
Not checked yet; we check endpoints in rotation
- … Not checked yet
Sign-in with OAuth
Not checked yet; we check endpoints in rotation
- … Not checked yet
No hidden instructions in tool descriptions
Not checked yet; we read the tool list when we check the endpoint
Compared with others in Online shops & paymentsi
- More stars than 0% of the other 2546 servers in this category
- Published to the registry more recently than 50% of the other 2546 servers in this category
- Basic checks equal to or better than 100% of the other 2546 servers in this category
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
Common questions
Is XRPLHub — XRPLScore, MPT issuer risk & payment pre-checks safe?
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
What keys or codes does it need?
The registry does not list a required key, though some servers ask you to sign in on first use.
Does it run on my computer or in the cloud?
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
Is it still maintained?
The GitHub repo last changed –, and the latest version (1.18.0) reached the registry 29 days ago.
Which apps can use it?
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
What can I use instead?
In the same category: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
Alternatives
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Stripe MCP
Stripe’s official server lets AI view and manage customers, products, payments and invoices. Connect to Stripe’s cloud and sign in with OAuth.
MCP Cn Commerce
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
README from the maker
Open the README
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
XRPLHub.io — backend
The production app for xrplhub.io: Next.js (App Router, TypeScript) on Vercel, Neon Postgres through Prisma, XRP Ledger reads through a rotated pool of public nodes, and Xaman / Crossmark / GemWallet for signing. There is no AI or LLM anywhere in the shipped code.
What it does
| Product | What it is |
|---|---|
| XRPLScore | A 300–850 score for an XRPL wallet, from 8 public-ledger signals (one engine, src/lib/xrplscore.ts). Free lookups may be served from a 15-minute cache; the response says so (fromCache, cacheAgeSeconds). |
| Transaction services | Paid on-chain actions (trust lines, escrows, AMM, NFT, …). We build the exact transaction; the buyer signs it in their own wallet. The count comes only from BUILDABLE_SERVICE_IDS in src/app/api/execute/serviceCatalog.ts. |
| B2B API | Keys sold for RLUSD/XRP (/api/v1/*, /api/monitor/*, /api/screen/ofac, lending endpoints). Plans in src/lib/plans.ts; quotas are hard (HTTP 429 at the limit). |
| x402 pay-per-call | Per-request payment for the score, report and screening endpoints (RLUSD via the t54 XRPL facilitator; USDC on Base via Coinbase's facilitator). |
| Continuous monitoring | Watched wallets, HMAC-signed webhooks, sparse attested observations. Once a day, not real-time. See docs/MONITORING.md. |
| OFAC screening receipts | An exact-match check against the OFAC SDN list's XRP addresses, recorded as a receipt that attests to the process only — never to an address being clean or sanctioned. |
| MPT / credential lookups | Read-only views of Multi-Purpose Token issuers and XLS-70 credentials, each labelled with its coverage. |
| Community grants | A person reviews every application; nothing is decided or paid automatically. Applications are currently paused (GRANT_APPLICATIONS_OPEN in src/lib/grantsStatus.ts) because approved grants are waiting for funds. Donations stay open. |
XRPLHub is not a bank, credit bureau, consumer reporting agency or regulated entity, and nothing it returns is legal, financial or compliance advice.
Things that are deliberately true of this codebase
- The server decides every price.
src/lib/servicePrices.tsis the only price table. Nothing the client sends about amount or currency is read. - Payments are verified on the ledger, once.
src/lib/paymentGate.tschecks a validated, successful Payment to the treasury in XRP or RLUSD from the real issuer, covering the price; each payment hash is single-use in the database. - Invoices are matched without a scan window. Checkout invoices (
src/lib/rlusd.ts) are found by exact transaction hash when known, otherwise by walking the treasury's history back to the invoice's creation — dust traffic cannot push a real payment out of view. An invoice is only closed after the ledger was read completely. - A mistyped address is rejected, not screened. Every address goes through
src/lib/address.ts(base58check). - A cached score never reaches an attestation.
scripts/check-attestation-freshness.mjsruns innpm run buildand fails if any attestation module imports the cache or fetches a cache-backed score route. - Partial data never reads as whole. A failed ledger read is a 503 or a
degraded/complete:falseflag, never a clean-looking answer. - Every judgment carries a disclaimer in its response.
- The treasury is a single-key XRPL account. It has no signer list on the ledger; nothing here may claim multi-sig protection until it does.
Layout
src/app/api/… route handlers (payments, scoring, screening, monitoring, x402, MCP, admin, cron)
src/app/… the site (homepage, pricing, donate, verify pages) src/lib/… engine, pricing + payment gate, x402, monitoring, screening, MPT/credentials, watchdog prisma/schema.prisma scripts/ build gates (freshness, service parity) and operator scripts docs/ AUTONOMY.md (what runs unattended), MONITORING.md, CREDENTIAL-SPEC.md, calibration notes
Running it locally
npm install
cp .env.example .env # fill in DATABASE_URL and the keys you need npx prisma db push # creates/updates tables on your Neon database npm run dev
npm run build runs the two build gates (attestation freshness, service parity), prisma generate, then next build with TypeScript errors enforced.
Main environment variables (see .env.example; anything unset degrades loudly, not silently):
| Variable | Used for |
|---|---|
DATABASE_URL | Neon Postgres |
TREASURY_ADDRESS, RLUSD_ISSUER, RLUSD_CURRENCY | Where payments go and which RLUSD counts |
XUMM_API_KEY, XUMM_API_SECRET | Xaman sign-in and payment requests |
ADMIN_API_TOKEN | Every admin route (fails closed when unset) |
CRON_SECRET | The two daily crons |
CREDENTIAL_SIGNING_SECRET | The paid off-ledger certificate (nothing is issued without it) |
ANCHOR_WALLET_SEED, MPT_ANCHOR_ENABLED | On-ledger Merkle-root anchors |
BITHOMP_API_KEY | MPT registry holder counts |
CDP_API_KEY_ID, CDP_API_KEY_SECRET | USDC-on-Base x402 facilitator |
ERROR_WEBHOOK_URL, HEALTHCHECK_PING_URL | Alerts and the external dead-man's switch |
Operations
docs/AUTONOMY.md is the source of truth for what runs unattended (two Vercel crons, 06:00 and 07:00 UTC), what expires and when, the watchdog, and what to check first after a long absence. Deploys go out on every push to main; redeploy with the Vercel build cache off.
Contact: support@xrplhub.io