Multiple Withdrawals
To initiate a multiple withdrawal, the process is carried out in two steps:
You initiate a withdrawal by sending a request to
/balance/withdraw/multiple/request. The API returns a uniqueidentifierfor that request.You finalize the payout by calling
/balance/withdraw/multiple/confirmpassing only the previously receivedidentifier.
1. Create a multiple Withdraw Request
POST /balance/withdraw/multiple/request
Create a multiple Withdraw Request and get some interesting data.
Headers
Content-Type
application/json
X-API-KEY
<token>
Body
addresses_and_amounts*
list[ list[ string, number ] ]
A list of listings in the form: “address, amount”
Response
{
"identifier": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"currency": "USDTBEP20",
"total_amount": 0,
"total_amount_usd": 0,
"total_service_fee": 0,
"total_service_fee_usd": 0,
"addresses_count": 0,
"expires_at": "2025-06-12T10:16:58.268842Z"
}{
"detail": "<CURRENCY> is not available for withdraw at this moment"
}{
"detail": "Amount is less than minimum withdraw amount for <CURRENCY> (<CURRENCY.MIN_WITHDRAW>) for address <ADDRESS>"
}{
"detail": "Multiple withdraw request not found"
}{
"detail": "Multiple withdraw request expired"
}{
"detail": "Not enough balance"
}{
"detail": [
{
"loc": [],
"msg": "string",
"type": "string"
}
]
}Amount sent to the wallet = amount - service fee
Example
curl -X POST "https://api.nord-pay.com/balance/withdraw/multiple/request" \
-H "Content-Type: application/json" \
-H "X-API-KEY: YOUR_API_KEY" \
-d '{
"currency": "USDTBEP20",
"addresses_and_amounts": [
["0x1234...abcd", 50.0],
["0x5678...efgh", 75.5]
]
}'import requests
def create_multiple_withdraw_request(currency, addresses_and_amounts):
url = "https://api.nord-pay.com/balance/withdraw/multiple/request"
headers = {
"Content-Type": "application/json",
"X-API-KEY": "YOUR_API_KEY"
}
payload = {
"currency": currency,
"addresses_and_amounts": addresses_and_amounts
}
resp = requests.post(url, json=payload, headers=headers)
resp.raise_for_status()
return resp.json()
# usage:
req = create_multiple_withdraw_request(
"USDTBEP20",
[["0x1234...abcd", 50.0], ["0x5678...efgh", 75.5]]
)
# req["identifier"] — UUID для подтверждения<?php
function createMultipleWithdrawRequest(string $currency, array $addressesAndAmounts): array {
$url = "https://api.nord-pay.com/balance/withdraw/multiple/request";
$payload = [
"currency" => $currency,
"addresses_and_amounts" => $addressesAndAmounts
];
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: YOUR_API_KEY"
],
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
// usage:
$req = createMultipleWithdrawRequest(
"USDTBEP20",
[["0x1234...abcd", 50.0], ["0x5678...efgh", 75.5]]
);
// $req["identifier"] — UUID для confirmasync function createMultipleWithdrawRequest({ currency, addresses_and_amounts }) {
const response = await fetch(
"https://api.nord-pay.com/balance/withdraw/multiple/request",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-KEY": "YOUR_API_KEY"
},
body: JSON.stringify({ currency, addresses_and_amounts })
}
);
if (!response.ok) throw new Error(`HTTP ${response.status}`);
return response.json();
}
// usage:
createMultipleWithdrawRequest({
currency: "USDTBEP20",
addresses_and_amounts: [
["0x1234...abcd", 50.0],
["0x5678...efgh", 75.5]
]
}).then(req => {
// req.identifier — UUID для подтверждения
});const axios = require('axios');
async function createMultipleWithdrawRequest({ currency, addresses_and_amounts }) {
const { data } = await axios.post(
"https://api.nord-pay.com/balance/withdraw/multiple/request",
{ currency, addresses_and_amounts },
{
headers: {
"Content-Type": "application/json",
"X-API-KEY": "YOUR_API_KEY"
}
}
);
return data;
}
// usage:
createMultipleWithdrawRequest({
currency: "USDTBEP20",
addresses_and_amounts: [
["0x1234...abcd", 50.0],
["0x5678...efgh", 75.5]
]
}).then(req => {
// req.identifier — UUID для confirm
});2. Confirm the multiple Withdrawal
POST /balance/withdraw/multiple/confirm
Confirming multiple Withdraw Request and sent money.
Headers
Content-Type
application/json
X-API-KEY
<token>
Body
identifier*
string
UUID Of your multiple Withdraw Request
Response
{
"detail": "Multiple withdrawal request created and waiting for admin approval",
"status": "pending",
"id": 1
}{
"detail": "Withdraw request not found"
}{
"detail": "Withdraw request expired"
}{
"detail": "Not enough balance"
}{
"detail": [
{
"loc": [],
"msg": "string",
"type": "string"
}
]
}Example
curl -X POST "https://api.nord-pay.com/balance/withdraw/multiple/confirm" \
-H "Content-Type: application/json" \
-H "X-API-KEY: YOUR_API_KEY" \
-d '{
"identifier": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}'import requests
def confirm_multiple_withdraw(identifier):
url = "https://api.nord-pay.com/balance/withdraw/multiple/confirm"
headers = {
"Content-Type": "application/json",
"X-API-KEY": "YOUR_API_KEY"
}
payload = { "identifier": identifier }
resp = requests.post(url, json=payload, headers=headers)
resp.raise_for_status()
return resp.json()
# usage:
res = confirm_multiple_withdraw("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")<?php
function confirmMultipleWithdraw(string $identifier): array {
$url = "https://api.nord-pay.com/balance/withdraw/multiple/confirm";
$payload = [ "identifier" => $identifier ];
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: YOUR_API_KEY"
],
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
// usage:
$res = confirmMultipleWithdraw("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");async function confirmMultipleWithdraw({ identifier }) {
const response = await fetch(
"https://api.nord-pay.com/balance/withdraw/multiple/confirm",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-KEY": "YOUR_API_KEY"
},
body: JSON.stringify({ identifier })
}
);
if (!response.ok) throw new Error(`HTTP ${response.status}`);
return response.json();
}
// usage:
confirmMultipleWithdraw({ identifier: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" })
.then(res => {
// res.detail, res.data.address_1, etc.
});const axios = require('axios');
async function confirmMultipleWithdraw({ identifier }) {
const { data } = await axios.post(
"https://api.nord-pay.com/balance/withdraw/multiple/confirm",
{ identifier },
{
headers: {
"Content-Type": "application/json",
"X-API-KEY": "YOUR_API_KEY"
}
}
);
return data;
}
// usage:
confirmMultipleWithdraw({ identifier: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" })
.then(res => {
// res.detail, res.data.address_1, etc.
});Last updated