Skip to main content
POST
/
v1
/
deposits
/
create
/
api-key
Create a Deposit
curl --request POST \
  --url https://api.hel.io/v1/deposits/create/api-key \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "currencyIds": [
    "63430c8348c610068bcdc482"
  ],
  "description": "<string>",
  "notifyReceiverByEmail": false,
  "connectWalletOptions": {
    "isActive": true,
    "title": "<string>",
    "badge": "<string>"
  },
  "transferManuallyOptions": {
    "isActive": true,
    "title": "<string>",
    "badge": "<string>"
  },
  "payWithCardOptions": {
    "isActive": true,
    "title": "<string>",
    "badge": "<string>",
    "hasWhiteListDomain": true
  },
  "disabledBlockchainSymbols": [
    [
      "SOL",
      "BASE"
    ]
  ]
}
'
{
  "id": "string",
  "description": "string",
  "name": "string",
  "platform": "HELIO",
  "notifyReceiverByEmail": true,
  "disabled": false,
  "disabledBlockchainSymbols": [
    "SOL",
    "ETH"
  ],
  "connectWalletOptions": {
    "isActive": true,
    "title": "string",
    "badge": "string"
  },
  "transferManuallyOptions": {
    "isActive": true,
    "title": "string",
    "badge": "string"
  },
  "payWithCardOptions": {
    "isActive": true,
    "title": "string",
    "badge": "string",
    "hasWhiteListDomain": false
  },
  "createdAt": "2026-02-06T16:31:18.839Z",
  "updatedAt": "2026-02-06T16:31:18.839Z"
}
Note: When using the production environment at moonpay.hel.io, set your API endpoint to api.hel.io/v1 and generate API keys there. For the development environment, use api.dev.hel.io/v1 and generate API keys from moonpay.dev.hel.io.

Authorizations

Authorization
string
header
required

Authentication using JWT token

Query Parameters

apiKey
string
required

Your API key, which can be generated from the Helio Dashboard settings page.

Body

application/json

Request body for creating a deposit.

name
string
required

Name of the deposit.

currencyIds
string[]
required

Array containing exactly one currency ID. This value can be retrieved using the Currencies endpoint.

Required array length: 1 element
Example:
["63430c8348c610068bcdc482"]
description
string

Optional description of the deposit.

notifyReceiverByEmail
boolean
default:false

Send email notifications.

connectWalletOptions
object

Configuration for a deposit payment option.

transferManuallyOptions
object

Configuration for a deposit payment option.

payWithCardOptions
object

Configuration for a deposit payment option.

disabledBlockchainSymbols
enum<string>[]

List of blockchain symbols for which deposits are disabled.

Available options:
SOL,
ETH,
POLYGON,
BASE,
BITCOIN,
ARBITRUM,
BSC,
ABSTRACT,
HYPERLIQUID,
PLASMA
Example:
[["SOL", "BASE"]]

Response

Deposit created successfully.

name
string
required

Name of the deposit.

currencyIds
string[]
required

Array containing exactly one currency ID. This value can be retrieved using the Currencies endpoint.

Required array length: 1 element
Example:
["63430c8348c610068bcdc482"]
description
string

Optional description of the deposit.

notifyReceiverByEmail
boolean
default:false

Send email notifications.

connectWalletOptions
object

Configuration for a deposit payment option.

transferManuallyOptions
object

Configuration for a deposit payment option.

payWithCardOptions
object

Configuration for a deposit payment option.

disabledBlockchainSymbols
enum<string>[]

List of blockchain symbols for which deposits are disabled.

Available options:
SOL,
ETH,
POLYGON,
BASE,
BITCOIN,
ARBITRUM,
BSC,
ABSTRACT,
HYPERLIQUID,
PLASMA
Example:
[["SOL", "BASE"]]