Skip to main content
POST
Performs crypto transfer
Initiates a crypto withdrawal to an external wallet or beneficiary.

Authorizations

x-api-key
string
header
required

Requires authentication via API key and HMAC signature.

  • x-api-key: Your API key generated from your Onboard Business dashboard.
  • x-timestamp: Unix epoch timestamp (seconds) used in signature, allowed skew is 30 seconds
  • x-signature: SHA256 HMAC HEX signature calculated over t={x-timestamp}&{requestBody} using your API Secret.

Body

application/json

Request object for crypto payment initiation request. The sourceAccountId can be a main account or sub-account.

sourceAccountId
string<uuid>
required

The source account ID from which funds will be debited. This can be a main account or sub-account.

amount
number
required

Transaction amount, specified in the source account's currency.

Required range: x >= 0
Example:

"100.00"

destination
object
required

The destination details of the transfer. Either beneficiaryId or address must be provided.

narration
string

Notes

Response

Request received, do 2FA

The payment initiation response

id
string
required
Example:

"P12005E1DV"

status
enum<string>
required

Status of the transaction, indicating its current state in the processing lifecycle.

  • PENDING: The transaction has been created but not yet processed.
  • IN_PROGRESS: The transaction is currently being processed.
  • FAILED: The transaction processing has failed.
  • SUCCESS: The transaction has been successfully processed.
Available options:
PENDING,
IN_PROGRESS,
FAILED,
SUCCESS
awaiting2fA
boolean
default:false
required

Indicates if transfer is awaiting 2FA confirmation. This applies mostly to transaction initiated via dashboard

twoFaMethod
enum<string>[]

List of 2fa enabled

Available options:
AUTHENTICATOR_APP,
EMAIL,
SMS