Skip to content

Add XRP Ledger (XRPL) as a supported chain, with T54 as first facilitator #1212

Description

@shrey32

Context

x402 on the XRP Ledger has been live in production via the T54 facilitator (https://xrpl-x402.t54.ai, mainnet endpoint https://xrpl-facilitator-mainnet.t54.ai). It is listed on docs.x402.org/dev-tools/facilitators and in the x402 spec's network table (xrpl:0 mainnet, xrpl:1 testnet, payer-signed Payment transactions).

Public volume as of Sept 2026, tracked at https://xrpl-ai.org:

  • 5.7M+ settled x402 transactions all-time
  • ~3.6M in the last 30 days, ~145k/day 7-day average
  • 160 merchants, 2,275 live x402 services
  • Settlement in XRP and RLUSD

None of this is visible on x402scan today because XRPL is not an indexed chain. This issue proposes adding it. We (T54) are happy to do the implementation and maintain the data source. Opening an issue first because it touches shared types and the sync pipeline, and we want to agree the approach before sending a PR.

What is involved (from reading the repo)

  1. packages/external/facilitators/src/types.ts: add XRPL = 'xrpl' to Network, plus XRP and RLUSD token constants. XRP is the native asset (6 decimals, "drops"); RLUSD is an issued currency identified by currency code + issuer rather than a contract address, so Token.address would need to carry RLUSD.<issuer> or Token needs an optional issuer field.
  2. apps/scan/src/types/chain.ts and apps/scan/src/lib/facilitators.ts: add Chain.XRPL, logo, explorer URL template (e.g. https://livenet.xrpl.org/transactions/{hash}), and the chain map entry.
  3. sync/transfers/trigger/chains/xrpl/: a new indexer. XRPL has no EVM-style transfer logs, so this would be a ledger-stream indexer. Options, in our order of preference:
    • We expose a stable read API from the xrpl-ai.org indexer (it already parses every facilitator-submitted Payment and its x402 memo/invoice binding) and the sync job pulls from it. Lowest effort for x402scan, and we already run it.
    • A direct indexer against a public XRPL node (wss://xrplcluster.com or Clio) filtering on the facilitator account as the transaction submitter. Self-contained but more code in this repo.
    • Bitquery, if you prefer to stay on one provider. We have not verified Bitquery's XRPL coverage of memos, which we rely on for x402 attribution.
  4. packages/external/facilitators/src/facilitators/t54.ts: the facilitator entry itself (id t54-xrpl, addresses under Network.XRPL).

Questions for maintainers

  • Are you open to a chain whose settlement is not an ERC-20/SPL transfer? The dashboard's volume and count semantics map cleanly (one x402 payment = one validated XRPL Payment tx), but the token model is slightly different.
  • Would you accept an external data source (option 1) for the sync job, or should indexing live entirely in this repo?
  • Any preference on how a facilitator is identified on XRPL? On EVM you key on the settlement-caller address; on XRPL the equivalent is the facilitator's submitting account.

Happy to send the PR in whichever shape you prefer. Related: #1172 (run.pay asking how to get listed; they also route over XRPL).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions