- Create and manage beneficiaries (end recipients)
- Request transfer quotes (crypto → fiat)
- Create transfer orders funded in USDC/USDT
- Retrieve beneficiary and transfer details for reconciliation
All payouts are funded in USDC or USDT, and delivered via local rails (IMPS, ACH/SWIFT, SEPA, and other supported domestic networks).
High-Level Flow
Create Beneficiary
Use
CreateBeneficiary to register the receiver with their KYC profile and bank account details. Response returns userUid and walletUid.(Optional) Retrieve Beneficiary
Use
GetBeneficiary to check status, attached wallets, and bank account details.Get Transfer Quote
Use
GetTransferOrderQuote to preview FX, source amount and destination amount for a given corridor and currency pair.Create Transfer Order
Use
CreateTransferOrder to initiate the payout using the walletUid from the beneficiary and your source/destination currency setup. Response includes payment instructions (bank or crypto), status, and expiry.Get Transfer Status (Using traceId)
Use
Get Transfer Status to retrieve the latest status of any payout using the traceId returned by all Rampnow endpoints (CreateTransferOrder, webhooks, and error responses).1. Create Beneficiary
Create a beneficiary (end recipient) with user KYC data and one linked bank account.Request
Request body
Key concepts:
- user – legal person data (KYC for the beneficiary)
- bankAccount – payout destination (IBAN or local account)
- idDocs – optional document set for enhanced checks (front/back URLs, etc.)
Response
- userUid – internal identifier for the beneficiary user
- walletUid – identifier used later in CreateTransferOrder to send payouts to this beneficiary
2. Get Beneficiary
Retrieve an existing beneficiary and all linked payout wallets.http
Path parameter:
- uid – the userUid returned from CreateBeneficiary
Response
- Check beneficiary status (e.g. active / pending / blocked)
- Inspect attached wallets (bank or crypto accounts)
- Retrieve the wallet uid if you need it for a new transfer
3. Get Transfer Order Quote
Get indicative pricing and FX details for a potential transfer order.Use this before creating a transfer order so you can show the user what they will pay and what the recipient will receive.
Request
- Pass your quote parameters as query string (source/destination currency, chain, amount, etc.).
- Exact query parameters can be aligned with your implementation.
Response
Fields:
- srcamount / srccurrency / srcchain – the crypto side (typically USDC/USDT)
- dstamount / dstcurrency / dstchain – the payout side (INR, USD, EUR, PHP, IDR, etc.)
- exchangeRate – applied rate from source to destination
4. Create Transfer Order
Create a transfer order that will be funded in USDC/USDT and paid out to a specific beneficiary wallet.Request
Request Body
Key fields:
- apiKey – your partner API key (authentication / routing)
- walletUid – from CreateBeneficiary or GetBeneficiary
- srcCurrency / srcChain – crypto funding (USDC or USDT on a supported chain)
- dstCurrency / dstChain – payout currency & corridor
- dstAmount – amount to be delivered to the beneficiary
- reference – your internal reference for reconciliation
Response
5. Get Transfer Status (Using traceId)
You can retrieve the latest status of any payout using the traceId returned by all Rampnow endpoints (CreateTransferOrder, webhooks, and error responses).This gives partners a deterministic way to track payout states across funding → FX conversion → settlement.
traceId is globally unique and can be used to trace a payout through support, logs, and audit flows.Endpoint
Request
Respose
Status Values
| Status | Meaning |
|---|---|
unknown | Status not yet classified or returned by upstream systems |
created | Transfer order successfully created; awaiting next action |
pending | Awaiting required action (funding, approval, or background checks) |
authorized | User action or crypto funding authorized; ready for next processing step |
accepted | Transfer accepted by the system; queued for processing |
received | Stablecoin funds (USDC/USDT) received and validated |
rejected | Transfer rejected due to bank, compliance, or beneficiary validation |
expired | Transfer order expired due to timeout (e.g., funding window passed) |
canceled | User or partner canceled the transfer before completion |
failed | Transfer failed due to banking or liquidity errors |
refunded | Funds returned to sender after failure or rejection |
review | Under manual compliance or risk review |
processing_failed | Internal processing error after acceptance; retry or manual action required |
This endpoint is ideal for dashboards, reconciliation tools, CRMs, and internal audit systems.
Highlights:
- expiry – time window in which funding must be completed
- payment.bankTxnInfo – details of the bank-side transaction (fees, sender, receiver)
- payment.cryptoTxnInfo – details of the crypto-side transfer (hash, chain, status)
- payment.qrTxnInfo – optional QR information if a QR-based payment method is used
- payment.status – current transfer order status
Status & Traceability
Each API response includes:- code – internal status code
- message – human-readable description
- traceId – correlation ID for debugging and support
Typical Integration Pattern
1
1. Register beneficiary
Call CreateBeneficiary, store
userUid and walletUid in your database.2
2. Show quote to user
Call GetTransferOrderQuote, display
srcamount, dstamount, and exchangeRate.3
3. Create transfer order
Call CreateTransferOrder with the selected quote, beneficiary
walletUid, and your apiKey.4
4. Fund with USDC/USDT
Send the required crypto amount to the address defined in your integration (or as part of payment instructions).
5
5. Monitor & reconcile
Use your internal logs + Rampnow responses (
traceId, reference, status) to reconcile payouts.