curl --request POST \
--url https://api.international.coinbase.com/api/v1/transfers/withdraw/counterparty \
--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' \
--data '
{
"portfolio": "<string>",
"counterparty_id": "CBTQDGENHE",
"asset": "<string>",
"amount": "<string>",
"nonce": 30
}
'import requests
url = "https://api.international.coinbase.com/api/v1/transfers/withdraw/counterparty"
payload = {
"portfolio": "<string>",
"counterparty_id": "CBTQDGENHE",
"asset": "<string>",
"amount": "<string>",
"nonce": 30
}
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({
portfolio: '<string>',
counterparty_id: 'CBTQDGENHE',
asset: '<string>',
amount: '<string>',
nonce: 30
})
};
fetch('https://api.international.coinbase.com/api/v1/transfers/withdraw/counterparty', 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.international.coinbase.com/api/v1/transfers/withdraw/counterparty",
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([
'portfolio' => '<string>',
'counterparty_id' => 'CBTQDGENHE',
'asset' => '<string>',
'amount' => '<string>',
'nonce' => 30
]),
CURLOPT_HTTPHEADER => [
"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 = 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.international.coinbase.com/api/v1/transfers/withdraw/counterparty"
payload := strings.NewReader("{\n \"portfolio\": \"<string>\",\n \"counterparty_id\": \"CBTQDGENHE\",\n \"asset\": \"<string>\",\n \"amount\": \"<string>\",\n \"nonce\": 30\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.international.coinbase.com/api/v1/transfers/withdraw/counterparty")
.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 \"portfolio\": \"<string>\",\n \"counterparty_id\": \"CBTQDGENHE\",\n \"asset\": \"<string>\",\n \"amount\": \"<string>\",\n \"nonce\": 30\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.international.coinbase.com/api/v1/transfers/withdraw/counterparty")
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 \"portfolio\": \"<string>\",\n \"counterparty_id\": \"CBTQDGENHE\",\n \"asset\": \"<string>\",\n \"amount\": \"<string>\",\n \"nonce\": 30\n}"
response = http.request(request)
puts response.read_body{
"idem": "253b30a5-9b03-4cd2-9c76-d0f32b2bd733",
"portfolio_uuid": "3d50e347-6a59-4965-a4cd-b25934d84126",
"source_counterparty_id": "CBTQDGENHE",
"target_counterparty_id": "CBA6POFJW7",
"asset": "USDC",
"amount": 5100.5
}Withdraw to counterparty Id
curl --request POST \
--url https://api.international.coinbase.com/api/v1/transfers/withdraw/counterparty \
--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' \
--data '
{
"portfolio": "<string>",
"counterparty_id": "CBTQDGENHE",
"asset": "<string>",
"amount": "<string>",
"nonce": 30
}
'import requests
url = "https://api.international.coinbase.com/api/v1/transfers/withdraw/counterparty"
payload = {
"portfolio": "<string>",
"counterparty_id": "CBTQDGENHE",
"asset": "<string>",
"amount": "<string>",
"nonce": 30
}
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({
portfolio: '<string>',
counterparty_id: 'CBTQDGENHE',
asset: '<string>',
amount: '<string>',
nonce: 30
})
};
fetch('https://api.international.coinbase.com/api/v1/transfers/withdraw/counterparty', 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.international.coinbase.com/api/v1/transfers/withdraw/counterparty",
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([
'portfolio' => '<string>',
'counterparty_id' => 'CBTQDGENHE',
'asset' => '<string>',
'amount' => '<string>',
'nonce' => 30
]),
CURLOPT_HTTPHEADER => [
"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 = 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.international.coinbase.com/api/v1/transfers/withdraw/counterparty"
payload := strings.NewReader("{\n \"portfolio\": \"<string>\",\n \"counterparty_id\": \"CBTQDGENHE\",\n \"asset\": \"<string>\",\n \"amount\": \"<string>\",\n \"nonce\": 30\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.international.coinbase.com/api/v1/transfers/withdraw/counterparty")
.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 \"portfolio\": \"<string>\",\n \"counterparty_id\": \"CBTQDGENHE\",\n \"asset\": \"<string>\",\n \"amount\": \"<string>\",\n \"nonce\": 30\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.international.coinbase.com/api/v1/transfers/withdraw/counterparty")
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 \"portfolio\": \"<string>\",\n \"counterparty_id\": \"CBTQDGENHE\",\n \"asset\": \"<string>\",\n \"amount\": \"<string>\",\n \"nonce\": 30\n}"
response = http.request(request)
puts response.read_body{
"idem": "253b30a5-9b03-4cd2-9c76-d0f32b2bd733",
"portfolio_uuid": "3d50e347-6a59-4965-a4cd-b25934d84126",
"source_counterparty_id": "CBTQDGENHE",
"target_counterparty_id": "CBA6POFJW7",
"asset": "USDC",
"amount": 5100.5
}- Java
- .NET
- Go
- Python
- TS/JS
- CLI
TransfersService transfersService = IntxServiceFactory.createTransfersService(client);
WithdrawToCounterpartyIdRequest request = new WithdrawToCounterpartyIdRequest.Builder()
.portfolio("portfolio_id")
.counterpartyId("counterparty_id")
.asset("BTC")
.amount("1")
.build();
WithdrawToCounterpartyIdResponse response = transfersService.withdrawToCounterpartyId(request);
var transfersService = new TransfersService(client);
var request = new WithdrawToCounterpartyIdRequest(
Portfolio: "portfolio_id",
CounterpartyId: "counterparty_id",
Asset: "BTC",
Amount: "1",
);
var response = transfersService.WithdrawToCounterpartyId(request);
transfersSvc := transfers.NewTransfersService(client)
request := &transfers.CreateWithdrawalToCounterpartyIdRequest{
Portfolio: "portfolio_id",
CounterpartyId: "counterparty_id",
Asset: "BTC",
Amount: "1",
}
response, err := transfersSvc.CreateWithdrawalToCounterpartyId(context.Background(), request)
client = IntxClient()
request = WithdrawToCounterpartyIdRequest(
portfolio="portfolio_id",
counterparty_id="counterparty_id",
asset="BTC",
amount="1",
)
response = client.withdraw_to_counterparty_id(request)
const transfersService = new TransfersService(client);
transfersService.withdrawToCounterparty({
portfolio: 'PORTFOLIO_ID_HERE',
counterpartyId: 'COUNTERPARTY_ID_HERE',
asset: 'BTC',
amount: "1",
nonce: 12345
}).then(async (response) => {
console.log('Withdrawal created: ', response);
})
intxctl create-withdrawal-to-counterparty-id --help
Authorizations
The Client ID that owns the API Key for the request
The pass phrase affiliated with the API Key
A HMAC SHA-256 signature using the API Key secret on the string TIMESTAMP, METHOD, REQUEST_PATH, BODY
The timestamp of when the request is being made
Body
Identifies the portfolio to withdraw from by UUID (e.g., 892e8c7c-e979-4cad-b61b-55a197932cf1) or portfolio ID (e.g., 5189861793641175)
Counterparty Id to withdraw to
"CBTQDGENHE"
Identifies the asset by name (e.g., BTC), UUID (e.g., 291efb0f-2396-4d41-ad03-db3b2311cb2c), or asset ID (e.g., 1482439423963469)
The amount of the asset being transferred
A unique positive integer representing the withdrawal request
30
Response
Counterparty withdrawal initiated
Idempotent UUID representing the successful withdraw
"253b30a5-9b03-4cd2-9c76-d0f32b2bd733"
UUID for the portfolio where the withdraw was initiated
"3d50e347-6a59-4965-a4cd-b25934d84126"
Counterparty Id of the source portfolio
"CBTQDGENHE"
Counterparty Id of the target portfolio
"CBA6POFJW7"
The asset being transferred
"USDC"
The amount of the asset being transferred
5100.5
Was this page helpful?