Authentication
All endpoints require either a Bearer token or an API key.Withdrawals
Create a withdrawal
POST https://api.dubupay.com/api/v1/payments/withdrawals
Initiates a USDT withdrawal from your merchant balance to an external wallet address on the specified blockchain network.
This endpoint supports idempotency. Pass an
X-Idempotency-Key header to safely retry without creating duplicate withdrawals.Request body
The USD-equivalent amount to withdraw, expressed as a decimal string (e.g.,
"100.00").The blockchain network to send on. Supported values:
APTOS, BASE, CELO, ETHEREUM, POLYGON, SOLANA, TRON.Response
Example
List withdrawals
GET https://api.dubupay.com/api/v1/payments/withdrawals
Returns a paginated list of withdrawals.
Query parameters
Example
Get a withdrawal
GET https://api.dubupay.com/api/v1/payments/withdrawals/:id
Retrieves a single withdrawal by ID.
Path parameters
Example
Offramps
Offramps convert USDT (or USDC) received from a blockchain address into NGN and pay it out to a bank account. You can create offramps as TEMPORARY (one-time, for a specific conversion) or PERMANENT (reusable for a customer’s ongoing payouts). For NGN bank payouts, you must supply arate_id (lock a rate from the Rates endpoint) and destination bank details.
Create an offramp
POST https://api.dubupay.com/api/v1/payments/offramps
Creates a new offramp. The body shape varies depending on whether you settle to your internal balance or to an NGN bank account.
This endpoint supports idempotency via the
X-Idempotency-Key header.Request body
The customer for this offramp. Provide either
customer_id or email (with optional name fields).The blockchain network the offramp listens on. One of
APTOS, BASE, CELO, ETHEREUM, POLYGON, SOLANA, TRON.Example — settle to internal balance
Example — NGN payout to bank account
List offramps
GET https://api.dubupay.com/api/v1/payments/offramps
Returns a paginated list of offramps with optional filters.
Query parameters
Example
Get an offramp
GET https://api.dubupay.com/api/v1/payments/offramps/:id
Retrieves a single offramp by ID.
Path parameters
Example
Recipients
A recipient is a saved payment destination — a bank account, crypto address, or wire details — that you can reference by ID when creating transfers or offramps. Managing recipients separately lets you avoid re-entering bank details on every payout.Create a recipient
POST https://api.dubupay.com/api/v1/recipients
Request body
Recipient type. One of
BANK_ACCOUNT, CRYPTO_ADDRESS, US_BANK_ACCOUNT, SWIFT_BANK_ACCOUNT.UUID of an existing customer to associate with this recipient. Required for
US_BANK_ACCOUNT and SWIFT_BANK_ACCOUNT types.