GuidesAPI ReferenceChangelog
Changelog
Added

v1.0.16

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.