XRP Ledger

Accept XRP payments on XRP Ledger.

Offer XRP Ledger payments from your own checkout. Price an invoice in fiat, and let the customer pay with the enabled methods in your store.

At a glance

Native coin
XRP
Accepted tokens
Native coin only
Fee currency
XRP
Payment reference
Shared account + destination tag
Wallet setup
Project wallet
Manual send / auto sweep
Supported with compatible providers

What you can receive

Invoices share a funded account and use a unique destination tag. The customer must include the exact tag; an X-address can encode it. XRP account reserves apply. Issued tokens are not accepted.

Set up your store

  1. Install Wholly Crypto, create a project and store, and keep a private wallet backup.
  2. Check scanner-compatible connections and enable the chain and intended assets in Store → Payment methods.
  3. Set confirmations and expiry. Test a small invoice and verify settlement before fulfilling orders.
First project & invoice

Where your payments arrive

Payments share a funded account and use a unique destination tag for each invoice. Customers must include both the address and the tag.

Wallet setup guide

Move funds when you are ready

Manual sends and automatic sweeps support the native coin. Keep enough for fees and any network reserve or storage requirement. Receiving support alone does not prove a provider can submit transfers.

Automatic sweep tutorial

Payment troubleshooting

Check this network first

Copy the destination tag exactly. A missing or different tag may leave a payment unmatched. Keep the account reserve and do not sweep to a destination that requires an outgoing tag.

A payment is missing or delayed

Match the network, address, asset and any required reference to the invoice. Check scanner readiness and confirmation progress. Do not ask for a second payment until you have checked the first transaction.

Receiving guide
Restore or consolidate wallets

Keep your private backup and derivation details. A different wallet app may not display every receiving address. Sending and recovery depend on the chain and wallet format; neither is guaranteed by importing recovery words alone.

Backup & restore

Fees and verification

The default processing fee is 1% of the invoice’s fiat value, paid from separate credits. Your assigned rate applies. Network fees and server costs are separate.

Public providers can have outages or rate limits. A submitted transaction or return redirect is not proof of payment. Use the verified invoice status and signed notifications.

Processing credits API, IPN & webhooks
Rates calculator

Convert an amount

From
To
Estimated value…

Loading rates…

    An estimate, not a payment quote. Network fees, exchange fees and merchant spreads are not included.

    Where do the rates come from?

    Crypto estimates use cached public Kraken prices, with Binance where available. Some Binance prices use USDT as a USD reference. Fiat rates come from Frankfurter and are daily reference rates, not live trading quotes.

    The snapshot refreshes automatically. Check the source dates below your result. Your entered amount stays in your browser. Asset listings do not guarantee payment support.

    Kraken · Binance · Frankfurter · Asset names & icons: CoinGecko

    Choose a currency

    Create an invoice with the API

    Run these examples on your server. Replace the API host, project ID and store ID, and keep the credential private. Amounts are decimal strings.

    Enable the method in the store first. Selection narrows enabled methods; it does not add assets. If nothing matches, store defaults apply. Check the returned methods before presenting checkout.

    : "${WHOLLY_TOKEN:?Set WHOLLY_TOKEN to your server-side API token}"
    # Keep this key and the exact body for retries; use a new key for each new invoice.
    curl --fail-with-body --max-time 30 \
      --request POST \
      --url "https://api.example.com/v1/projects/YOUR_PROJECT_ID/stores/YOUR_STORE_ID/invoices" \
      --header "Authorization: Bearer $WHOLLY_TOKEN" \
      --header 'Idempotency-Key: order-1042-attempt-1' \
      --header 'Content-Type: application/json' \
      --data-raw '{
      "amount": "25.00",
      "currency": "EUR",
      "order_id": "order-1042",
      "payment_methods": [
        {
          "chain_slug": "xrp-ledger",
          "asset_tickers": [
            "XRP"
          ]
        }
      ]
    }'
    Full invoice API reference Project & store IDs API, IPN & webhooks