This page provides information about upcoming changes to Coinbase Prime Broker.

Get Candle Data

Updating: This will be live in mid-July 2025

We will be adding a new GET endpoint to return candles of specified symbols. The request will require the following parameters:

{
  "product_id": "string",
  "start": "string", // Unix timestamp e.g 1596640920
  "end": "string", // Unix timestamp e.g 1596650920
  "granularity": "string"
}

And will have the following fields in the response body:

{
  "candles": [
    {
      "start": "string", // ISO 8601 timestamp format
      "open": "string",
      "high": "string",
      "low": "string",
      "close": "string",
      "volume": "string"
    }
  ]
}

Settlement Currency

Updating: This will be live in mid-July 2025

We are introducing support for specifying a settlement currency for orders. With this update, clients can access USD trading pairs using USDC positions, enabling them to buy with USDC balances and settle trades directly into USDC positions.

  • Updated Create Order with new optional parameter settl_currency.

RFQ Size in Quote

Updating: This will be live in July 2025

RFQ currently only support size in the base asset. We’ll be adding support to allow RFQs in the quote asset.

To support this offering we’ll be deprecating the rfq_product_detail fields: min_notional_size and max_notional_size and introduce the new fields:

  • min_base_size
  • max_base_size
  • min_quote_size
  • max_quote_size

To rollout this change we’ll:

  1. start supplying the new rfq_product_detail fields values on all product endpoints and the websockets channel
  2. incrementally move users RFQ validation from just notional size to notional and min/max base/quote
  3. incrementally move users RFQ validation to just using min/max base/quote
  4. stop supplying values for notional size
  5. start supporting RFQ Size in Quote

Orders Edit History

Updating: This will be live in late-June 2025

We will be adding a new GET endpoint to return the edit history of an order. This will work for Limit, Stop Limit, TWAP, and VWAP order types. The request will require the following parameters:

{
  "portfolio_id": "string",
  "order_id": "string"
}

And will have the following fields in the response body:

{
  "order_id": "string",
  "order_edit_history": [
    {
      "price": "string",
      "size": "string",
      "display_size": "string",
      "stop_price": "string",
      "stop_limit_price": "string",
      "end_time": "string", // ISO 8601 timestamp format
      "accept_time": "string" // ISO 8601 timestamp format
    }
  ]
}

In the responses of existing endpoints designed for fetching orders, like /v1/portfolios/:portfolio_id/orders/:order_id, the new field order_edit_history will be added to the order payload:

{
  "order_id": "string",
  "product_id": "string",
  "size": "string",
  "price": "string",
  "side": "string",
  // ... other existing order fields
  "order_edit_history": [
    {
      "price": "string",
      "size": "string",
      "display_size": "string",
      "stop_price": "string",
      "stop_limit_price": "string",
      "end_time": "string", // ISO 8601 timestamp format
      "accept_time": "string" // ISO 8601 timestamp format
    },
    {
      "price": "string",
      "size": "string",
      "display_size": "string",
      "stop_price": "string",
      "stop_limit_price": "string",
      "end_time": "string", // ISO 8601 timestamp format
      "accept_time": "string" // ISO 8601 timestamp format
    }
  ]
}

Create Staking/Unstaking Transaction

Updating: This will be live in Late-April

We will be adding new POST endpoints to create staking/unstaking transactions. These upcoming endpoints will initially support ETH only. Staking is a request to stake or delegate funds to a validator, and unstaking is a request to unstake delegated or staked funds in a wallet. The request requires the following parameters:

{
  "portfolio_id": "string",
  "wallet_id": "string",
  "body": {
    "idempotency_key": "string", // The idempotency key associated with this transfer
    "inputs": "object" // String map of inputs for the given action.
  }
}

The response will consist of the following:

{
  "wallet_id": "string",
  "transaction_id": "string",
  "activity_id": "string"
}

Get Portfolio Commission

Updating: This will be live in Mid-April

We will be adding an optional query parameter to the REST API Get Portfolio Commission endpoint. This parameter will allow you to request commission rates for a specific product ID. The request will look like the following:

Path Parameters

{
  "portfolio_id": "string"
}

Query Parameters

{
  "product_id": "string"
}

The response schema remains unchanged.

Prime Multinetwork Support

Updating: This will be live in Mid-March

We will be adding a new “network” field that touches the following resources:

  • Transactions
  • Wallets
  • Deposit instructions
  • Balances

The “network” field will look like the following and will be used as an optional request or response parameter depending on whether the endpoint is a GET or POST:

{
  "id": "string", // The network ID like "ethereum" or "solana"
  "type": "string" // The network type like "mainnet"
}

Additionally, the Get Entity Assets endpoint is updated to return additional information about each network supported by every asset.

The response for this endpoint is updated to include `network details”:

{
  "network_details": {
    "network": "object", // The network object as defined above
    "name": "string", // The name of the network like Ethereum or Solana
    "max_decimals": "string", // The maximum number of decimals for the asset on the network
    "default": "boolean", // Whether this is the default network for the asset
    "trading_supported": "boolean", // Whether trading is supported on the network
    "vault_supported": "boolean", // Whether vault is supported on the network
    "prime_custody_supported": "boolean", // Whether prime custody is supported on the network
    "destination_tag_required": "boolean", // Whether destination tag is required on the network
    "network_link": "string" // base url for the recommended block explorer for the network (crypto only)
  }
}

The complete list of endpoints that are updated for this feature can be found under the Changelog.

Create Onchain Transaction

Added: 2025-JAN-29

We will be adding a new endpoint to create onchain transactions. This POST endpoint will create a new onchain transaction for a given wallet ID. The request requires the following parameters:

{
  "portfolio_id": "string",
  "wallet_id": "string",
  "raw_unsigned_txn": "string", // Raw unsigned transaction in Hex format (Supports EVM and Solana)
  "rpc": {
    "skip_broadcast": "boolean", // If true, transaction will not be broadcast to the network
    "url": "string" // Custom blockchain node URL. Currently only supports Flashbots RPC endpoint for EVM mainnet
  },
  "evm_params": {
    "disable_dynamic_gas": "boolean", // Option to disable dynamic gas price adjustment
    "replaced_transaction_id": "string", // Transaction ID to replace (for speed-up/cancel operations)
    "chain_id": "string" // Chain ID for EVM transactions
  }
}

The response will consist of the following:

{
  "transaction_id": "string"
}

Update Onchain Address Group

Added: 2025-JAN-18

We will be adding a new endpoint to update a Prime Onchain Wallet address group. This PUT endpoint will replace the existing address group with the new address group. The request requires portfolio ID and address group as shown below:

{
  portfolio_id: string;
  address_group: {
    id;
    name;
    network_type;
    addresses: [{
      name;
      address;
      networks: [string];
    }]
  }
}

The response will consist of the following:

{
  "activity_type": "ACTIVITY_TYPE_ADDRESS_BOOK",
  "num_approvals_remaining": integer,
  "activity_id": string
}

List Onchain Address Groups

Added: 2024-DEC-17

We will be adding a new endpoint to list your onchain address groups. This GET endpoint will list all address groups for a given portfolio ID. The response will consist of the following:

{
  address_groups: [{
    id;
    name;
    network_type;
    added_at;
    addresses: [{
      name;
      address;
      chain_ids: [string]; // This will be empty for solana, * or list of chain IDs for EVM
    }]
  }]
}

Get FCM Risk Limits

Added: 2025-JUN-26

We will be adding a new endpoint to get the risk limits for a given portfolio ID. This GET endpoint will return the risk limits for the specified portfolio. The request requires the following parameters:

{
  "entity_id": "string",
}

The response will consist of the following:

{
  "margin_limit": "string",
  "margin_limit_utilization": "string"
}

Get FCM Margin Call Details

Added: 2025-JUL-02

We will be adding a new endpoint to get the margin call details for a given entity ID. This GET endpoint will return a list of margin calls for the specified entity. The request requires the following parameters:

{
  "entity_id": "string"
}

The response will consist of the following:

{
  "margin_calls": [
    {
      "type": "enum", // "URGENT" or "REGULAR"
      "state": "enum",  // "CLOSED", "ROLLED_OVER", "DEFAULT", "OFFICIAL"
      "initial_amount": "string",
      "remaining_amount": "string",
      "business_date": "string", // UNIX timestamp e.g 1596640920
      "cure_deadline": "string"  // UNIX timestamp e.g 1596650920
    }
  ]
}