Create payout

POST
/payouts

Create new crypto payout from one of your wallets to an external address.

Authorization

Bearer
headerAuthorizationBearer <JWT>

OAuth access token.

Header Parameters

Idempotency-Key*string

It helps prevent duplicates in your POST requests. We recommend using a UUID for the key, however you may use any other unique identifier you choose.

Length1 <= length <= 64
X-Volt-Api-Version*1

Version of the API used. Currently, version 1 is the only version.

Value in1
X-JWS-Signature*string

Detached JWS signature for request integrity and authenticity.

See Signing requests for the signing procedure.

Request Body

application/json
  1. body
walletId*string

Identifier of the wallet the payout is debited from.

Formatuuid
amount*

Amount as an exact decimal string, in major units.

currency*string

Currency of the payout. Must equal the source wallet's currency.

Value in"USDC""EURC""USDT"
beneficiary*|

Counterparty identity (Travel Rule).

crypto*

On-chain destination the payout is sent to.

payoutReference?string

Unique reference for the payout from the partner's system. Reference must contain only alphanumeric characters.

If value is not provided, it will be generated by Volt.

Match^[A-Za-z0-9]{1,18}$
Lengthlength <= 18
internalReference?string

Identifier of the payout in the partner's system. This field can contain up to 100 characters, including special ones.

Lengthlength <= 100
communication*

Partner communication settings.

Response Body

Created - The payout was created and dispatched, returning payout details. Funds have not been sent yet.

application/json
  1. response
id*string

Identifier of the payout.

Formatuuid
walletId*string

Identifier of the wallet the payout is debited from.

Formatuuid
status*PayoutStatusEnum

Payout status.

Value in"PENDING""PROCESSING""ON_HOLD""COMPLETED""FAILED""CANCELLED"
type*"CRYPTO"

Payout type, inferred from currency.

Value in"CRYPTO"
payoutReference*string

Unique reference for the payout — merchant-supplied or Volt-generated.

Lengthlength <= 18
internalReference*|

Internal identifier of the payout in the partner's system.

debited*|

The wallet leg. This field is null until the payout executes, then carries the settled debited amount.

paid*

The on-chain leg, populated from the request at creation.

rate*|

Settled conversion rate as an exact decimal string: 1 unit of the debited currency equals rate units of the paid currency. This field is null until the payout executes.

beneficiary*||

The counterparty identity held against the payout.

crypto*

The on-chain destination. Present for crypto payouts.

transaction*|

On-chain evidence for the payout. Present for crypto payouts. This field is null until the on-chain transaction is known.

failureReason*|

This field is null unless status is FAILED.

Value in"REJECTED_BY_PROVIDER""INSUFFICIENT_FUNDS""INVALID_ADDRESS""WALLET_NOT_FOUND""WALLET_MERCHANT_MISMATCH""COMPLIANCE_REJECTED""RETURNED""INTERNAL_ERROR"
createdAt*string

Date of payout creation.

Formatdate-time
updatedAt*|

Date of payout's last update.

Formatdate-time
curl -X POST 'https://stablecoins.sandbox.volt.io/payouts' \  -H 'Idempotency-Key: 85136c79cbf9fe36bb9d05d0639c70c265c18d37' \  -H 'X-Volt-Api-Version: 1' \  -H 'X-JWS-Signature: eyJhbGciOiJSUzI1NiIsImtpZCI6ImI0YzQ0ZDc4LTVhMmMtNGU2Zi1iOGQwLWE0YzZlOGYwYjJkNCJ9..MEUCIQDx8Z3vQ2K9f6b1c8d0e2a4f6b8c0d2e4f6a8b0c2d4e6f8a0b2c4d6e8f0' \  -H 'Content-Type: application/json' \  -d '{  "walletId": "6a4f0c9e-2d1b-4c8a-9f3e-b7d2a1c4e5f6",  "amount": "150.000000",  "currency": "USDC",  "beneficiary": {    "type": "INDIVIDUAL",    "firstName": "Jane",    "lastName": "Doe",    "dateOfBirth": "1987-04-05",    "country": "DE"  },  "crypto": {    "address": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F",    "network": "ETHEREUM"  },  "payoutReference": "K7KDN3PA84MRV2XQZ9",  "internalReference": "TREASURY-09",  "communication": {    "notifications": {      "url": "https://example.com/webhooks/payouts"    }  }}'
Example Response
{  "id": "7f3b9d1e-5a2c-4e6f-b8d0-a4c6e8f0b2d4",  "walletId": "6a4f0c9e-2d1b-4c8a-9f3e-b7d2a1c4e5f6",  "status": "PENDING",  "type": "CRYPTO",  "payoutReference": "K7KDN3PA84MRV2XQZ9",  "internalReference": "TREASURY-09",  "debited": null,  "paid": {    "amount": "150.000000",    "currency": "USDC"  },  "rate": null,  "beneficiary": {    "type": "INDIVIDUAL",    "firstName": "Jane",    "lastName": "Doe",    "country": "DE"  },  "crypto": {    "address": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F",    "network": "ETHEREUM",    "tag": null  },  "transaction": null,  "failureReason": null,  "createdAt": "2026-09-02T10:12:03+00:00",  "updatedAt": "2026-09-02T10:12:03+00:00"}