curl --request GET \
--url https://test.deribit.com/api/v2/private/create_deposit_address \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 7538,
"method": "private/create_deposit_address",
"params": {
"currency": "BTC"
}
}
'import requests
url = "https://test.deribit.com/api/v2/private/create_deposit_address"
payload = {
"jsonrpc": "2.0",
"id": 7538,
"method": "private/create_deposit_address",
"params": { "currency": "BTC" }
}
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: 7538,
method: 'private/create_deposit_address',
params: {currency: 'BTC'}
})
};
fetch('https://test.deribit.com/api/v2/private/create_deposit_address', 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/create_deposit_address",
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' => 7538,
'method' => 'private/create_deposit_address',
'params' => [
'currency' => 'BTC'
]
]),
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/create_deposit_address"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 7538,\n \"method\": \"private/create_deposit_address\",\n \"params\": {\n \"currency\": \"BTC\"\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/create_deposit_address")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 7538,\n \"method\": \"private/create_deposit_address\",\n \"params\": {\n \"currency\": \"BTC\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/private/create_deposit_address")
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\": 7538,\n \"method\": \"private/create_deposit_address\",\n \"params\": {\n \"currency\": \"BTC\"\n }\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 3461,
"result": {
"address": "2N8udZGBc1hLRCFsU9kGwMPpmYUwMFTuCwB",
"creation_timestamp": 1550575165170,
"currency": "BTC",
"type": "deposit"
}
}private/create_deposit_address
Creates a new deposit address for the specified currency. Each currency can have multiple deposit addresses. Use this method to generate a new address for receiving deposits.
Note:
For Bitcoin, a new address can be generated every 24 hours.
For ERC20, Solana and XRP only one address can be generated.
Note:
If an ERC20 address is generated, this address will be automatically added for every asset that uses ERC20 addresses.
๐ Related Article: Managing Deposits
Scope: wallet:read_write
curl --request GET \
--url https://test.deribit.com/api/v2/private/create_deposit_address \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 7538,
"method": "private/create_deposit_address",
"params": {
"currency": "BTC"
}
}
'import requests
url = "https://test.deribit.com/api/v2/private/create_deposit_address"
payload = {
"jsonrpc": "2.0",
"id": 7538,
"method": "private/create_deposit_address",
"params": { "currency": "BTC" }
}
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: 7538,
method: 'private/create_deposit_address',
params: {currency: 'BTC'}
})
};
fetch('https://test.deribit.com/api/v2/private/create_deposit_address', 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/create_deposit_address",
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' => 7538,
'method' => 'private/create_deposit_address',
'params' => [
'currency' => 'BTC'
]
]),
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/create_deposit_address"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 7538,\n \"method\": \"private/create_deposit_address\",\n \"params\": {\n \"currency\": \"BTC\"\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/create_deposit_address")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 7538,\n \"method\": \"private/create_deposit_address\",\n \"params\": {\n \"currency\": \"BTC\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/private/create_deposit_address")
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\": 7538,\n \"method\": \"private/create_deposit_address\",\n \"params\": {\n \"currency\": \"BTC\"\n }\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 3461,
"result": {
"address": "2N8udZGBc1hLRCFsU9kGwMPpmYUwMFTuCwB",
"creation_timestamp": 1550575165170,
"currency": "BTC",
"type": "deposit"
}
}Query Parameters
The currency symbol
Currency, i.e "BTC", "ETH", "USDC"
BTC, ETH, USDC, USDT, EURR Response
Success response
The JSON-RPC version (2.0)
2.0 Object if address is created, null otherwise
Hide child attributes
Hide child attributes
The timestamp (milliseconds since the Unix epoch)
1536569522277
Currency, i.e "BTC", "ETH", "USDC"
BTC, ETH, USDC, USDT, EURR Address in proper format for currency
"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
Address type/purpose, allowed values : deposit
The id that was sent in the request
Was this page helpful?