Skip to main content
Transfers let you push funds from your merchant account to external bank accounts — either Nigerian domestic accounts, US bank accounts via ACH or wire, or international accounts via SWIFT. You can also move your merchant USDT balance to a registered destination and query your funding details. Every transfer requires either a saved 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

currency
string
required
Transfer currency. One of NGN or USD.
amount
string
required
Transfer amount as a decimal string (e.g., "5000.00").
reference
string
required
Your unique reference for this transfer. Used for reconciliation.
recipient_id
string
UUID of a saved recipient. Mutually exclusive with destination. See Recipients.
destination
object
Inline destination details. Mutually exclusive with recipient_id.
on_behalf_of
object
Identifies the customer on whose behalf you are sending this transfer.

Response

data
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

page
number
Page number (1-indexed).
limit
number
Results per page. Up to 100.
status
string
Filter by status. One of PROCESSING, SETTLED, FAILED.
currency
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

id
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

data
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

amount_usd
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

page
number
Page number (1-indexed).
limit
number
Results per page.
status
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

data
object
Funding details for your merchant account.

Example