Skip to main content
GET
/
api
/
v1
/
portfolios
/
{portfolio}
/
summary
Get portfolio summary
curl --request GET \
  --url https://api.international.coinbase.com/api/v1/portfolios/{portfolio}/summary \
  --header 'CB-ACCESS-KEY: <api-key>' \
  --header 'CB-ACCESS-PASSPHRASE: <api-key>' \
  --header 'CB-ACCESS-SIGN: <api-key>' \
  --header 'CB-ACCESS-TIMESTAMP: <api-key>'
import requests

url = "https://api.international.coinbase.com/api/v1/portfolios/{portfolio}/summary"

headers = {
"CB-ACCESS-KEY": "<api-key>",
"CB-ACCESS-PASSPHRASE": "<api-key>",
"CB-ACCESS-SIGN": "<api-key>",
"CB-ACCESS-TIMESTAMP": "<api-key>"
}

response = requests.get(url, headers=headers)

print(response.text)
const options = {
method: 'GET',
headers: {
'CB-ACCESS-KEY': '<api-key>',
'CB-ACCESS-PASSPHRASE': '<api-key>',
'CB-ACCESS-SIGN': '<api-key>',
'CB-ACCESS-TIMESTAMP': '<api-key>'
}
};

fetch('https://api.international.coinbase.com/api/v1/portfolios/{portfolio}/summary', 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/portfolios/{portfolio}/summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)

func main() {

url := "https://api.international.coinbase.com/api/v1/portfolios/{portfolio}/summary"

req, _ := http.NewRequest("GET", url, nil)

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>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.international.coinbase.com/api/v1/portfolios/{portfolio}/summary")
.header("CB-ACCESS-KEY", "<api-key>")
.header("CB-ACCESS-PASSPHRASE", "<api-key>")
.header("CB-ACCESS-SIGN", "<api-key>")
.header("CB-ACCESS-TIMESTAMP", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.international.coinbase.com/api/v1/portfolios/{portfolio}/summary")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.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>'

response = http.request(request)
puts response.read_body
{
  "collateral": 14750.53,
  "unrealized_pnl": 2953.01,
  "unrealized_pnl_percent": 0,
  "position_notional": 1050.32,
  "open_position_notional": 3010.02,
  "pending_fees": 120.31,
  "borrow": 4111.32,
  "accrued_interest": 10.02,
  "rolling_debt": 311.02,
  "balance": 15751.6,
  "buying_power": 14964.02,
  "portfolio_initial_margin": 0.05,
  "portfolio_current_margin": 0.05,
  "portfolio_maintenance_margin": 0.033,
  "portfolio_close_out_margin": 0.01665,
  "in_liquidation": true,
  "portfolio_initial_margin_notional": 1571.5345,
  "portfolio_current_margin_notional": 1571.5345,
  "portfolio_maintenance_margin_notional": 1023.3081,
  "portfolio_close_out_margin_notional": 482.6651,
  "margin_override": 0.2,
  "lock_up_initial_margin": 0.3,
  "loan_collateral_requirement": 0,
  "position_offset_notional": 3010.02
}
PortfoliosService portfoliosService = IntxServiceFactory.createPortfoliosService(client);
GetPortfolioSummaryRequest request = new GetPortfolioSummaryRequest.Builder()
    .portfolio("portfolio_id")
    .build();
GetPortfolioSummaryResponse response = portfoliosService.getPortfolioSummary(request);
For more information, please visit the INTX Java SDK.

Authorizations

CB-ACCESS-KEY
string
header
required

The Client ID that owns the API Key for the request

CB-ACCESS-PASSPHRASE
string
header
required

The pass phrase affiliated with the API Key

CB-ACCESS-SIGN
string
header
required

A HMAC SHA-256 signature using the API Key secret on the string TIMESTAMP, METHOD, REQUEST_PATH, BODY

CB-ACCESS-TIMESTAMP
string
header
required

The timestamp of when the request is being made

Path Parameters

portfolio
string
required

Identifies the portfolio by UUID (e.g., 892e8c7c-e979-4cad-b61b-55a197932cf1) or portfolio ID (e.g., 5189861793641175)

Response

Portfolio information

collateral
string

The total collateral value in USDC for the portfolio

Example:

14750.53

unrealized_pnl
string

The profit or loss of all open positions (resets to 0 after settlement)

Example:

2953.01

unrealized_pnl_percent
string

The profit or loss percentage of all open positions (resets to 0 after settlement)

Example:

0

position_notional
string

The position value in USDC of all positions

Example:

1050.32

open_position_notional
string

The notional value of all open orders and positions

Example:

3010.02

pending_fees
string

Accrued fees that haven't been paid yet

Example:

120.31

borrow
string

Total borrow amount in USDC (nets the USDC balance, position PNL, held USDC, accrued interest and rolling debt)

Example:

4111.32

accrued_interest
string

Interest charged for borrowed USDC balances

Example:

10.02

rolling_debt
string

Amount of settled transactions that haven't been paid

Example:

311.02

balance
string

The net balance available in the portfolio (collateral + unrealized_pnl - pending_fees - accrued_interest - rolling_debt)

Example:

15751.6

buying_power
string

The amount of buying power available in the portfolio (balance - (open_position_notional * portfolio_initial_margin))

Example:

14964.02

portfolio_initial_margin
number<double>

The weighted average of all the position's initial margin utilization

Example:

0.05

portfolio_current_margin
number<double>

The current margin level of the portfolio

Example:

0.05

portfolio_maintenance_margin
number<double>

The maintenance margin of the portfolio

Example:

0.033

portfolio_close_out_margin
number<double>

The close out margin of the portfolio

Example:

0.01665

in_liquidation
boolean

Indicates whether the portfolio is in process of liquidation

portfolio_initial_margin_notional
number<double>

The notional initial margin of the portfolio

Example:

1571.5345

portfolio_current_margin_notional
number<double>

The notional current margin level of the portfolio

Example:

1571.5345

portfolio_maintenance_margin_notional
number<double>

The notional maintenance margin of the portfolio

Example:

1023.3081

portfolio_close_out_margin_notional
number<double>

The notional close out margin of the portfolio

Example:

482.6651

margin_override
number<double>

The margin override value for the portfolio, indicating notional requirement to hold futures positions

Example:

0.2

lock_up_initial_margin
number<double>

The effective margin requirement value for the portfolio (max(portfolio_initial_margin, margin_override))

Example:

0.3

loan_collateral_requirement
string
Example:

0

position_offset_notional
number<double>

The notional value of margin relief provided by position offsets

Example:

3010.02