cURL
curl --request GET \
--url https://drb.coinbase.com/api/v2/private/get_user_locks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": 74,
"jsonrpc": "2.0",
"method": "private/get_user_locks",
"params": {}
}
'import requests
url = "https://drb.coinbase.com/api/v2/private/get_user_locks"
payload = {
"id": 74,
"jsonrpc": "2.0",
"method": "private/get_user_locks",
"params": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({id: 74, jsonrpc: '2.0', method: 'private/get_user_locks', params: {}})
};
fetch('https://drb.coinbase.com/api/v2/private/get_user_locks', 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://drb.coinbase.com/api/v2/private/get_user_locks",
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([
'id' => 74,
'jsonrpc' => '2.0',
'method' => 'private/get_user_locks',
'params' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://drb.coinbase.com/api/v2/private/get_user_locks"
payload := strings.NewReader("{\n \"id\": 74,\n \"jsonrpc\": \"2.0\",\n \"method\": \"private/get_user_locks\",\n \"params\": {}\n}")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://drb.coinbase.com/api/v2/private/get_user_locks")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": 74,\n \"jsonrpc\": \"2.0\",\n \"method\": \"private/get_user_locks\",\n \"params\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://drb.coinbase.com/api/v2/private/get_user_locks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": 74,\n \"jsonrpc\": \"2.0\",\n \"method\": \"private/get_user_locks\",\n \"params\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": 74,
"result": [
{
"currency": "BTC",
"locked": true,
"message": "locked in one currency"
},
{
"currency": "ETH",
"locked": false
},
{
"currency": "USDC",
"locked": false
},
{
"currency": "SOL",
"locked": false
}
]
}Account Management
private/get_user_locks
Retrieves information about any account locks or restrictions currently active on the authenticated account. Account locks may be applied for security reasons, compliance requirements, or administrative purposes.
The response includes details about the type of lock, reason, and duration (if applicable). Some locks may prevent trading, withdrawals, or other account operations.
📖 Related Support Article: Emergency locking an account
GET
/
private
/
get_user_locks
cURL
curl --request GET \
--url https://drb.coinbase.com/api/v2/private/get_user_locks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": 74,
"jsonrpc": "2.0",
"method": "private/get_user_locks",
"params": {}
}
'import requests
url = "https://drb.coinbase.com/api/v2/private/get_user_locks"
payload = {
"id": 74,
"jsonrpc": "2.0",
"method": "private/get_user_locks",
"params": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({id: 74, jsonrpc: '2.0', method: 'private/get_user_locks', params: {}})
};
fetch('https://drb.coinbase.com/api/v2/private/get_user_locks', 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://drb.coinbase.com/api/v2/private/get_user_locks",
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([
'id' => 74,
'jsonrpc' => '2.0',
'method' => 'private/get_user_locks',
'params' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://drb.coinbase.com/api/v2/private/get_user_locks"
payload := strings.NewReader("{\n \"id\": 74,\n \"jsonrpc\": \"2.0\",\n \"method\": \"private/get_user_locks\",\n \"params\": {}\n}")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://drb.coinbase.com/api/v2/private/get_user_locks")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": 74,\n \"jsonrpc\": \"2.0\",\n \"method\": \"private/get_user_locks\",\n \"params\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://drb.coinbase.com/api/v2/private/get_user_locks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": 74,\n \"jsonrpc\": \"2.0\",\n \"method\": \"private/get_user_locks\",\n \"params\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": 74,
"result": [
{
"currency": "BTC",
"locked": true,
"message": "locked in one currency"
},
{
"currency": "ETH",
"locked": false
},
{
"currency": "USDC",
"locked": false
},
{
"currency": "SOL",
"locked": false
}
]
}Authorizations
ApiKeyOAuth2
Call public/auth with grant_type: coinbase_cdp and a CDP JWT. Send the returned access_token as Authorization: Bearer.
Was this page helpful?