x402 · agentic payments on XRPL

Ask your agent.
It buys the name.

One prompt to your agent. It signs the XRPL payment itself — XRP or RLUSD — mints the domain, and takes custody. No browser, no human click. The server holds zero keys.

2

assets
XRP · RLUSD

v2

x402
protocol

T54

mainnet
facilitator

0

server
keys held
you

Register alice.xrp for me. Pay in XRP if it’s under 20.

agent · claude sonnet-5 · skill: xrpname-register
running

Checking the price and buying it.

  1. quote 402 → 7 XRP · under the 20 XRP limit.
  2. sign Signed Payment with agent wallet.
  3. settle Verified through T54 facilitator.
  4. mint alice.xrp minted · offer E7F….
  5. custody NFTokenAcceptOffer signed. In your wallet.

Done in ~11s. View tx →

tx E3F0…9B4A
chain xrpl:0 · mainnet
paid 7.000000 XRP
settled · ~4 s

One request. One payment.
One custody signature.

The agent owns the keys. The server prices, verifies, mints, and returns the offer. Five moves — front to back.

  1. 01

    Ask for a quote.

    Agent POSTs { "domain": "alice.xrp" }. Server replies 402 Payment Required with every accepted asset in accepts[]. Nothing is charged — this is a price quote.

  2. 02

    Sign the payment.

    Agent picks an option and signs an XRPL Payment for the exact amount, invoice-bound and source-tagged.

  3. 03

    Settle.

    Re-send with a PAYMENT-SIGNATURE header. Server verifies + settles through the T54 facilitator. Neither party ever holds the key.

  4. 04

    Mint.

    On settlement the backend mints the domain NFT and returns offer_id plus an accept_offer_template.

  5. 05

    Take custody.

    Agent signs NFTokenAcceptOffer with its own wallet. Domain lands. tesSUCCESS ends the flow. Two signatures inherent to XRPL, both by the agent.

The wire.

One URL. POST to buy, GET to peek. Discoverable, no auth.

endpoint
POST /mcp/x402/register
protocol
x402 v2 · scheme exact
network
xrpl:0 · mainnet
facilitator
T54
discovery
/.well-known/x402.json
indexed
xrpl-ai.org →

Pay in XRP or RLUSD.

Every 402 lists both when RLUSD is enabled. The agent picks.

XRP native

Priced straight from the XRPName tier for the name length and TLD. The facilitator re-checks the amount, so the agent just pays what the 402 quotes.

e.g. alice.xrp → 7.00 XRP

RLUSD stable

Ripple’s USD stablecoin. Priced as XRP price × live XRP/USD, locked per invoice. Wallet needs a trustline; the client refuses to sign if it’s missing.

e.g. alice.xrp → 2.75 RLUSD

Wire it into your agent.

XRPName ships a drop-in skill that runs the whole turn shown above. Or implement the HTTP contract against your own x402 client.

  1. Clone the skill. Ships as SKILL.md + buy.mjs, ready for Claude Code, Cursor, or any MCP client.
  2. Set the wallet seed. A dedicated, low-balance agent wallet — never a personal main wallet.
  3. Prompt your agent. “Register a.xrp, pay in XRP” — the skill handles quote → sign → settle → mint → accept.

View the skill on GitHub →

terminal · install
git clone https://github.com/XRPDomains/xrpname-mcp-server
cd xrpname-mcp-server/skills/xrpname-register

npm install
cp .env.example .env      # set XRPL_BUYER_SEED

# pay in XRP
node buy.mjs alice.xrp

# pay in RLUSD (needs trustline)
PAY_CURRENCY=RLUSD node buy.mjs alice.xrp

Prompts that just work.

Once the skill is wired, natural sentences drive the whole flow. The agent handles pricing, currency, and on-chain accept.

Questions.

The safety story in the answers to what people ask first.

Who holds the keys?

Nobody but the agent. XRPName’s server and the T54 facilitator hold no private keys. The agent signs both the Payment and the AcceptOffer with its own wallet.

Can the server overcharge?

No. The price comes from public XRPName tiers and the facilitator re-verifies the settled amount. A mismatched payment fails.

Do I need a wallet with funds?

Yes — x402 is for agents that already control a funded wallet. The read tools on /agent need nothing; x402 is the autonomous purchase path.

What if the call times out after paying?

The domain is likely minted with a pending offer for the payer. Re-poll pending offers and sign the AcceptOffer. Never pay twice.

Root domains only?

Yes. Subnames are minted by the parent owner through a different path.

RLUSD trustline?

The wallet needs a trustline to the RLUSD issuer and a balance. The client preflights this and refuses to sign if it is missing.

ready to build

Give your agent a wallet
and a name.

Autonomous XRPL domain registration in one HTTP call. Non-custodial, mainnet, real value.