curl --request GET \
--url https://test.deribit.com/api/v2/private/get_address_book \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 31,
"method": "private/get_address_book",
"params": {
"currency": "BTC",
"type": "withdrawal"
}
}
'import requests
url = "https://test.deribit.com/api/v2/private/get_address_book"
payload = {
"jsonrpc": "2.0",
"id": 31,
"method": "private/get_address_book",
"params": {
"currency": "BTC",
"type": "withdrawal"
}
}
headers = {"Content-Type": "application/json"}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: 31,
method: 'private/get_address_book',
params: {currency: 'BTC', type: 'withdrawal'}
})
};
fetch('https://test.deribit.com/api/v2/private/get_address_book', 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://test.deribit.com/api/v2/private/get_address_book",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 31,
'method' => 'private/get_address_book',
'params' => [
'currency' => 'BTC',
'type' => 'withdrawal'
]
]),
CURLOPT_HTTPHEADER => [
"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://test.deribit.com/api/v2/private/get_address_book"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 31,\n \"method\": \"private/get_address_book\",\n \"params\": {\n \"currency\": \"BTC\",\n \"type\": \"withdrawal\"\n }\n}")
req, _ := http.NewRequest("GET", url, payload)
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.get("https://test.deribit.com/api/v2/private/get_address_book")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 31,\n \"method\": \"private/get_address_book\",\n \"params\": {\n \"currency\": \"BTC\",\n \"type\": \"withdrawal\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/private/get_address_book")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": 31,\n \"method\": \"private/get_address_book\",\n \"params\": {\n \"currency\": \"BTC\",\n \"type\": \"withdrawal\"\n }\n}"
response = http.request(request)
puts response.read_bodyprivate/get_address_book
Retrieves the address book entries of the given type. Returns all saved addresses that can be used for withdrawals, along with their labels and beneficiary information if available.
Coinbase wallet type
For Coinbase wallet type accounts currency accepts any portfolio currency or "all", and type accepts withdrawal, transfer or deposit (deposit addresses created via private/create_deposit_address). The returned entries are Coinbase address book entry objects: they include the entry id (usable instead of address in the other address book methods), kind (onchain or ctn), network, network_display_name, tag and the Coinbase travel rule fields (name, country, financial_institution, account, account_location, entity_type, wallet_type, is_self) when set.
๐ Related Article: Managing Withdrawals
Scope: wallet:read
curl --request GET \
--url https://test.deribit.com/api/v2/private/get_address_book \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 31,
"method": "private/get_address_book",
"params": {
"currency": "BTC",
"type": "withdrawal"
}
}
'import requests
url = "https://test.deribit.com/api/v2/private/get_address_book"
payload = {
"jsonrpc": "2.0",
"id": 31,
"method": "private/get_address_book",
"params": {
"currency": "BTC",
"type": "withdrawal"
}
}
headers = {"Content-Type": "application/json"}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: 31,
method: 'private/get_address_book',
params: {currency: 'BTC', type: 'withdrawal'}
})
};
fetch('https://test.deribit.com/api/v2/private/get_address_book', 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://test.deribit.com/api/v2/private/get_address_book",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 31,
'method' => 'private/get_address_book',
'params' => [
'currency' => 'BTC',
'type' => 'withdrawal'
]
]),
CURLOPT_HTTPHEADER => [
"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://test.deribit.com/api/v2/private/get_address_book"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 31,\n \"method\": \"private/get_address_book\",\n \"params\": {\n \"currency\": \"BTC\",\n \"type\": \"withdrawal\"\n }\n}")
req, _ := http.NewRequest("GET", url, payload)
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.get("https://test.deribit.com/api/v2/private/get_address_book")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 31,\n \"method\": \"private/get_address_book\",\n \"params\": {\n \"currency\": \"BTC\",\n \"type\": \"withdrawal\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/private/get_address_book")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": 31,\n \"method\": \"private/get_address_book\",\n \"params\": {\n \"currency\": \"BTC\",\n \"type\": \"withdrawal\"\n }\n}"
response = http.request(request)
puts response.read_bodyQuery Parameters
The currency symbol. Legacy wallet type: wallet currencies only. Coinbase wallet type: any portfolio currency or "all".
Currency, i.e "BTC", "ETH", "USDC"
BTC, ETH, USDC, USDT, EURR "BTC"
Address book type. Legacy wallet type: withdrawal, transfer or deposit_source. Coinbase wallet type: withdrawal, transfer or deposit.
Address book type. deposit_source is legacy wallet type only; deposit is Coinbase wallet type only.
transfer, withdrawal, deposit_source, deposit "withdrawal"
Response
Success response
The JSON-RPC version (2.0)
2.0 - Option 1
- Option 2
Hide child attributes
Hide child attributes
Currency, i.e "BTC", "ETH", "USDC"
BTC, ETH, STETH, ETHW, USDC, USDT, EURR, SOL, XRP, USYC, PAXG, BNB, USDE Address in proper format for currency
"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
The timestamp (milliseconds since the Unix epoch)
1536569522277
Address book type
transfer, withdrawal, deposit_source Label of the address book entry
"Main address"
Name of beneficiary VASP
"Money's Gone"
DID of beneficiary VASP
"did:example:123456789abcdefghi"
Website of the beneficiary VASP
First name of the beneficiary (if beneficiary is a person)
"John"
Last name of the beneficiary (if beneficiary is a person)
"Doe"
Company name of the beneficiary (if beneficiary is a company)
"Company Name"
Geographical address of the beneficiary
"NL, Amsterdam, Street, 1"
Indicates that the user agreed to shared provided information with 3rd parties
true
The user confirms that he provided address belongs to him and he has access to it via an un-hosted wallet software
true
Signalises that addition information regarding the beneficiary of the address is required
true
Wallet address status, values: [admin_locked, waiting, confirmed, ready]
admin_locked, waiting, confirmed, ready Timestamp when the address will be ready
true
If address requires email confirmation for withdrawals
true
If email confirmation change is in progress
true
If withdrawals to this address require a security key
false
The id that was sent in the request
Was this page helpful?