Skip to main content
POST
/
api
/
v1
/
business
/
payouts
Initiate a business payout
curl --request POST \
  --url http://localhost:3001/api/v1/business/payouts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "quoteToken": "<string>",
  "idempotencyKey": "<string>",
  "recipientId": "<string>",
  "destination": {},
  "amount": "50.00",
  "twoFactorCode": "<string>",
  "metadata": {}
}
'
{
  "success": true,
  "data": {
    "id": "<string>",
    "partnerId": "<string>",
    "partnerEndUserId": "<string>",
    "amount": "100.00",
    "currency": "USDC",
    "destinationType": "<string>",
    "destinationDetails": {},
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "partnerWalletId": {},
    "failureReason": {}
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-Axra-Business-Id
string

Active business context

Body

application/json
rail
enum<string>
required
Available options:
CRYPTO,
ACH,
WIRE,
SEPA,
SWIFT,
LOCAL_BANK,
LOCAL_MOMO
quoteToken
string
required

Signed quote token from POST /v1/business/payouts/quote (required for LOCAL_BANK / LOCAL_MOMO)

idempotencyKey
string
required
Required string length: 8 - 64
recipientId
string

Saved recipient id (required for LOCAL_BANK / LOCAL_MOMO; mutually exclusive with destination on other rails)

destination
object

Ad-hoc destination (not supported for LOCAL_BANK / LOCAL_MOMO in v1; mutually exclusive with recipientId)

amount
string

Decimal string (up to 8 fractional digits). Ignored for LOCAL_* rails — amounts come from quoteToken.

Example:

"50.00"

currency
enum<string>

Ignored for LOCAL_* rails — wallet debit currency is USDC from the quote.

Available options:
USDC,
EURC,
GBPC
twoFactorCode
string

Fresh TOTP code when amount >= $10k USD-equivalent

metadata
object

Response

OK

success
boolean
required
Example:

true

data
object
required