Added
v1.0.16
29 days ago by Ethen Li
Add Multiple crypto deposit wallet address capability.
Behavioral Notes
- Each customer has a configurable maximum number of deposit addresses (controlled via system_config).
- EVM 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.
- Nickname must be unique per customer and 128 characters or fewer.
- Deposits must be enabled (deposit_status) for the requested blockchain; otherwise the endpoint returns an error.
New Endpoints
GET /v1/customers/{{customer_id}}/all_deposit_instructions
- List all deposit instructions (default + additional deposit wallets) for a customer with pagination.
- Default EVM wallets are collapsed into a single EVM entry.
- Query params: page (default 1), size (default 20, max 100).
POST /v1/customers/{{customer_id}}/deposit_instruction
- Create a new crypto deposit wallet address on a specific blockchain network.
- Requires Idempotency-Key header (valid UUID v4).
- Supported networks: EVM, ETHEREUM, POLYGON, BNBCHAIN, AVALANCHE, BASE, ARBITRUM, SOLANA, TRON.
- Returns 201 Created for new wallets, 200 OK for idempotent replays, 409 Conflict on key reuse with different parameters.
GET /v1/customers/{{customer_id}}/deposit_instruction/{deposit_instruction_id}
- Retrieve a single deposit instruction by its ID.
GET /v1/customers/{{customer_id}}/deposit_instruction
- Retrieve a deposit instruction by idempotency_key query parameter.
Modified Endpoints
GET /v1/customers/{{customer_id}}/deposit_instructions (existing)
- No breaking changes. Updated description to reference the new multi-address endpoints.
- The EVM virtual network is now rejected in the network query parameter with a descriptive error message directing users to specify a concrete chain (e.g., ETHEREUM).
New Webhook Events
- deposit_instruction.ready — Fired when a deposit wallet address is provisioned and ready to receive deposits.
- deposit_instruction.failed — Fired when wallet provisioning fails.
