Skip to main content
POST
Assign Deposit Customer Wallet
Note: When using the production environment at moonpay.hel.io, set your API endpoint to api.hel.io/v1. For the development environment, use api.dev.hel.io/v1.

Authentication

This endpoint is public — it is not API-key authenticated. The depositCustomerToken in the path is the credential, so treat it as a secret and only expose it to the customer it belongs to.

Behavior

  • Idempotent: If the customer already has a wallet for the requested blockchainEngineType, the existing wallet is returned instead of creating a duplicate.
  • On-demand assignment: Use this when a customer selects a network in your UI and you need to provision (or retrieve) the corresponding deposit address.
  • HYPERCORE compatibility: Requesting HYPERCORE may return an existing EVM wallet that is marked as compatible with Hypercore.
  • Restricted engines: Some engines (for example TRON) require your company account to have that engine enabled. Otherwise the request returns 400.

Path Parameters

depositCustomerToken
string
required

The token associated with the deposit customer.

Body

application/json
blockchainEngineType
enum<string>
required

The blockchain engine to assign a deposit wallet for.

Available options:
EVM,
SOL,
BTC,
TRON,
HYPERCORE,
DOGE,
TON

Response

The assigned deposit wallet for the requested blockchain engine.

id
string
required

Unique identifier of the deposit wallet.

publicKey
string
required

The wallet address for this blockchain.

blockchainEngine
object
required
createdAt
string<date-time>

ISO 8601 timestamp when the wallet was created.

updatedAt
string<date-time>

ISO 8601 timestamp when the wallet was last updated.