The Payout object
A Payout object is created when you send funds from a connected account's Zoneless balance to their external Solana wallet. Payouts transfer USDC when you process them with .processAll() or .processBatch(), and typically complete within seconds due to Solana's fast finality.
Attributes
The connected account ID this payout belongs to.
Zoneless extension: This field is not present in Stripe's payout object. It identifies which connected account's balance is being debited.
Date when the payout arrived at the destination wallet. Due to Solana's speed, this is typically seconds after creation.
Difference from Stripe: Stripe payouts can take days to arrive at a bank account. Zoneless payouts on Solana typically complete within seconds.
Returns true if the payout is created by an automated payout schedule and false if it's requested manually via the API.
ID of the balance transaction that describes the impact of this payout on the connected account's balance.
Three-letter currency code, in lowercase. For Zoneless, this is typically usdc.
Difference from Stripe: Stripe uses ISO currency codes like usd. Zoneless uses usdc for USDC stablecoin payouts.
An arbitrary string attached to the object. Often useful for displaying to users.
ID of the external wallet the payout is sent to.
Difference from Stripe: Stripe's destination is a bank account or card ID. Zoneless uses an external wallet ID (wa_z_ prefix) representing a Solana wallet address.
Error code that provides a reason for a payout failure, if available.
insufficient_fundsThe connected account has insufficient funds in their balance.wallet_not_foundThe destination wallet could not be found or is invalid.sanctioned_addressThe destination wallet is on a sanctions list.blockchain_errorThe Solana blockchain returned an error during transfer.could_not_processThe payout could not be processed.declinedThe payout was declined.invalid_currencyThe currency is not supported.Has the value true if the object exists in live mode or the value false if the object exists in test mode.
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
Zoneless extension: After a successful payout, this object is populated with blockchain transaction details: network, blockchain_tx, viewer_url, gas_fee, and gas_fee_currency.
The method used to send this payout.
Difference from Stripe: Zoneless defaults to instant since Solana transactions settle in seconds. Stripe defaults to standard for bank transfers.
instantImmediate transfer to the destination wallet. Default for Zoneless.standardStandard transfer timing.The source balance this payout came from. Always wallet for Zoneless.
Difference from Stripe: Stripe uses card, bank_account, or fpx. Zoneless uses wallet representing the USDC balance.
Extra information about the payout for internal reference. This is stored for record-keeping but does not appear on blockchain transactions.
Difference from Stripe: Bank statement descriptors don't apply to blockchain transactions. This field is retained for API compatibility.
Current status of the payout.
pendingThe payout has been created and is waiting to be sent.processingThe payout is being prepared for blockchain submission.in_transitThe payout has been submitted to the Solana blockchain and is awaiting confirmation.paidThe payout has been confirmed on the blockchain.failedThe payout failed. Check failure_code and failure_message for details.canceledThe payout was canceled before it was sent.{
"id": "po_z_1Nv0FGQ9RKHgCVdK",
"object": "payout",
"account": "acct_z_1Nv0FGQ9RKHgCVdK",
"amount": 110000,
"arrival_date": 1704067200,
"automatic": false,
"balance_transaction": "txn_z_1Nv0FGQ9RKHgCVdK",
"created": 1704067200,
"currency": "usdc",
"description": "Weekly seller payout",
"destination": "wa_z_1Nv0FGQ9RKHgCVdK",
"failure_code": null,
"failure_message": null,
"livemode": true,
"metadata": {},
"method": "instant",
"platform_account": "acct_z_Platform123abc",
"source_type": "wallet",
"statement_descriptor": null,
"status": "paid",
"type": "wallet"
}