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>",
    "order": 123
  },
  "transferManuallyOptions": {
    "isActive": true,
    "title": "<string>",
    "badge": "<string>",
    "order": 123
  },
  "payWithCardOptions": {
    "isActive": true,
    "title": "<string>",
    "badge": "<string>",
    "order": 123,
    "hasWhiteListDomain": true
  },
  "connectExchangeOptions": {
    "isActive": true,
    "title": "<string>",
    "badge": "<string>",
    "order": 123
  },
  "disabledBlockchainSymbols": [
    [
      "SOL",
      "BASE"
    ]
  ],
  "minSweepAmountUsd": 4
}
'
{
  "id": "string",
  "name": "string",
  "description": "string",
  "paylinkId": "string",
  "platform": "HELIO",
  "notifyReceiverByEmail": true,
  "disabled": false,
  "disabledBlockchainSymbols": [
    "SOL",
    "ETH"
  ],
  "connectWalletOptions": {
    "isActive": true,
    "title": "string",
    "badge": "string",
    "order": 1
  },
  "transferManuallyOptions": {
    "isActive": true,
    "title": "string",
    "badge": "string",
    "order": 2
  },
  "payWithCardOptions": {
    "isActive": true,
    "title": "string",
    "badge": "string",
    "order": 3,
    "hasWhiteListDomain": false
  },
  "connectExchangeOptions": {
    "isActive": true,
    "title": "string",
    "badge": "string",
    "order": 4
  },
  "minSweepAmountUsd": 3,
  "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.

connectExchangeOptions
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,
TRON,
ABSTRACT,
HYPERLIQUID,
HYPERCORE,
PLASMA
Example:
[["SOL", "BASE"]]
minSweepAmountUsd
number

Minimum sweep amount in USD.

Required range: x >= 3

Response

Deposit created successfully.

Response body for a deposit.

id
string
required

Unique identifier of the deposit.

name
string
required

Name of the deposit.

platform
enum<string>
required

Platform associated with the deposit.

Available options:
HELIO,
MAGIC_EDEN
notifyReceiverByEmail
boolean
required

Whether the receiver is notified by email.

disabled
boolean
required

Whether the deposit is disabled.

createdAt
string<date-time>
required

Timestamp when the deposit was created.

updatedAt
string<date-time>
required

Timestamp when the deposit was last updated.

description
string

Description of the deposit.

Associated paylink identifier.

disabledBlockchainSymbols
enum<string>[]

List of blockchain symbols for which deposits are disabled.

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

Configuration for a deposit payment option.

transferManuallyOptions
object

Configuration for a deposit payment option.

payWithCardOptions
object

Configuration for a deposit payment option.

connectExchangeOptions
object

Configuration for a deposit payment option.

minSweepAmountUsd
number

Minimum sweep amount in USD.

Required range: x >= 3