v1

latestOpenAPI 3.1.0Proprietary2026-07-2464170247.4 KB
Deposit Instructions

Create Crypto Deposit Address

Create a new crypto deposit wallet address for a customer on a specific blockchain network.

Supported networks: EVM, ETHEREUM, POLYGON, BNBCHAIN, AVALANCHE, BASE, ARBITRUM, SOLANA, TRON, BITCOIN.

EVM Network: The EVM network is a virtual network representing all EVM-compatible chains. A single EVM deposit address can receive deposits from: Ethereum, Polygon, BNB Chain, Avalanche, Base, and Arbitrum.

Idempotency: The Idempotency-Key header is required and must be a valid UUID. If a deposit instruction with the same key already exists and the parameters match, it will be returned. If the same key is used with different network or nickname, a 409 Conflict error is returned.

post/v1/customers/{customer_id}/deposit_instruction

Path parameters

customer_idstring required

Customer ID (UUID format)

Headers

Idempotency-Keystring required

Required. valid UUID for idempotent request.

Request body

networkstring required

Network name accepted by deposit-wallet creation surfaces.

Unlike [Network], this type intentionally accepts the virtual EVM network group used by Web/OpenAPI deposit-address creation.

nicknamestring nullable

Optional nickname for the deposit address

Example request

{
  "network": "EVM",
  "nickname": "My second deposit address"
}

Response

Deposit instruction already exists (idempotent replay)

deposit_instruction_idstring required

Unique wallet identifier assigned by the custody provider

networkstring required

Network name accepted by deposit-wallet creation surfaces.

Unlike [Network], this type intentionally accepts the virtual EVM network group used by Web/OpenAPI deposit-address creation.

addressstring required

On-chain deposit address.

is_defaultboolean required

Whether this is the default deposit wallet for the network. Each customer has exactly one default wallet per network, created automatically during onboarding; additional wallets are non-default.

nicknamestring required

Human-readable label. Empty string when not set.

status'PENDING' | 'READY' | 'FAILED' required
created_atstring required

Example response

{
  "network": "EVM",
  "created_at": "2025-08-21T07:56:57.981Z"
}