recipient_id or an inline destination object — not both.
Authentication
All endpoints require either a Bearer token or an API key.Create a transfer
POST https://api.dubupay.com/api/v1/payments/transfers
Initiates a fund transfer in NGN or USD to an external bank account. Provide exactly one of recipient_id (reference a saved recipient) or destination (inline account details).
This endpoint supports idempotency via
Idempotency-Key or X-Idempotency-Key headers. Use this to safely retry on network failures.Request body
string
required
Transfer currency. One of
NGN or USD.string
required
Transfer amount as a decimal string (e.g.,
"5000.00").string
required
Your unique reference for this transfer. Used for reconciliation.
string
UUID of a saved recipient. Mutually exclusive with
destination. See Recipients.object
Inline destination details. Mutually exclusive with
recipient_id.object
Identifies the customer on whose behalf you are sending this transfer.
Response
object
The created transfer.
Example — Nigerian bank transfer
Example — transfer using a saved recipient
List transfers
GET https://api.dubupay.com/api/v1/payments/transfers
Returns a paginated list of transfers.
Query parameters
number
Page number (1-indexed).
number
Results per page. Up to 100.
string
Filter by status. One of
PROCESSING, SETTLED, FAILED.string
Filter by currency. One of
NGN or USD.Example
Get a transfer
GET https://api.dubupay.com/api/v1/payments/transfers/:id
Retrieves a single transfer by ID.
Path parameters
string
required
The transfer ID.
Example
Merchant balance
Get merchant balance
GET https://api.dubupay.com/api/v1/payments/merchant/balance
Returns your current merchant USDT balance — the funds available to fund withdrawals, transfers, and offramps.
Response
object
Current merchant balance details.
Example
Move merchant balance
POST https://api.dubupay.com/api/v1/payments/merchant/balance/transfer
Moves a specified amount of your merchant USDT balance (for example, to fund an onchain settlement or top up a wallet).
Supports idempotency via the
X-Idempotency-Key header.Request body
string
required
The USD amount to transfer, as a decimal string (e.g.,
"500.00").Example
List balance transfers
GET https://api.dubupay.com/api/v1/payments/merchant/balance/transfers
Returns a paginated history of merchant balance movements.
Query parameters
number
Page number (1-indexed).
number
Results per page.
string
Filter by status. One of
PENDING, COMPLETED, FAILED.Example
Merchant funding
Get funding information
GET https://api.dubupay.com/api/v1/payments/merchant/funding
Returns the deposit addresses and instructions you need to fund your merchant USDT balance from external sources.
Response
object
Funding details for your merchant account.