Skip to main content
POST
Stable since 2026-04-14 — unchanged in 2026-06-01.

Authorizations

Authorization
string
header
required

Access token from POST /auth (the data.access_token value).

x-api-key
string
header
required

API key issued by Kira. Required on every request, including /auth.

Headers

X-Api-Version
string

Optional. The date-versioned API version to apply for this request (e.g. 2026-04-14). When sent it always wins, even over your pinned account default. When omitted, the API uses your account's pinned version if set, otherwise a baseline default.

Example:

"2026-06-01"

Idempotency-Key
string<uuid>
required
Example:

"{{idempotency_key}}"

Path Parameters

virtual_account_id
string<uuid>
required

Virtual account UUID.

Body

application/json

VaPayoutRequest. There is no top-level currency field.

amount
string
required

Positive USD decimal; up to 2 decimals for fiat / fiat-to-crypto, up to 8 for crypto-funded payouts.

recipient_id
string<uuid>

Required for fiat and fiat-to-crypto payouts; optional for crypto-funded payouts using mode: "CRYPTO".

mode
enum<string>

Optional. CRYPTO sources the deposit address from the virtual account's inbound config without requiring recipient_id.

Available options:
FIAT,
CRYPTO
payment_instructions
object

Present marks a crypto-funded payout. tron does not support USDC.

supporting_documents
object[]

Required for payouts unless nature_of_payment is first_party or your account is configured to not require documents. At most one invoice and one other. Omit the field entirely when sending no documents — an empty array is rejected.

Required array length: 1 - 2 elements
nature_of_payment
enum<string>

What the payout is for. For crypto-mode payouts, this drives the supporting_documents requirement: first_party is exempt, every other value requires a document unless your account is configured to not require them. Fiat-mode payouts do not enforce this requirement at the API layer. Persisted and echoed back on the payout detail under extra_info. Values: vendor = payment to a supplier/vendor for goods or services; pobo = payment on behalf of a third party; first_party = a transfer between accounts under the SAME legal name/owner (doc-exempt for crypto-mode payouts); spot_3p = third-party spot payment; spot_1p = first-party spot payment; related_entities = payment between entities in the same corporate group; other = any reason not covered above.

Available options:
vendor,
pobo,
first_party,
spot_3p,
spot_1p,
related_entities,
other
quote_id
string<uuid>

UUID of a quote reserved via the preview.

client_markup
object
extra_info
object
reference
string

Your own reference, surfaced back unchanged on the payout detail.

metadata
object

Your own key/value object.

Response

Created. Returns the payout with status created (lowercase).

For crypto-funded payouts the response includes deposit_instructions with a single-use deposit address; send the stablecoins there.

id
string
virtual_account_id
string
recipient_id
string
amount
string
currency
string

Always USD.

Example:

"USD"

fees
object
recipient_amount
string
recipient_currency
string
status
string

created (lowercase).

Example:

"created"

created_at
string
metadata
object
deposit_instructions
object

Present only for crypto-funded payouts.