Universal On-Ramp API
Convert your users’ fiat into XRP or RLUSD on the XRPL. One POST request.
How it works
- 1Send a checkout request
POST to
/api/v1/checkoutwithsettlementCurrencyanddestinationAddress. - 2Customer pays
XRPay returns a hosted checkout URL. The customer pays via card or bank transfer.
- 3Funds settle on XRPL
Settlement lands in the customer’s XRPL wallet as XRP or RLUSD.
Authentication
Pass your publishable key in the apiKey body field. Test keys start with pk_test_, live keys with pk_live_.
Get your keys from Dashboard → API Keys.
Request
/api/v1/checkoutParameters
Example
Trustline requirements
Important
Error codes
Settlement notifications
Two ways to know when funds land in the destination wallet.
1. Webhooks (recommended)
Register an HTTPS endpoint to receive real-time events. Uses your secret key (sk_test_ / sk_live_), not your publishable key.
When the XRPL transaction is validated, XRPay sends a payment.confirmed POST to your URL:
The tx_hash is the on-ledger XRPL transaction hash. Verify it independently on any XRPL explorer or via the tx RPC command.
Available events for on-ramp flows:
HMAC verification
Every webhook carries an X-XRPay-Signature header. Verify it with the whsec_ secret returned at registration:
2. Status polling (fallback)
If you can’t receive webhooks, poll the status endpoint:
/api/v1/status?paymentId=txn_abc123Returns the current payment status. Poll every 5–10 seconds until status is confirmed or failed.
Next Steps
Try the live API in the interactive playground.