NoHoldPay
Blockchains

XRP

Accept native XRP on XRP Ledger mainnet and testnet. One classic address - each invoice gets a unique destination tag.

XRP is account-based. Paste a single classic XRPL address. Each invoice gets a unique destination tag for disambiguation. Funds land directly in your XRPL account.

Availability. XRP is live on NoHoldPay. If XRP does not appear in your wallet picker, contact support.

Networks

NetworkChain keyFinalityMin invoice
XRP LedgerXRPBFT single-slot (1 validated ledger, ~4s)$1.00
XRP Ledger TestnetXRP_TESTNETBFT single-slot (~4s)$0.10

XRPL has no reorgs - a validated ledger is final.


Supported coins

Native XRP only.

IOUs, issued currencies, and MPT tokens are explicitly not credited - they route to manual reconciliation with IOU_RECEIVED_NOT_SUPPORTED or MPT_RECEIVED_NOT_SUPPORTED.


Wallet setup

Paste a classic XRPL address - starts with r, 25-35 characters. NoHoldPay also accepts an untagged X-Address (X... mainnet / T... testnet) and normalises it to the classic form.

Do not paste:

  • A tagged X-Address - NoHoldPay generates the destination tag per payment.
  • A custodial exchange deposit address. Exchanges already use destination tags to route deposits - your customers' payments would funnel into the exchange's deposit logic.
  • An address already bound to another NoHoldPay account, including a second account of your own. Two accounts watching one address share a single inbound stream, so one payment could be credited against an order in each. The second bind is rejected.

Compatible wallets:

Account preflight

Before saving the wallet, NoHoldPay probes your XRPL account:

Account stateResult
Account not funded above the XRPL base reserveBlocked - fund the account, then retry
DepositAuth enabledBlocked - ordinary customer Payments cannot reach DepositAuth accounts
RequireDestTag disabledWarning only - NoHoldPay generates tags anyway
DisallowXRP enabledWarning only - this account flag is advisory

Open your wallet and copy your classic XRPL address (r...).

In NoHoldPay, go to Wallets -> Add wallet and pick XRP or XRP_TESTNET.
Paste the address and save.
Create a small test payment. Verify the destination tag appears on the checkout.

Destination tags

Every payment gets a unique 32-bit destination tag derived deterministically with up to 8 retries to avoid collisions across active invoices.

The checkout shows:

  • An X-Address (X... on mainnet, T... on testnet) that encodes the classic address and destination tag into one copyable address for wallets that support it.
  • A QR/deep-link using the generated payment_uri for compatible wallets.
  • The classic address and destination tag as first-class copyable fields for older wallets and manual senders.

Customers must include the destination tag. Without a tag, the platform tries to match by exact amount. If it cannot disambiguate, the payment lands in manual reconciliation.


How payments match

TierMatch conditionResult
1Correct destination tagConfirmed
2No tag, exact amount matches a single open invoiceConfirmed
3Wrong tag but exact amountManual reconciliation (TAG_MISMATCH_AMOUNT_MATCH)
4No tag, multiple invoices share the amountManual reconciliation (TAG_MISSING_AMBIGUOUS_CANDIDATES)

Customers who paste only the classic address can still match via tier 2 when the amount is unique among open invoices.


Not supported

  • IOUs and issued currencies - non-XRP Payment transactions reject as IOU_RECEIVED_NOT_SUPPORTED.
  • MPT tokens (XLS-46d) - reject as MPT_RECEIVED_NOT_SUPPORTED.
  • DepositAuth accounts - cannot receive ordinary customer Payments.
  • Custodial exchange deposit addresses.

Testnet (XRP_TESTNET)


Common errors

CodeWhen
XRPL_ACCOUNT_NOT_FUNDEDAccount doesn't exist on-ledger - fund above the base reserve
XRPL_DEPOSIT_AUTH_ENABLEDDepositAuth flag is set - disable it or use another account
XRPL_DEST_TAG_EXHAUSTEDAll 8 destination-tag retries collided - retry the payment (extremely rare)
IOU_RECEIVED_NOT_SUPPORTEDCustomer sent an IOU instead of native XRP
MPT_RECEIVED_NOT_SUPPORTEDCustomer sent an MPT token instead of native XRP
XRPL_TX_FAILEDThe transaction was validated but failed on-chain

Recovery

Your Recovery Kit lists your XRP wallet as an informational entry only - there is no platform-side secret to recover, because funds always land directly in your XRPL account. NoHoldPay never controls a forwarder or operator wallet for XRP - if the platform is offline, you can still see and spend your XRP from your own wallet or any XRPL explorer.


See also

On this page