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
UUID of a saved recipient. Mutually exclusive with
destination. See Recipients.Response
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
Example
Get a transfer
GET https://api.dubupay.com/api/v1/payments/transfers/:id
Retrieves a single transfer by ID.
Path parameters
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
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
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
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.