Create channel
Create new reusable deposit channel for one of your end users in one crypto currency.
The channel's addresses are permanently bound to that end user, so a channel that already exists for the combination of endUser.reference, currency and wallet returns 409. Converted funds are credited to the wallet identified by walletId.
BearerAuthorizationBearer <JWT>OAuth access token.
Idempotency-Key*stringIt 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.
1 <= length <= 64X-Volt-Api-Version*1Version of the API used. Currently, version 1 is the only version.
1application/json- body
currency*stringCrypto currency the end user will pay in.
"USDC""EURC""USDT"walletId*stringIdentifier of the wallet the channel's converted funds are credited to.
uuidendUser*|The end user the channel belongs to. Regulation requires their identity when the channel is created, because every deposit on the channel's addresses is attributed to them. Fields belonging to the other variant are rejected.
device?Device used to call the endpoint for channel creation.
communication*Partner communication settings.
Created - The channel was created, returning channel details.
application/json- response
A channel as returned in the list. The single-item read and the creation response carry the same addresses extended with qrCode.
id*stringIdentifier of the channel.
uuidendUser*|The end user the channel belongs to, as captured at creation. Fields belonging to the other variant are omitted rather than rendered as null.
currency*stringCrypto currency the end user pays in.
"USDC""EURC""USDT"walletId*stringIdentifier of the wallet the channel's converted funds are credited to.
uuidstatus*"OPEN"Channel status.
"OPEN"addresses*array<>One entry per network the channel is reachable on, the primary network first, then alphabetically by network.
createdAt*stringDate of channel creation.
date-timeupdatedAt*|Date of channel's last update.
date-timecurl -X POST 'https://stablecoins.sandbox.volt.io/channels' \ -H 'Idempotency-Key: 85136c79cbf9fe36bb9d05d0639c70c265c18d37' \ -H 'X-Volt-Api-Version: 1' \ -H 'Content-Type: application/json' \ -d '{ "currency": "USDC", "walletId": "6a4f0c9e-2d1b-4c8a-9f3e-b7d2a1c4e5f6", "endUser": { "type": "INDIVIDUAL", "reference": "user-8841", "firstName": "John", "lastName": "Doe", "dateOfBirth": "1990-01-15", "country": "DE" }, "device": { "ip": "203.0.113.7" }, "communication": { "notifications": { "url": "https://example.com/webhooks/channels" } }}'{ "id": "9c2e6b4a-8f1d-4c3a-b5e7-d0a2c4e6f8b1", "endUser": { "type": "INDIVIDUAL", "reference": "user-8841", "firstName": "John", "lastName": "Doe", "dateOfBirth": "1990-01-15", "country": "DE" }, "currency": "USDC", "walletId": "6a4f0c9e-2d1b-4c8a-9f3e-b7d2a1c4e5f6", "status": "OPEN", "addresses": [ { "network": "ETHEREUM", "address": "0x7b686317f8ed2c2bc3bbd060464f1939359a00e3", "tag": null, "uri": "ethereum:0x7b686317f8ed2c2bc3bbd060464f1939359a00e3", "qrCode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...", "isPrimary": true }, { "network": "SOLANA", "address": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", "tag": null, "uri": "solana:5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", "qrCode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...", "isPrimary": false } ], "createdAt": "2026-08-24T09:15:42+00:00", "updatedAt": "2026-08-24T09:15:42+00:00"}