Skip to main content
A payout converts crypto from a wallet and settles it to a registered bank account in a single call.

Supported assets and chains

Pass source.asset as one of Privy’s well-known assets. The asset value differs by chain: Tempo uses usdc_e and usdt0, not usdc and usdt.
On Polygon, pay out usdc rather than usdc_e. Privy’s usdc_e on Polygon is PoS-bridged USDC, which the provider does not accept, so a payout naming it is rejected.
To pay out from a wallet, make a POST request to:
In the body of the request, include the following fields:
object
required
The crypto to offramp.
object
required
Where the fiat settles.
Pass a privy-idempotency-key header to make retries safe. If the wallet has an owner, the request also requires an authorization signature.
Below is a sample cURL command for this request:
A successful response is a pending payout wallet action:
string
ID of the wallet action. Use this to track the payout.
'payout'
Type of the wallet action.
'pending' | 'succeeded' | 'rejected' | 'failed'
Current status of the payout.
'bridge'
Provider settling the payout.
'production' | 'sandbox'
Provider environment the payout runs against.
object
The asset, chain, and amount being offramped.
object
The fiat_account_id the payout settles to.

Next steps

Track a payout

Follow a payout from on-chain transfer to bank settlement

Wallet actions

Learn how wallet actions are authorized and executed