curl --request PATCH \
--url https://api.hel.io/v1/deposits/{depositId}/api-key \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"disabled": true,
"description": "<string>",
"notifyReceiverByEmail": true,
"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
}
'import requests
url = "https://api.hel.io/v1/deposits/{depositId}/api-key"
payload = {
"name": "<string>",
"disabled": True,
"description": "<string>",
"notifyReceiverByEmail": True,
"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
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
disabled: true,
description: '<string>',
notifyReceiverByEmail: true,
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
})
};
fetch('https://api.hel.io/v1/deposits/{depositId}/api-key', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hel.io/v1/deposits/{depositId}/api-key",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'disabled' => true,
'description' => '<string>',
'notifyReceiverByEmail' => true,
'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
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hel.io/v1/deposits/{depositId}/api-key"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"disabled\": true,\n \"description\": \"<string>\",\n \"notifyReceiverByEmail\": true,\n \"connectWalletOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"transferManuallyOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"payWithCardOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123,\n \"hasWhiteListDomain\": true\n },\n \"connectExchangeOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"disabledBlockchainSymbols\": [\n [\n \"SOL\",\n \"BASE\"\n ]\n ],\n \"minSweepAmountUsd\": 4\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.hel.io/v1/deposits/{depositId}/api-key")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"disabled\": true,\n \"description\": \"<string>\",\n \"notifyReceiverByEmail\": true,\n \"connectWalletOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"transferManuallyOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"payWithCardOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123,\n \"hasWhiteListDomain\": true\n },\n \"connectExchangeOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"disabledBlockchainSymbols\": [\n [\n \"SOL\",\n \"BASE\"\n ]\n ],\n \"minSweepAmountUsd\": 4\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hel.io/v1/deposits/{depositId}/api-key")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"disabled\": true,\n \"description\": \"<string>\",\n \"notifyReceiverByEmail\": true,\n \"connectWalletOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"transferManuallyOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"payWithCardOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123,\n \"hasWhiteListDomain\": true\n },\n \"connectExchangeOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"disabledBlockchainSymbols\": [\n [\n \"SOL\",\n \"BASE\"\n ]\n ],\n \"minSweepAmountUsd\": 4\n}"
response = http.request(request)
puts response.read_body{
"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"
}{
"message": "Api key or token is invalid",
"code": 401
}Update a Deposit
Updates a deposit by ID. Only provided fields are modified, allowing changes to name, description, payment options, disabled state, blockchain symbols, and more.
curl --request PATCH \
--url https://api.hel.io/v1/deposits/{depositId}/api-key \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"disabled": true,
"description": "<string>",
"notifyReceiverByEmail": true,
"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
}
'import requests
url = "https://api.hel.io/v1/deposits/{depositId}/api-key"
payload = {
"name": "<string>",
"disabled": True,
"description": "<string>",
"notifyReceiverByEmail": True,
"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
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
disabled: true,
description: '<string>',
notifyReceiverByEmail: true,
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
})
};
fetch('https://api.hel.io/v1/deposits/{depositId}/api-key', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hel.io/v1/deposits/{depositId}/api-key",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'disabled' => true,
'description' => '<string>',
'notifyReceiverByEmail' => true,
'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
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hel.io/v1/deposits/{depositId}/api-key"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"disabled\": true,\n \"description\": \"<string>\",\n \"notifyReceiverByEmail\": true,\n \"connectWalletOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"transferManuallyOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"payWithCardOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123,\n \"hasWhiteListDomain\": true\n },\n \"connectExchangeOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"disabledBlockchainSymbols\": [\n [\n \"SOL\",\n \"BASE\"\n ]\n ],\n \"minSweepAmountUsd\": 4\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.hel.io/v1/deposits/{depositId}/api-key")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"disabled\": true,\n \"description\": \"<string>\",\n \"notifyReceiverByEmail\": true,\n \"connectWalletOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"transferManuallyOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"payWithCardOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123,\n \"hasWhiteListDomain\": true\n },\n \"connectExchangeOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"disabledBlockchainSymbols\": [\n [\n \"SOL\",\n \"BASE\"\n ]\n ],\n \"minSweepAmountUsd\": 4\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hel.io/v1/deposits/{depositId}/api-key")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"disabled\": true,\n \"description\": \"<string>\",\n \"notifyReceiverByEmail\": true,\n \"connectWalletOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"transferManuallyOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"payWithCardOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123,\n \"hasWhiteListDomain\": true\n },\n \"connectExchangeOptions\": {\n \"isActive\": true,\n \"title\": \"<string>\",\n \"badge\": \"<string>\",\n \"order\": 123\n },\n \"disabledBlockchainSymbols\": [\n [\n \"SOL\",\n \"BASE\"\n ]\n ],\n \"minSweepAmountUsd\": 4\n}"
response = http.request(request)
puts response.read_body{
"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"
}{
"message": "Api key or token is invalid",
"code": 401
}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
Authentication using JWT token
Path Parameters
The unique ID of the deposit to update.
Query Parameters
Your API key, which can be generated from the Helio Dashboard settings page.
Body
Request body for updating a deposit. All fields are optional.
Name of the deposit.
200Whether the deposit is disabled.
Description of the deposit.
200Send email notifications.
Configuration for a deposit payment option.
Show child attributes
Show child attributes
Configuration for a deposit payment option.
Show child attributes
Show child attributes
Configuration for a deposit payment option.
Show child attributes
Show child attributes
Configuration for a deposit payment option.
Show child attributes
Show child attributes
List of blockchain symbols for which deposits are disabled.
SOL, ETH, POLYGON, BASE, BITCOIN, ARBITRUM, BSC, TRON, ABSTRACT, HYPERLIQUID, HYPERCORE, PLASMA [["SOL", "BASE"]]
Minimum sweep amount in USD.
x >= 3Response
Deposit updated successfully.
Response body for a deposit.
Unique identifier of the deposit.
Name of the deposit.
Platform associated with the deposit.
HELIO, MAGIC_EDEN Whether the receiver is notified by email.
Whether the deposit is disabled.
Timestamp when the deposit was created.
Timestamp when the deposit was last updated.
Description of the deposit.
Associated paylink identifier.
List of blockchain symbols for which deposits are disabled.
SOL, ETH, POLYGON, BASE, BITCOIN, ARBITRUM, BSC, TRON, ABSTRACT, HYPERLIQUID, HYPERCORE, PLASMA [["SOL", "BASE"]]
Configuration for a deposit payment option.
Show child attributes
Show child attributes
Configuration for a deposit payment option.
Show child attributes
Show child attributes
Configuration for a deposit payment option.
Show child attributes
Show child attributes
Configuration for a deposit payment option.
Show child attributes
Show child attributes
Minimum sweep amount in USD.
x >= 3