Skip to main content

The payout object

A payout represents a withdrawal of settled funds from your Orafi account to an external wallet address. Payouts are processed on-chain in USDC.
string
Unique identifier for the payout.
number
Payout amount in the base unit.
string
default:"INITIALIZED"
Current payout status. One of INITIALIZED, COMPLETED, or FAILED.
string
Destination wallet address the funds are sent to.
string
On-chain transaction digest, available after the payout is processed.
string
Payout method. One of CRYPTO or FIAT.
string
ID of the parent transaction record.
string
ID of the crypto settlement account used, if applicable.
string
ID of the fiat settlement account used, if applicable.

Transaction sub-object

When retrieving a Transaction with type: "PAYOUT", the payout appears as a nested payout sub-object with these fields:
string
Unique identifier for the payout.
string
Payout method. One of CRYPTO or FIAT.
string
Destination wallet address. Present for crypto payouts.
string
On-chain transaction digest. Available after payout is processed.
string
ID of the crypto settlement account used, if applicable.
string
ID of the fiat settlement account used, if applicable.

Check available balances

GET /transactions/payout/balances
Returns your available payout balances by token. Use this to check how much you can withdraw before initiating a payout.

Create a crypto payout

POST /transactions/payout/crypto
Initiates a crypto payout. There are two supported methods:
Use a previously saved crypto settlement account. No wallet signing required.Required fields: amount, cryptoSettlementAccountId

Request body

number
required
Amount to withdraw.
string
ID of a saved crypto settlement account. Use this or provide a direct wallet address --- not both.
string
Destination wallet address for the payout. Required when not using a settlement account.
string
Serialized message bytes signed by the wallet owner. Required with walletAddress.
string
Cryptographic signature generated by signing bytes with the wallet’s private key. Required with walletAddress.
boolean
default:"false"
When true, saves the wallet address as a settlement account for future payouts.

Create a fiat payout

POST /transactions/payout/fiat
Initiates a fiat payout to a saved bank account or a new bank account. See Fiat Settlements to manage your saved accounts. You can use a saved fiat settlement account or provide bank details directly.

Retry a failed payout

POST /transactions/payout/crypto/retry
Retries a payout that previously failed. The payout must be in FAILED status.

Request body

string
required
The ID of the failed payout to retry.