Withdraw to crypto address
curl --request POST \
--url https://api.exchange.coinbase.com/withdrawals/crypto \
--header 'Content-Type: application/json' \
--header 'cb-access-key: <api-key>' \
--header 'cb-access-passphrase: <api-key>' \
--header 'cb-access-sign: <api-key>' \
--header 'cb-access-timestamp: <api-key>' \
--data '
{
"amount": "<string>",
"currency": "<string>",
"crypto_address": "<string>",
"profile_id": "<string>",
"destination_tag": "<string>",
"no_destination_tag": true,
"nonce": 123,
"network": "<string>",
"add_network_fee_to_total": true,
"is_intermediary": false,
"travel_rule_data": {
"originator_name": "<string>",
"originator_natural_name": {
"first_name": "<string>",
"last_name": "<string>"
},
"originator_address": {
"address_1": "<string>",
"address_2": "<string>",
"address_3": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"postal_code": "<string>"
},
"originator_telephone_number": "<string>",
"originator_account": "<string>",
"originator_account_location_country_code": "<string>",
"originator_date_of_birth": {
"year": 123,
"month": 123,
"day": 123
},
"originator_account_number": "<string>",
"transfer_purpose": "<string>",
"beneficiary_name": "<string>",
"beneficiary_address": {
"address_1": "<string>",
"address_2": "<string>",
"address_3": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"postal_code": "<string>"
},
"beneficiary_telephone_number": "<string>",
"beneficiary_account_location": "<string>",
"beneficiary_date_of_birth": {
"year": 123,
"month": 123,
"day": 123
},
"beneficiary_financial_institution": "<string>",
"is_self": true,
"originator_wallet_address": "<string>",
"originating_vasp_for_intermediary": {
"attest_verified_wallet_ownership": true
}
}
}
'import requests
url = "https://api.exchange.coinbase.com/withdrawals/crypto"
payload = {
"amount": "<string>",
"currency": "<string>",
"crypto_address": "<string>",
"profile_id": "<string>",
"destination_tag": "<string>",
"no_destination_tag": True,
"nonce": 123,
"network": "<string>",
"add_network_fee_to_total": True,
"is_intermediary": False,
"travel_rule_data": {
"originator_name": "<string>",
"originator_natural_name": {
"first_name": "<string>",
"last_name": "<string>"
},
"originator_address": {
"address_1": "<string>",
"address_2": "<string>",
"address_3": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"postal_code": "<string>"
},
"originator_telephone_number": "<string>",
"originator_account": "<string>",
"originator_account_location_country_code": "<string>",
"originator_date_of_birth": {
"year": 123,
"month": 123,
"day": 123
},
"originator_account_number": "<string>",
"transfer_purpose": "<string>",
"beneficiary_name": "<string>",
"beneficiary_address": {
"address_1": "<string>",
"address_2": "<string>",
"address_3": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"postal_code": "<string>"
},
"beneficiary_telephone_number": "<string>",
"beneficiary_account_location": "<string>",
"beneficiary_date_of_birth": {
"year": 123,
"month": 123,
"day": 123
},
"beneficiary_financial_institution": "<string>",
"is_self": True,
"originator_wallet_address": "<string>",
"originating_vasp_for_intermediary": { "attest_verified_wallet_ownership": True }
}
}
headers = {
"cb-access-key": "<api-key>",
"cb-access-passphrase": "<api-key>",
"cb-access-sign": "<api-key>",
"cb-access-timestamp": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'cb-access-key': '<api-key>',
'cb-access-passphrase': '<api-key>',
'cb-access-sign': '<api-key>',
'cb-access-timestamp': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
amount: '<string>',
currency: '<string>',
crypto_address: '<string>',
profile_id: '<string>',
destination_tag: '<string>',
no_destination_tag: true,
nonce: 123,
network: '<string>',
add_network_fee_to_total: true,
is_intermediary: false,
travel_rule_data: {
originator_name: '<string>',
originator_natural_name: {first_name: '<string>', last_name: '<string>'},
originator_address: {
address_1: '<string>',
address_2: '<string>',
address_3: '<string>',
city: '<string>',
state: '<string>',
country: '<string>',
postal_code: '<string>'
},
originator_telephone_number: '<string>',
originator_account: '<string>',
originator_account_location_country_code: '<string>',
originator_date_of_birth: {year: 123, month: 123, day: 123},
originator_account_number: '<string>',
transfer_purpose: '<string>',
beneficiary_name: '<string>',
beneficiary_address: {
address_1: '<string>',
address_2: '<string>',
address_3: '<string>',
city: '<string>',
state: '<string>',
country: '<string>',
postal_code: '<string>'
},
beneficiary_telephone_number: '<string>',
beneficiary_account_location: '<string>',
beneficiary_date_of_birth: {year: 123, month: 123, day: 123},
beneficiary_financial_institution: '<string>',
is_self: true,
originator_wallet_address: '<string>',
originating_vasp_for_intermediary: {attest_verified_wallet_ownership: true}
}
})
};
fetch('https://api.exchange.coinbase.com/withdrawals/crypto', 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.exchange.coinbase.com/withdrawals/crypto",
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' => '<string>',
'currency' => '<string>',
'crypto_address' => '<string>',
'profile_id' => '<string>',
'destination_tag' => '<string>',
'no_destination_tag' => true,
'nonce' => 123,
'network' => '<string>',
'add_network_fee_to_total' => true,
'is_intermediary' => false,
'travel_rule_data' => [
'originator_name' => '<string>',
'originator_natural_name' => [
'first_name' => '<string>',
'last_name' => '<string>'
],
'originator_address' => [
'address_1' => '<string>',
'address_2' => '<string>',
'address_3' => '<string>',
'city' => '<string>',
'state' => '<string>',
'country' => '<string>',
'postal_code' => '<string>'
],
'originator_telephone_number' => '<string>',
'originator_account' => '<string>',
'originator_account_location_country_code' => '<string>',
'originator_date_of_birth' => [
'year' => 123,
'month' => 123,
'day' => 123
],
'originator_account_number' => '<string>',
'transfer_purpose' => '<string>',
'beneficiary_name' => '<string>',
'beneficiary_address' => [
'address_1' => '<string>',
'address_2' => '<string>',
'address_3' => '<string>',
'city' => '<string>',
'state' => '<string>',
'country' => '<string>',
'postal_code' => '<string>'
],
'beneficiary_telephone_number' => '<string>',
'beneficiary_account_location' => '<string>',
'beneficiary_date_of_birth' => [
'year' => 123,
'month' => 123,
'day' => 123
],
'beneficiary_financial_institution' => '<string>',
'is_self' => true,
'originator_wallet_address' => '<string>',
'originating_vasp_for_intermediary' => [
'attest_verified_wallet_ownership' => true
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"cb-access-key: <api-key>",
"cb-access-passphrase: <api-key>",
"cb-access-sign: <api-key>",
"cb-access-timestamp: <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.exchange.coinbase.com/withdrawals/crypto"
payload := strings.NewReader("{\n \"amount\": \"<string>\",\n \"currency\": \"<string>\",\n \"crypto_address\": \"<string>\",\n \"profile_id\": \"<string>\",\n \"destination_tag\": \"<string>\",\n \"no_destination_tag\": true,\n \"nonce\": 123,\n \"network\": \"<string>\",\n \"add_network_fee_to_total\": true,\n \"is_intermediary\": false,\n \"travel_rule_data\": {\n \"originator_name\": \"<string>\",\n \"originator_natural_name\": {\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\"\n },\n \"originator_address\": {\n \"address_1\": \"<string>\",\n \"address_2\": \"<string>\",\n \"address_3\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postal_code\": \"<string>\"\n },\n \"originator_telephone_number\": \"<string>\",\n \"originator_account\": \"<string>\",\n \"originator_account_location_country_code\": \"<string>\",\n \"originator_date_of_birth\": {\n \"year\": 123,\n \"month\": 123,\n \"day\": 123\n },\n \"originator_account_number\": \"<string>\",\n \"transfer_purpose\": \"<string>\",\n \"beneficiary_name\": \"<string>\",\n \"beneficiary_address\": {\n \"address_1\": \"<string>\",\n \"address_2\": \"<string>\",\n \"address_3\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postal_code\": \"<string>\"\n },\n \"beneficiary_telephone_number\": \"<string>\",\n \"beneficiary_account_location\": \"<string>\",\n \"beneficiary_date_of_birth\": {\n \"year\": 123,\n \"month\": 123,\n \"day\": 123\n },\n \"beneficiary_financial_institution\": \"<string>\",\n \"is_self\": true,\n \"originator_wallet_address\": \"<string>\",\n \"originating_vasp_for_intermediary\": {\n \"attest_verified_wallet_ownership\": true\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("cb-access-key", "<api-key>")
req.Header.Add("cb-access-passphrase", "<api-key>")
req.Header.Add("cb-access-sign", "<api-key>")
req.Header.Add("cb-access-timestamp", "<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.exchange.coinbase.com/withdrawals/crypto")
.header("cb-access-key", "<api-key>")
.header("cb-access-passphrase", "<api-key>")
.header("cb-access-sign", "<api-key>")
.header("cb-access-timestamp", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": \"<string>\",\n \"currency\": \"<string>\",\n \"crypto_address\": \"<string>\",\n \"profile_id\": \"<string>\",\n \"destination_tag\": \"<string>\",\n \"no_destination_tag\": true,\n \"nonce\": 123,\n \"network\": \"<string>\",\n \"add_network_fee_to_total\": true,\n \"is_intermediary\": false,\n \"travel_rule_data\": {\n \"originator_name\": \"<string>\",\n \"originator_natural_name\": {\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\"\n },\n \"originator_address\": {\n \"address_1\": \"<string>\",\n \"address_2\": \"<string>\",\n \"address_3\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postal_code\": \"<string>\"\n },\n \"originator_telephone_number\": \"<string>\",\n \"originator_account\": \"<string>\",\n \"originator_account_location_country_code\": \"<string>\",\n \"originator_date_of_birth\": {\n \"year\": 123,\n \"month\": 123,\n \"day\": 123\n },\n \"originator_account_number\": \"<string>\",\n \"transfer_purpose\": \"<string>\",\n \"beneficiary_name\": \"<string>\",\n \"beneficiary_address\": {\n \"address_1\": \"<string>\",\n \"address_2\": \"<string>\",\n \"address_3\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postal_code\": \"<string>\"\n },\n \"beneficiary_telephone_number\": \"<string>\",\n \"beneficiary_account_location\": \"<string>\",\n \"beneficiary_date_of_birth\": {\n \"year\": 123,\n \"month\": 123,\n \"day\": 123\n },\n \"beneficiary_financial_institution\": \"<string>\",\n \"is_self\": true,\n \"originator_wallet_address\": \"<string>\",\n \"originating_vasp_for_intermediary\": {\n \"attest_verified_wallet_ownership\": true\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exchange.coinbase.com/withdrawals/crypto")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["cb-access-key"] = '<api-key>'
request["cb-access-passphrase"] = '<api-key>'
request["cb-access-sign"] = '<api-key>'
request["cb-access-timestamp"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": \"<string>\",\n \"currency\": \"<string>\",\n \"crypto_address\": \"<string>\",\n \"profile_id\": \"<string>\",\n \"destination_tag\": \"<string>\",\n \"no_destination_tag\": true,\n \"nonce\": 123,\n \"network\": \"<string>\",\n \"add_network_fee_to_total\": true,\n \"is_intermediary\": false,\n \"travel_rule_data\": {\n \"originator_name\": \"<string>\",\n \"originator_natural_name\": {\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\"\n },\n \"originator_address\": {\n \"address_1\": \"<string>\",\n \"address_2\": \"<string>\",\n \"address_3\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postal_code\": \"<string>\"\n },\n \"originator_telephone_number\": \"<string>\",\n \"originator_account\": \"<string>\",\n \"originator_account_location_country_code\": \"<string>\",\n \"originator_date_of_birth\": {\n \"year\": 123,\n \"month\": 123,\n \"day\": 123\n },\n \"originator_account_number\": \"<string>\",\n \"transfer_purpose\": \"<string>\",\n \"beneficiary_name\": \"<string>\",\n \"beneficiary_address\": {\n \"address_1\": \"<string>\",\n \"address_2\": \"<string>\",\n \"address_3\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postal_code\": \"<string>\"\n },\n \"beneficiary_telephone_number\": \"<string>\",\n \"beneficiary_account_location\": \"<string>\",\n \"beneficiary_date_of_birth\": {\n \"year\": 123,\n \"month\": 123,\n \"day\": 123\n },\n \"beneficiary_financial_institution\": \"<string>\",\n \"is_self\": true,\n \"originator_wallet_address\": \"<string>\",\n \"originating_vasp_for_intermediary\": {\n \"attest_verified_wallet_ownership\": true\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"amount": "<string>",
"currency": "<string>",
"payout_at": "<string>",
"fee": "<string>",
"subtotal": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}Transfers
Withdraw to crypto address
Withdraws funds from the specified profile_id to an external crypto address
POST
/
withdrawals
/
crypto
Withdraw to crypto address
curl --request POST \
--url https://api.exchange.coinbase.com/withdrawals/crypto \
--header 'Content-Type: application/json' \
--header 'cb-access-key: <api-key>' \
--header 'cb-access-passphrase: <api-key>' \
--header 'cb-access-sign: <api-key>' \
--header 'cb-access-timestamp: <api-key>' \
--data '
{
"amount": "<string>",
"currency": "<string>",
"crypto_address": "<string>",
"profile_id": "<string>",
"destination_tag": "<string>",
"no_destination_tag": true,
"nonce": 123,
"network": "<string>",
"add_network_fee_to_total": true,
"is_intermediary": false,
"travel_rule_data": {
"originator_name": "<string>",
"originator_natural_name": {
"first_name": "<string>",
"last_name": "<string>"
},
"originator_address": {
"address_1": "<string>",
"address_2": "<string>",
"address_3": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"postal_code": "<string>"
},
"originator_telephone_number": "<string>",
"originator_account": "<string>",
"originator_account_location_country_code": "<string>",
"originator_date_of_birth": {
"year": 123,
"month": 123,
"day": 123
},
"originator_account_number": "<string>",
"transfer_purpose": "<string>",
"beneficiary_name": "<string>",
"beneficiary_address": {
"address_1": "<string>",
"address_2": "<string>",
"address_3": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"postal_code": "<string>"
},
"beneficiary_telephone_number": "<string>",
"beneficiary_account_location": "<string>",
"beneficiary_date_of_birth": {
"year": 123,
"month": 123,
"day": 123
},
"beneficiary_financial_institution": "<string>",
"is_self": true,
"originator_wallet_address": "<string>",
"originating_vasp_for_intermediary": {
"attest_verified_wallet_ownership": true
}
}
}
'import requests
url = "https://api.exchange.coinbase.com/withdrawals/crypto"
payload = {
"amount": "<string>",
"currency": "<string>",
"crypto_address": "<string>",
"profile_id": "<string>",
"destination_tag": "<string>",
"no_destination_tag": True,
"nonce": 123,
"network": "<string>",
"add_network_fee_to_total": True,
"is_intermediary": False,
"travel_rule_data": {
"originator_name": "<string>",
"originator_natural_name": {
"first_name": "<string>",
"last_name": "<string>"
},
"originator_address": {
"address_1": "<string>",
"address_2": "<string>",
"address_3": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"postal_code": "<string>"
},
"originator_telephone_number": "<string>",
"originator_account": "<string>",
"originator_account_location_country_code": "<string>",
"originator_date_of_birth": {
"year": 123,
"month": 123,
"day": 123
},
"originator_account_number": "<string>",
"transfer_purpose": "<string>",
"beneficiary_name": "<string>",
"beneficiary_address": {
"address_1": "<string>",
"address_2": "<string>",
"address_3": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"postal_code": "<string>"
},
"beneficiary_telephone_number": "<string>",
"beneficiary_account_location": "<string>",
"beneficiary_date_of_birth": {
"year": 123,
"month": 123,
"day": 123
},
"beneficiary_financial_institution": "<string>",
"is_self": True,
"originator_wallet_address": "<string>",
"originating_vasp_for_intermediary": { "attest_verified_wallet_ownership": True }
}
}
headers = {
"cb-access-key": "<api-key>",
"cb-access-passphrase": "<api-key>",
"cb-access-sign": "<api-key>",
"cb-access-timestamp": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'cb-access-key': '<api-key>',
'cb-access-passphrase': '<api-key>',
'cb-access-sign': '<api-key>',
'cb-access-timestamp': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
amount: '<string>',
currency: '<string>',
crypto_address: '<string>',
profile_id: '<string>',
destination_tag: '<string>',
no_destination_tag: true,
nonce: 123,
network: '<string>',
add_network_fee_to_total: true,
is_intermediary: false,
travel_rule_data: {
originator_name: '<string>',
originator_natural_name: {first_name: '<string>', last_name: '<string>'},
originator_address: {
address_1: '<string>',
address_2: '<string>',
address_3: '<string>',
city: '<string>',
state: '<string>',
country: '<string>',
postal_code: '<string>'
},
originator_telephone_number: '<string>',
originator_account: '<string>',
originator_account_location_country_code: '<string>',
originator_date_of_birth: {year: 123, month: 123, day: 123},
originator_account_number: '<string>',
transfer_purpose: '<string>',
beneficiary_name: '<string>',
beneficiary_address: {
address_1: '<string>',
address_2: '<string>',
address_3: '<string>',
city: '<string>',
state: '<string>',
country: '<string>',
postal_code: '<string>'
},
beneficiary_telephone_number: '<string>',
beneficiary_account_location: '<string>',
beneficiary_date_of_birth: {year: 123, month: 123, day: 123},
beneficiary_financial_institution: '<string>',
is_self: true,
originator_wallet_address: '<string>',
originating_vasp_for_intermediary: {attest_verified_wallet_ownership: true}
}
})
};
fetch('https://api.exchange.coinbase.com/withdrawals/crypto', 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.exchange.coinbase.com/withdrawals/crypto",
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' => '<string>',
'currency' => '<string>',
'crypto_address' => '<string>',
'profile_id' => '<string>',
'destination_tag' => '<string>',
'no_destination_tag' => true,
'nonce' => 123,
'network' => '<string>',
'add_network_fee_to_total' => true,
'is_intermediary' => false,
'travel_rule_data' => [
'originator_name' => '<string>',
'originator_natural_name' => [
'first_name' => '<string>',
'last_name' => '<string>'
],
'originator_address' => [
'address_1' => '<string>',
'address_2' => '<string>',
'address_3' => '<string>',
'city' => '<string>',
'state' => '<string>',
'country' => '<string>',
'postal_code' => '<string>'
],
'originator_telephone_number' => '<string>',
'originator_account' => '<string>',
'originator_account_location_country_code' => '<string>',
'originator_date_of_birth' => [
'year' => 123,
'month' => 123,
'day' => 123
],
'originator_account_number' => '<string>',
'transfer_purpose' => '<string>',
'beneficiary_name' => '<string>',
'beneficiary_address' => [
'address_1' => '<string>',
'address_2' => '<string>',
'address_3' => '<string>',
'city' => '<string>',
'state' => '<string>',
'country' => '<string>',
'postal_code' => '<string>'
],
'beneficiary_telephone_number' => '<string>',
'beneficiary_account_location' => '<string>',
'beneficiary_date_of_birth' => [
'year' => 123,
'month' => 123,
'day' => 123
],
'beneficiary_financial_institution' => '<string>',
'is_self' => true,
'originator_wallet_address' => '<string>',
'originating_vasp_for_intermediary' => [
'attest_verified_wallet_ownership' => true
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"cb-access-key: <api-key>",
"cb-access-passphrase: <api-key>",
"cb-access-sign: <api-key>",
"cb-access-timestamp: <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.exchange.coinbase.com/withdrawals/crypto"
payload := strings.NewReader("{\n \"amount\": \"<string>\",\n \"currency\": \"<string>\",\n \"crypto_address\": \"<string>\",\n \"profile_id\": \"<string>\",\n \"destination_tag\": \"<string>\",\n \"no_destination_tag\": true,\n \"nonce\": 123,\n \"network\": \"<string>\",\n \"add_network_fee_to_total\": true,\n \"is_intermediary\": false,\n \"travel_rule_data\": {\n \"originator_name\": \"<string>\",\n \"originator_natural_name\": {\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\"\n },\n \"originator_address\": {\n \"address_1\": \"<string>\",\n \"address_2\": \"<string>\",\n \"address_3\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postal_code\": \"<string>\"\n },\n \"originator_telephone_number\": \"<string>\",\n \"originator_account\": \"<string>\",\n \"originator_account_location_country_code\": \"<string>\",\n \"originator_date_of_birth\": {\n \"year\": 123,\n \"month\": 123,\n \"day\": 123\n },\n \"originator_account_number\": \"<string>\",\n \"transfer_purpose\": \"<string>\",\n \"beneficiary_name\": \"<string>\",\n \"beneficiary_address\": {\n \"address_1\": \"<string>\",\n \"address_2\": \"<string>\",\n \"address_3\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postal_code\": \"<string>\"\n },\n \"beneficiary_telephone_number\": \"<string>\",\n \"beneficiary_account_location\": \"<string>\",\n \"beneficiary_date_of_birth\": {\n \"year\": 123,\n \"month\": 123,\n \"day\": 123\n },\n \"beneficiary_financial_institution\": \"<string>\",\n \"is_self\": true,\n \"originator_wallet_address\": \"<string>\",\n \"originating_vasp_for_intermediary\": {\n \"attest_verified_wallet_ownership\": true\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("cb-access-key", "<api-key>")
req.Header.Add("cb-access-passphrase", "<api-key>")
req.Header.Add("cb-access-sign", "<api-key>")
req.Header.Add("cb-access-timestamp", "<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.exchange.coinbase.com/withdrawals/crypto")
.header("cb-access-key", "<api-key>")
.header("cb-access-passphrase", "<api-key>")
.header("cb-access-sign", "<api-key>")
.header("cb-access-timestamp", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": \"<string>\",\n \"currency\": \"<string>\",\n \"crypto_address\": \"<string>\",\n \"profile_id\": \"<string>\",\n \"destination_tag\": \"<string>\",\n \"no_destination_tag\": true,\n \"nonce\": 123,\n \"network\": \"<string>\",\n \"add_network_fee_to_total\": true,\n \"is_intermediary\": false,\n \"travel_rule_data\": {\n \"originator_name\": \"<string>\",\n \"originator_natural_name\": {\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\"\n },\n \"originator_address\": {\n \"address_1\": \"<string>\",\n \"address_2\": \"<string>\",\n \"address_3\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postal_code\": \"<string>\"\n },\n \"originator_telephone_number\": \"<string>\",\n \"originator_account\": \"<string>\",\n \"originator_account_location_country_code\": \"<string>\",\n \"originator_date_of_birth\": {\n \"year\": 123,\n \"month\": 123,\n \"day\": 123\n },\n \"originator_account_number\": \"<string>\",\n \"transfer_purpose\": \"<string>\",\n \"beneficiary_name\": \"<string>\",\n \"beneficiary_address\": {\n \"address_1\": \"<string>\",\n \"address_2\": \"<string>\",\n \"address_3\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postal_code\": \"<string>\"\n },\n \"beneficiary_telephone_number\": \"<string>\",\n \"beneficiary_account_location\": \"<string>\",\n \"beneficiary_date_of_birth\": {\n \"year\": 123,\n \"month\": 123,\n \"day\": 123\n },\n \"beneficiary_financial_institution\": \"<string>\",\n \"is_self\": true,\n \"originator_wallet_address\": \"<string>\",\n \"originating_vasp_for_intermediary\": {\n \"attest_verified_wallet_ownership\": true\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exchange.coinbase.com/withdrawals/crypto")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["cb-access-key"] = '<api-key>'
request["cb-access-passphrase"] = '<api-key>'
request["cb-access-sign"] = '<api-key>'
request["cb-access-timestamp"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": \"<string>\",\n \"currency\": \"<string>\",\n \"crypto_address\": \"<string>\",\n \"profile_id\": \"<string>\",\n \"destination_tag\": \"<string>\",\n \"no_destination_tag\": true,\n \"nonce\": 123,\n \"network\": \"<string>\",\n \"add_network_fee_to_total\": true,\n \"is_intermediary\": false,\n \"travel_rule_data\": {\n \"originator_name\": \"<string>\",\n \"originator_natural_name\": {\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\"\n },\n \"originator_address\": {\n \"address_1\": \"<string>\",\n \"address_2\": \"<string>\",\n \"address_3\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postal_code\": \"<string>\"\n },\n \"originator_telephone_number\": \"<string>\",\n \"originator_account\": \"<string>\",\n \"originator_account_location_country_code\": \"<string>\",\n \"originator_date_of_birth\": {\n \"year\": 123,\n \"month\": 123,\n \"day\": 123\n },\n \"originator_account_number\": \"<string>\",\n \"transfer_purpose\": \"<string>\",\n \"beneficiary_name\": \"<string>\",\n \"beneficiary_address\": {\n \"address_1\": \"<string>\",\n \"address_2\": \"<string>\",\n \"address_3\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postal_code\": \"<string>\"\n },\n \"beneficiary_telephone_number\": \"<string>\",\n \"beneficiary_account_location\": \"<string>\",\n \"beneficiary_date_of_birth\": {\n \"year\": 123,\n \"month\": 123,\n \"day\": 123\n },\n \"beneficiary_financial_institution\": \"<string>\",\n \"is_self\": true,\n \"originator_wallet_address\": \"<string>\",\n \"originating_vasp_for_intermediary\": {\n \"attest_verified_wallet_ownership\": true\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"amount": "<string>",
"currency": "<string>",
"payout_at": "<string>",
"fee": "<string>",
"subtotal": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}API Key Permissions
This endpoint requires the “transfer” permission. API key must belong to default profile.Travel Rule
The Travel Rule requires financial institutions, including custodial cryptocurrency exchanges, to share basic information about their customers when sending funds over a certain amount. VASPs that are part of the TRUST consortium use the TRUST solution when sharing PII to satisfy the Travel Rule data requirements. For more details and examples, see Travel Rule for Withdrawals.Authorizations
Body
application/json
A boolean flag to add the network fee on top of the amount. If this is blank, it will default to deducting the network fee from the amount.
A boolean flag to create a transfer using Coinbase as an intermediary VASP. If true, intermediary_jurisdiction must be provided. travel_rule_data may be necessary if the jurisdiction requires data.
Show child attributes
Show child attributes
Was this page helpful?
⌘I