Get Unstaking Status Endpoint
This change will be available in late October to early November 2025 We are introducing a new endpoint to retrieve the status of ongoing unstaking operations for an Ethereum wallet. Prime Rest API:- Get Unstaking Status: GET /v1/portfolios/{portfolio_id}/wallets/{wallet_id}/staking/unstake/status- retrieve status of all active unstaking requests
Prime Multinetwork Support
We’re expanding network support to make capital movement faster, cheaper, and easier:- ETH on Base and USDC on Base, Solana, Arbitrum, Optimism, and Avalanche C-Chain can now be transferred efficiently and at no cost within your trading balance on the Prime UI.
- API support will be available starting November 3rd.
“network_scoped_symbol” in the List Entity Assets endpoint for each individual network supported for an asset.
Example:
- If a user wants to represent USDC on the Base network, they will use the "network_scoped_symbol"BASEUSDC.
- When a user calls the ListEntityAssets endpoint for USDC, the response will include a unique “network_scoped_symbol” for USDC on each supported network, such as BASEUSDC for Base, OPTUSDC for Optimism, and so on.
“network_scoped_symbol”  to get asset details specific to each network. Users can also add a new query parameter to see combined information for an asset across all supported networks denoted as:
- “get_network_unified_transactions”
- ”get_network_unified_wallets”
- “get_network_unified_activites”
- “unified_total_balances”
- 
List Entity Assets
- Will return a new field, “network_scoped_symbol”for each asset supported by the entity
 
- Will return a new field, 
- 
List Portfolio Transactions
- Users can enter a “network_scoped_symbol”in the ‘symbols’ query parameter to get transactions for an asset on a specific network
- Users can enter optional “get_network_unified_transactions”as a boolean query parameter to get transactions across all networks
 
- Users can enter a 
- 
List Wallet Transactions
- Will return all transactions for the given wallet across all supported networks including “network_scoped_symbol”as the symbol field
 
- Will return all transactions for the given wallet across all supported networks including 
- 
List Portfolio Balances
- Users can enter a “network_scoped_symbol”in the ‘symbols’ query parameter to see balances for an asset on a specific network,
- Users can enter an optional query parameter with balance_type “UNIFIED_TOTAL_BALANCES”to get balances across all networks
 
- Users can enter a 
- 
List Entity Balances
- Users can enter a “network_scoped_symbol”in the ‘symbols’ query parameter to view balances for an asset on a specific network
- Users can enter an optional boolean query parameter with balance_type “UNIFIED_TOTAL_BALANCES”to get balances across all networks
 
- Users can enter a 
- 
List Portfolio Wallet
- Users can enter a “network_scoped_symbol”in the ‘symbols’ query parameter to get wallets for an asset on a specific network
- Users can enter “get_network_unified_wallets”as a boolean query parameter to get wallets across all networks
 
- Users can enter a 
- 
List Wallet Addresses
- Network_id is now an optional field and will return all wallet deposit addresses for the given network. If no network_id provided, it will return all deposit addresses for that wallet across networks
 
- 
List Entity Activities
- Users can enter “network_scoped_symbol”in the ‘symbols’ query parameter to view activities for an asset on a specific network
- Users can enter “get_network_unified_activities”as a boolean query parameter to get activities across all networks
 
- Users can enter 
- 
List Portfolio Activities
- Users can enter “network_scoped_symbol”in the ‘symbols’ query parameter to view portfolio activities for an asset on a specific network
- Users can enter “get_network_unified_activities”as a boolean query parameter to get activities across all networks
 
- Users can enter 
| Asset - Symbol | Network Name | Network_Scoped_Symbol | 
|---|---|---|
| USDC | Ethereum | usdc | 
| USDC | Avalanche C-Chain | avausdc | 
| USDC | Optimism | optusdc | 
| USDC | Base | baseusdc | 
| USDC | Solana | splusdc | 
| USDC | Arbitrum | arbusdc | 
| ETH | Ethereum | eth | 
| ETH | Base | baseeth | 
Financing API Enhancements
This change will be published in late October to early November 2025 We are implementing changes to an existing endpoint and adding two new endpoints to enhance the API experience for users of the Trade Finance and Bilateral Lending products.List TF Obligations Endpoint
This new endpoint returns all open trade finance obligations.List Financing Eligible Assets Endpoint
This new endpoint returns all financing eligible assets and their associated trade finance credit utilization parameters.List Interest Accruals Endpoint
This endpoint will now additionally include interest accruals for Bilateral Lending (in addition to Trade Finance and Portfolio Margin, as currently implemented)User generated IDs maximum length requirement
Update: This will be live mid-October 2025 A maximum length requirement of 128 characters will be enforced for client generated IDs. Invalid argument errors will be raised if the IDs are longer than this limit. The affected fields currently are:- Create Portfolio Allocations: allocation_id, allocation_leg_id
- Create Portfolio Net Allocations: allocation_leg_id, netting_id
- Accept Quote: client_order_id
- Create Order: client_order_id
- Create Quote Request: client_quote_id
FIX Market Data
Update: This will be live in Q3 We will be adding level 2 market data on FIX 5.0 for Prime Trading Spot instruments. This includes OHLCV (Open, High, Low, Close, Volume), bids and offers, and trade history data. This will require a dedicated API key with READ permissions. Logon messages must conform to FIXT 1.1, for example:| Tag | Req | Name | Description | 
|---|---|---|---|
| 8 | Y | BeginString | Must be FIXT.1.1 | 
| 9 | Y | BodyLength | Length of body | 
| 35 | Y | MsgType | Must be A | 
| 34 | Y | MsgSeqNum | Must be 1 | 
| 49 | Y | SenderCompID | The Service Account ID (on messages from the client) | 
| 52 | Y | SendingTime | Must be within 5 seconds of server time in UTC | 
| 56 | Y | TargetCompID | Must be COIN(on messages from the client) | 
| 95 | Y | RawDataLength | Number of bytes in the RawData field | 
| 96 | Y | RawData | Client message signature (see Logon) | 
| 98 | Y | EncryptMethod | Must be 0(none) | 
| 108 | Y | HeartBtInt | Heartbeat interval is capped at 300s, defaults to 30s | 
| 141 | Y | ResetSeqNumFlag | Resets the sequence number. Can be Y/N | 
| 553 | Y | Username | Client API Key (Replaces tag 9407) | 
| 554 | Y | Password | Client API passphrase | 
| 1137 | Y | DefaultApplVerID | Must be 9(FIX 5.0 SP2) | 
| 9406 | Y | DropCopyFlag | Must be N | 
| 10 | Y | CheckSum | Checksum | 
- Server will support a new message type sent by the client: MarketDataRequest <V>
- Server will send a new message type: MarketDataRequestReject <Y>
- Server will send a new message type: MarketDataSnapshotFullRefresh <W>
- Server will send a new message type: MarketDataIncrementalRefresh <X>
- Server will send a new message type: SecurityStatus <f>
MarketDataRequest (V)
Sent by the client when placing a market data request| Tag | Req | Name | Description | 
|---|---|---|---|
| 262 | Y | MDReqID | Client unique identifier for market data request | 
| 263 | Y | SubscriptionRequestType | 0= Snapshot only1= Snapshot+Updates (Subscribe)2= Disable previous Snapshot+Update (Unsubscribe) | 
| 264 | Y | MarketDepth | 0= Full depth (L2)1= Top of bookN>1 = Report best N price tiers of data | 
| 265 | N | MDUpdateType | Required if SubscriptionRequestType <263> = 1:0= Snapshot+Updates1= Updates only | 
| 267 | Y | NoMDEntryTypes | Number of MDEntryType <269> fields requested | 
| ↳269 | Y | MDEntryType | 0= Bid1= Offer2= Trade4= Open5= Close7= High8= LowB= Volume | 
| 146 | Y | NoRelatedSym | Number of Symbols <55> requested | 
| ↳55 | Y | Symbol | Repeating group of symbols for which the client requests market data | 
MarketDataRequestReject (Y)
Sent by the server in case the MarketDataRequest (V) fails| Tag | Req | Name | Description | 
|---|---|---|---|
| 262 | Y | MDReqID | Client unique identifier for market data request | 
| 281 | Y | MDReqRejReason | See MDReqRejReason table | 
| 58 | N | Text | User friendly error message | 
MDReqRejReason
Possible values for MDReqRejReason (see MarketDataRequestReject (Y))| Value | Description | 
|---|---|
| 0 | Unknown symbol | 
| 1 | Duplicate MDReqID | 
| 2 | Insufficient bandwidth | 
| 3 | Insufficient permission | 
| 4 | Invalid SubscriptionRequestType <263> | 
| 5 | Invalid MarketDepth <264> | 
| 6 | Unsupported MDUpdateType <267> | 
| 7 | Other | 
| 8 | Unsupported MDEntryType <269> | 
MarketDataSnapshotFullRefresh (W)
Sent by the server to view a new stream of market data information| Tag | Req | Name | Description | 
|---|---|---|---|
| 262 | Y | MDReqID | Client unique identifier for market data request | 
| 55 | Y | Symbol | The trading pair from MarketDataRequest | 
| 268 | Y | NoMDEntries | Number of market data updates in snapshot | 
| 911 | Y | TotNumReports | Total number of reports being sent in response to a single request | 
| 963 | Y | ReportID | Unique identifier of the report itself | 
| ↳269 | Y | MDEntryType | 0= Bid1= Offer2= Trade4= Open5= Close7= High8= LowB= Volume | 
| ↳278 | Y | MDEntryID | Unique identifier for this market data entry | 
| ↳83 | Y | RptSeq | Public sequence number for each entry in the snapshot by symbol | 
| ↳270 | N | MDEntryPx | Price of the market data entry (Not present if MDEntryType = B) | 
| ↳271 | N | MDEntrySize | Volume represented by the market data entry (Not present if MDEntryType = 4,5,7, or8) | 
| ↳272 | Y | MDEntryDate | Date of the market data entry | 
| ↳2446 | N | AggressorSide | If MDEntryType = 2(Trade), the side of the order:1= Buy2= Sell | 
| ↳273 | Y | MDEntryTime | Time of the market data entry | 
| ↳453 | N | NoPartyIDs | Only present if MdEntryType = 2(Trade). Will always be1 | 
| ↳↳448 | N | PartyID | Market Identifier Code (MIC) for Venue | 
| ↳↳447 | N | PartyIDSource | Will always be G, Market Identifier Code (MIC) | 
| ↳↳452 | N | PartyRole | Will always be 73, Execution Venue | 
MarketDataIncrementalRefresh (X)
Sent by the server to view updates to an existing stream| Tag | Req | Name | Description | 
|---|---|---|---|
| 262 | Y | MDReqID | Client unique identifier for market data request | 
| 55 | Y | Symbol | The trading pair from MarketDataRequest | 
| 268 | Y | NoMDEntries | Number of market data updates in snapshot | 
| ↳279 | Y | MDUpdateAction | Type of entry update: 0= NEW1= CHANGE2= DELETE | 
| ↳269 | Y | MDEntryType | 0= Bid1= Offer2= Trade4= Open5= Close7= High8= LowB= Volume | 
| ↳278 | Y | MDEntryID | Unique identifier for this market data entry | 
| ↳83 | Y | RptSeq | Public sequence number for each entry in the snapshot by symbol | 
| ↳270 | N | MDEntryPx | Price of the market data entry (Not present if MDEntryType = B) | 
| ↳271 | N | MDEntrySize | Volume represented by the market data entry (Not present if MDEntryType = 4,5,7, or8) | 
| ↳272 | Y | MDEntryDate | Date of the market data entry | 
| ↳2446 | N | AggressorSide | If MDEntryType = 2(Trade), the side of the order:1=Buy2=Sell | 
| ↳273 | Y | MDEntryTime | Time of the market data entry | 
| ↳453 | N | NoPartyIDs | Only present if MdEntryType = 2(Trade). Will always be1 | 
| ↳↳448 | N | PartyID | Market Identifier Code (MIC) for Venue | 
| ↳↳447 | N | PartyIDSource | Will always be G, Market Identifier Code (MIC) | 
| ↳↳452 | N | PartyRole | Will always be 73, Execution Venue | 
SecurityStatus (f)
Sent by the server once when an existing stream fails, and once when it reconnects| Tag | Req | Name | Description | 
|---|---|---|---|
| 55 | Y | Symbol | Symbol | 
| 326 | Y | SecurityTradingStatus | 3=Resume999=Market data feed temporarily unavailable | 
| 58 | Y | Text | Market data feed temporarily unavailable for MDReqID MDReqIDfor stream type:bid/offertradeOHLCV | 
Settlement Currency
Updating: This will be live in September 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.