Skip to main content
GET
/
v1
/
portfolios
/
{portfolio_id}
/
products
List Portfolio Products
curl --request GET \
  --url https://api.prime.coinbase.com/v1/portfolios/{portfolio_id}/products
{
  "products": [
    {
      "id": "BTC-USD",
      "base_increment": "1",
      "quote_increment": "1",
      "base_min_size": "100",
      "quote_min_size": "100",
      "base_max_size": "1000",
      "quote_max_size": "1000",
      "permissions": "PRODUCT_PERMISSION_READ",
      "price_increment": "0.01",
      "rfq_product_details": {
        "tradable": true,
        "min_notional_size": "<string>",
        "max_notional_size": "<string>",
        "min_base_size": "<string>",
        "max_base_size": "<string>",
        "min_quote_size": "<string>",
        "max_quote_size": "<string>"
      },
      "product_type": "SPOT",
      "fcm_trading_session_details": {
        "session_open": true,
        "open_time": "2023-11-07T05:31:56Z",
        "close_time": "2023-11-07T05:31:56Z",
        "session_state": "FCM_TRADING_SESSION_STATE_UNDEFINED",
        "after_hours_order_entry_disabled": true,
        "closed_reason": "FCM_TRADING_SESSION_CLOSED_REASON_UNDEFINED",
        "maintenance": {
          "start_time": "2023-11-07T05:31:56Z",
          "end_time": "2023-11-07T05:31:56Z"
        },
        "settlement_timestamp": "2023-11-07T05:31:56Z",
        "settlement_price": "<string>"
      },
      "future_product_details": {
        "contract_code": "BTCH25",
        "contract_size": "1",
        "contract_expiry": "2023-11-07T05:31:56Z",
        "contract_root_unit": "BTC",
        "contract_expiry_type": "CONTRACT_EXPIRY_TYPE_UNSPECIFIED",
        "risk_managed_by": "RISK_MANAGEMENT_TYPE_UNSPECIFIED",
        "venue": "cde",
        "group_description": "Nano Bitcoin",
        "contract_expiry_timezone": "Europe/London",
        "group_short_description": "Nano BTC",
        "perpetual_details": {
          "open_interest": "1000000",
          "funding_rate": "0.0001",
          "funding_time": "2023-11-07T05:31:56Z",
          "max_leverage": "5",
          "underlying_type": "SPOT"
        }
      }
    }
  ],
  "pagination": {
    "next_cursor": "<string>",
    "sort_direction": "DESC",
    "has_next": true
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.cloud.coinbase.com/llms.txt

Use this file to discover all available pages before exploring further.

Use the Prime SDK or CLI to test this endpoint by following the quickstart guide and running with the following examples
ProductsService productsService = PrimeServiceFactory.createProductsService(client);

ListPortfolioProductsRequest request = new ListPortfolioProductsRequest.Builder()
    .portfolioId("PORTFOLIO_ID_HERE")
    .build();

ListPortfolioProductsResponse response = productsService.listPortfolioProducts(request);
For more information, please visit the Prime Java SDK.

Path Parameters

portfolio_id
string
required

The portfolio ID

Query Parameters

cursor
string

Cursor used for pagination (last consumed record)

limit
integer<int32>

Number of items to retrieve

sort_direction
enum<string>
default:DESC

Sorting order

Available options:
DESC,
ASC
product_type
enum<string>

Filter by product type (SPOT, FUTURE). If unset, returns all types available for your portfolio. Futures products require additional entitlements.

  • UNKNOWN_PRODUCT_TYPE: Unknown product type
  • SPOT: Spot product
  • FUTURE: Future product
Available options:
SPOT,
FUTURE
contract_expiry_type
enum<string>
default:CONTRACT_EXPIRY_TYPE_UNSPECIFIED

Filter by contract expiry type (EXPIRING or PERPETUAL). Only applicable when product_type = FUTURE. If unset, returns all futures kinds.

  • CONTRACT_EXPIRY_TYPE_UNSPECIFIED: Unspecified contract expiry type
  • CONTRACT_EXPIRY_TYPE_EXPIRING: Expiring futures contract
  • CONTRACT_EXPIRY_TYPE_PERPETUAL: Perpetual futures contract (no expiry)
Available options:
CONTRACT_EXPIRY_TYPE_UNSPECIFIED,
CONTRACT_EXPIRY_TYPE_EXPIRING,
CONTRACT_EXPIRY_TYPE_PERPETUAL
expiring_contract_status
enum<string>

Filter by expiry status for expiring futures. If unset, returns all expiring futures.

  • EXPIRING_CONTRACT_STATUS_UNKNOWN: Unknown/unset — returns all expiring contracts (backward compatible default)
  • EXPIRING_CONTRACT_STATUS_UNEXPIRED: Only unexpired contracts (contract_expiry is in the future)
  • EXPIRING_CONTRACT_STATUS_EXPIRED: Only expired contracts (contract_expiry is in the past)
  • EXPIRING_CONTRACT_STATUS_ALL: All contracts regardless of expiry status
Available options:
EXPIRING_CONTRACT_STATUS_UNEXPIRED,
EXPIRING_CONTRACT_STATUS_EXPIRED,
EXPIRING_CONTRACT_STATUS_ALL

Response

200 - application/json

A successful response.

products
object[]
pagination
object