> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cdp.coinbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Exchange Upcoming Changes

This page provides information about upcoming changes to Coinbase Exchange.

## Added transfer\_id to the [Transfer funds between profiles)](/api-reference/exchange-api/rest-api/profiles/transfer-funds-profile) REST endpoint response

*Added: 2026-Oct-1*

*To Be Released: 2026-Oct-13*

The [Transfer funds between profiles)](/api-reference/exchange-api/rest-api/profiles/transfer-funds-profile) REST endpoint now returns the `transfer_id` in a 200 successful response.  Previously, we returned an empty 200 response.

## Portfolio Isolation and Cross Portfolio Access for API Keys

*Added: 2026-Sep-30*

*To Be Released: TBD*

We're adding an opt-in **portfolio isolation** setting for API keys. When on, every key is limited to its own portfolio on all REST endpoints, including ones that return account-wide data today (`GET /profiles`, `GET /orders?profile_id=`, `GET /transfers`, `GET /reports`). Requests for another `profile_id` return `403 Forbidden`.

Enable it under **Settings** > **Security**. Once on, you can select **Cross Portfolio Access** when creating new keys. Existing keys don't get it. Order entry, FIX, and WebSocket don't change.

**What to do:** Nothing until you enable it. If you plan to, note which integrations use the endpoints above so you can issue them new keys with cross portfolio access. See [Portfolio Isolation and Cross Portfolio Access](/exchange/concepts/cross-portfolio-access).

## Adjusting fields returned in OrderCancelBatchReject (35=U5) FIX API messages

*Updated: 2026-Sep-18*

*To Be Released: 2026-Sep-25*

Please note that we are updating the behavior of the OrderCancelBatch (U4) message.

Currently, when a batch cancel is submitted using ClOrdID (11) as the identifier and the referenced order does not exist, no response message is returned. Going forward, such requests will receive an explicit OrderCancelBatchReject (U5). In the reject message, OrigClOrdID (41) will be populated, while OrderID (37) will remain unpopulated.

## Synthetic Product Orders

*Added: 2026-Sep-18*

We've added support for synthetic product orders, which let you submit a single order for an unlisted pair (e.g. `QNT-DASH`) that Coinbase decomposes into two legs sharing a hop currency and executes atomically in the matching engine. Synthetic product orders are supported in [FIX 5.0](/exchange/fix-api/order-entry-messages/order-entry-messages5#newordersingle-35=d) and the [Create a new order](/api-reference/exchange-api/rest-api/orders/create-new-order#synthetic-product-orders) REST API. See [Synthetic Product Orders](/exchange/fix-api/order-entry-messages/synthetic-product-orders) for details.

<Warning>
  Synthetic product orders are currently available in the sandbox environment only. Production launch date is TBD.
</Warning>

## Removing SenderSubID (50) from Execution Reports (8)

*Updated: 2026-Mar-09*

*To Be Released: 2026-Mar-12*

On March 12th at 18:00 UTC (2:00 PM EST) we will be deploying a change to our FIX engines to remove the SenderSubID (50) = TEST that is returned on every execution report from the exchange. TEST does not represent a value that should be used in anyway and SenderSubID (50) is marked as optional in the data dictionaries that can be downloaded in our documentation.

Please note all the other tags and values for execution reports will not be changed and can be found here: [https://docs.cdp.coinbase.com/exchange/fix-api/order-entry-messages/order-entry-messages5#executionreport-35=8](https://docs.cdp.coinbase.com/exchange/fix-api/order-entry-messages/order-entry-messages5#executionreport-35=8)

## SL/TPSL Order Cancel Replace Support

*Updated: 2025-Dec-02*

*To Be Released: 2025-Dec-04*

We are expanding [OrderCancelReplaceRequest (35=G)](/exchange/fix-api/order-entry-messages/order-entry-messages5#ordercancelreplacerequest-35=g) to support additional order types. Currently, this message only supports limit orders. With this update, you will also be able to modify stop orders and [TPSL (Take Profit/Stop Loss)](/exchange/fix-api/order-entry-messages/tpsl-orders) orders using the cancel-replace workflow.

## Deleting travel rule fields in POST /withdrawals/crypto REST API

*Updated: 2025-Jan-13*

We are removing travel rule fields from `POST /withdrawals/crypto` REST API. Customers in travel rule jurisdictions can withdraw only to their allowlisted addresses.

## Adding new PUT /address-book/<u>\{id}</u> REST endpoint

*Added: 2025-Jan-8*

We are introducing a new REST endpoint to edit an editing existing address book entry - useful for customers in travel rule jurisdictions.
This endpoint requires the API key to have <b>MANAGE</b> permissions.

Non travel-rule jurisdictions can only edit the label of the address book entry.

Example request `PUT https://api.exchange.coinbase.com/address-book/{id}`. Here <u>\{id}</u> refers to uuid of the crypto address.

```
{
  "label": "string", // label for crypto address
  "is_certified_self_send": bool // true if customer owns the address/ false if it is a third party address
  "vasp_id": "string" // optional - vasp name from supported list if the wallet address is a VASP address
  "is_verified_self_hosted_wallet": bool // optional - true if the wallet is verified self-hosted wallet
  "business_name": "lorem ipsum", // required for third-party address; ie is_certified_self_send is false
  "business_country_code": "DE" // ISO 3166-1 alpha-2 country code required for third-party address; ie is_certified_self_send is false
}
```

Sample response:

```json lines wrap theme={null}
{
  "body": {
    "id": "e89b6ea2-1d73-4b3c-9f3a-3d9c8f25b7d9",
    "address": "0x6448894b9499AeebD914232483d0d0467194efcp",
    "label": "string",
    "address_info": {
      "address": "0x6448894b9499AeebD914232483d0d0467194efcp",
      "display_address": "0x6448894b9499AeebD914232483d0d0467194efcp",
      "destination_tag": "string"
    },
    "display_address": "0x6448894b9499AeebD914232483d0d0467194efcp",
    "address_booked": true,
    "address_book_added_at": "2024-03-19T12:00:00Z",
    "address_book_entry_pending_until": "2024-03-21T12:00:00Z",
    "currency": "USDC",
    "is_verified_self_hosted_wallet": false,
    "vasp_id": "string",
    "business_name": "string",
    "business_country_code": "DE"
  }
}
```

note: business name and country code are only populated for travel rule regions.
