curl --request POST \
--url https://api.blockradar.co/v1/addresses/{addressId}/gateway/withdraw \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"amount": "1",
"blockchain": "base",
"address": "0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22",
"reference": "tcApNlezq"
}
'import requests
url = "https://api.blockradar.co/v1/addresses/{addressId}/gateway/withdraw"
payload = {
"amount": "1",
"blockchain": "base",
"address": "0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22",
"reference": "tcApNlezq"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: '1',
blockchain: 'base',
address: '0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22',
reference: 'tcApNlezq'
})
};
fetch('https://api.blockradar.co/v1/addresses/{addressId}/gateway/withdraw', 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.blockradar.co/v1/addresses/{addressId}/gateway/withdraw",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => '1',
'blockchain' => 'base',
'address' => '0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22',
'reference' => 'tcApNlezq'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.blockradar.co/v1/addresses/{addressId}/gateway/withdraw"
payload := strings.NewReader("{\n \"amount\": \"1\",\n \"blockchain\": \"base\",\n \"address\": \"0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22\",\n \"reference\": \"tcApNlezq\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.post("https://api.blockradar.co/v1/addresses/{addressId}/gateway/withdraw")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": \"1\",\n \"blockchain\": \"base\",\n \"address\": \"0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22\",\n \"reference\": \"tcApNlezq\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockradar.co/v1/addresses/{addressId}/gateway/withdraw")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": \"1\",\n \"blockchain\": \"base\",\n \"address\": \"0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22\",\n \"reference\": \"tcApNlezq\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"amlScreening": {
"message": "Address is not sanctioned",
"provider": "ofac, fbi, tether, circle",
"status": "success"
},
"amount": "1",
"amountPaid": "1",
"amountUSD": "1",
"asset": {
"address": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
"createdAt": "2024-05-27T14:31:19.442Z",
"currency": "USD",
"decimals": 6,
"id": "0927dc05-7d4e-4c0a-82c6-98ceb170ab84",
"isActive": true,
"isNative": false,
"name": "USD Coin",
"network": "testnet",
"standard": null,
"symbol": "USDC",
"updatedAt": "2025-04-17T04:50:20.019Z"
},
"assetSwept": null,
"assetSweptAmount": null,
"assetSweptAt": null,
"assetSweptGasFee": null,
"assetSweptHash": null,
"assetSweptRecipientAddress": null,
"assetSweptSenderAddress": null,
"blockHash": null,
"blockNumber": null,
"blockchain": {
"createdAt": "2024-05-27T14:31:14.966Z",
"derivationPath": "m/44'/60'/0'/0",
"id": "74733889-4ecd-403e-9840-94e87c043f24",
"isActive": true,
"isEvmCompatible": true,
"isL2": true,
"name": "base",
"slug": "base",
"symbol": "eth",
"tokenStandard": null,
"updatedAt": "2024-11-26T20:04:13.945Z"
},
"chainId": 84532,
"confirmations": null,
"confirmed": false,
"createdAt": "2025-08-17T01:48:37.989Z",
"currency": "USD",
"fee": null,
"feeHash": null,
"gasFee": null,
"gasPrice": null,
"gasUsed": null,
"hash": null,
"id": "c5e9ec3c-c7b1-4d84-a76e-056b8246f461",
"metadata": null,
"network": "testnet",
"note": "Withdrawal of 1 USDC from gateway smart wallet 0x0077777d7EBA4688BDeF3E311b846F25870A19B9",
"rate": null,
"rateUSD": "1",
"reason": "Balance Before: 9.749252 USDC | Network Fee: 2.005999 USDC | Gasless: false",
"recipientAddress": "0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22",
"reference": "tcApNlezq",
"senderAddress": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
"signedTransaction": null,
"status": "PENDING",
"toAmount": null,
"toCurrency": null,
"tokenAddress": null,
"type": "GATEWAY_WITHDRAW",
"updatedAt": "2025-08-17T01:48:37.989Z",
"wallet": {
"address": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
"configurations": null,
"createdAt": "2024-08-22T16:05:46.167Z",
"derivationPath": "m/44'/60'/0'/0/0",
"description": "This is Base wallet",
"id": "e17dea25-6c01-4b3a-a4ae-51f411bf69cd",
"isActive": true,
"name": "Base Wallet",
"network": "testnet",
"status": "ACTIVE",
"updatedAt": "2024-08-22T16:05:46.167Z"
}
},
"message": "Withdraw initiated successfully",
"statusCode": 200
}Child Address Withdraw
Withdraws USDC from a child address’s Gateway balance and mints it to address on the destination blockchain. Only the child address’s own Gateway balance is used.
Your business needs a master wallet on the destination blockchain. The network fee is paid by the master wallet when gasless withdrawals are enabled, and by the child address otherwise.
If the destination is not a Gateway-supported chain, the request fails with 400 and the message Gateway withdrawal is not supported on <blockchain> <network>.
curl --request POST \
--url https://api.blockradar.co/v1/addresses/{addressId}/gateway/withdraw \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"amount": "1",
"blockchain": "base",
"address": "0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22",
"reference": "tcApNlezq"
}
'import requests
url = "https://api.blockradar.co/v1/addresses/{addressId}/gateway/withdraw"
payload = {
"amount": "1",
"blockchain": "base",
"address": "0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22",
"reference": "tcApNlezq"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: '1',
blockchain: 'base',
address: '0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22',
reference: 'tcApNlezq'
})
};
fetch('https://api.blockradar.co/v1/addresses/{addressId}/gateway/withdraw', 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.blockradar.co/v1/addresses/{addressId}/gateway/withdraw",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => '1',
'blockchain' => 'base',
'address' => '0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22',
'reference' => 'tcApNlezq'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.blockradar.co/v1/addresses/{addressId}/gateway/withdraw"
payload := strings.NewReader("{\n \"amount\": \"1\",\n \"blockchain\": \"base\",\n \"address\": \"0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22\",\n \"reference\": \"tcApNlezq\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.post("https://api.blockradar.co/v1/addresses/{addressId}/gateway/withdraw")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": \"1\",\n \"blockchain\": \"base\",\n \"address\": \"0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22\",\n \"reference\": \"tcApNlezq\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockradar.co/v1/addresses/{addressId}/gateway/withdraw")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": \"1\",\n \"blockchain\": \"base\",\n \"address\": \"0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22\",\n \"reference\": \"tcApNlezq\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"amlScreening": {
"message": "Address is not sanctioned",
"provider": "ofac, fbi, tether, circle",
"status": "success"
},
"amount": "1",
"amountPaid": "1",
"amountUSD": "1",
"asset": {
"address": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
"createdAt": "2024-05-27T14:31:19.442Z",
"currency": "USD",
"decimals": 6,
"id": "0927dc05-7d4e-4c0a-82c6-98ceb170ab84",
"isActive": true,
"isNative": false,
"name": "USD Coin",
"network": "testnet",
"standard": null,
"symbol": "USDC",
"updatedAt": "2025-04-17T04:50:20.019Z"
},
"assetSwept": null,
"assetSweptAmount": null,
"assetSweptAt": null,
"assetSweptGasFee": null,
"assetSweptHash": null,
"assetSweptRecipientAddress": null,
"assetSweptSenderAddress": null,
"blockHash": null,
"blockNumber": null,
"blockchain": {
"createdAt": "2024-05-27T14:31:14.966Z",
"derivationPath": "m/44'/60'/0'/0",
"id": "74733889-4ecd-403e-9840-94e87c043f24",
"isActive": true,
"isEvmCompatible": true,
"isL2": true,
"name": "base",
"slug": "base",
"symbol": "eth",
"tokenStandard": null,
"updatedAt": "2024-11-26T20:04:13.945Z"
},
"chainId": 84532,
"confirmations": null,
"confirmed": false,
"createdAt": "2025-08-17T01:48:37.989Z",
"currency": "USD",
"fee": null,
"feeHash": null,
"gasFee": null,
"gasPrice": null,
"gasUsed": null,
"hash": null,
"id": "c5e9ec3c-c7b1-4d84-a76e-056b8246f461",
"metadata": null,
"network": "testnet",
"note": "Withdrawal of 1 USDC from gateway smart wallet 0x0077777d7EBA4688BDeF3E311b846F25870A19B9",
"rate": null,
"rateUSD": "1",
"reason": "Balance Before: 9.749252 USDC | Network Fee: 2.005999 USDC | Gasless: false",
"recipientAddress": "0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22",
"reference": "tcApNlezq",
"senderAddress": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
"signedTransaction": null,
"status": "PENDING",
"toAmount": null,
"toCurrency": null,
"tokenAddress": null,
"type": "GATEWAY_WITHDRAW",
"updatedAt": "2025-08-17T01:48:37.989Z",
"wallet": {
"address": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
"configurations": null,
"createdAt": "2024-08-22T16:05:46.167Z",
"derivationPath": "m/44'/60'/0'/0/0",
"description": "This is Base wallet",
"id": "e17dea25-6c01-4b3a-a4ae-51f411bf69cd",
"isActive": true,
"name": "Base Wallet",
"network": "testnet",
"status": "ACTIVE",
"updatedAt": "2024-08-22T16:05:46.167Z"
}
},
"message": "Withdraw initiated successfully",
"statusCode": 200
}Authorizations
Path Parameters
"YOUR_ADDRESS_ID"
Body
Amount of USDC to withdraw.
"1"
Slug of the destination blockchain, for example base or polygon. Must be a Gateway-supported chain.
"base"
Recipient address on the destination blockchain.
"0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22"
Your own reference for the transaction.
"tcApNlezq"
Not used by Gateway withdrawals. Blockradar sets the transaction's note automatically.
Key-value pairs stored on the transaction.
{ "user_id": 1 }

