New API method: public/get_index_chart_data is now publicly accessible.
⚠️ New order book lifecycle - BREAKING CHANGEAs part of the Instrument Order Book lifecycle enhancement, the
state field in the following methods and channels has been updated:Affected methods:- /public/get_instrument
- /public/get_instruments
- /public/get_order_book
- /public/get_order_book_by_instrument_id
- /public/ticker
- incremental_ticker.{instrument_name}
- instrument.state.{kind}.{currency}
- ticker.{instrument_name}.{interval}
pre_aggregated_risk_vectors which contain aggregated_risk_vectors before applying pnl_offset and extended_dampener paramsmax_quote_quantity is now required in /private/set_mmp_configThe precision of MMP configuration limits is restricted to a maximum of four decimal places.New fields were added to the responses of private/get_account_summary and private/get_account_summaries:affiliate_promotion_fee(if greater than 0.0)trading_products_details(which trading products are enabled or can be overwritten for the account)receive_notifications
fees field structure in private/get_account_summary and private/get_account_summaries has been updated. It is now list of fee objects for all currency pairs and instrument types related to the currency. This field is visible when parameter extended = true and user has any discountsBreaking ChangesRemoved deprecated method public/get_index. Users are advised to use /public/get_index_price instead.Non-Breaking ChangesAdded max_quote_quantity parameter to private/set_mmp_config (when
block_rfq: false).Limited precision of Quantity Limit, Delta Limit and Vega Limit to 4 decimals.The following API updates will be included in this release:Breaking Changes:
fee_precisionfield has been removed from the public/get_currencies method
The following API updates will be included in this release:Non-Breaking Changes:USDC rewards in APIAdded USDC APR data to public/get_currencies and public/get_apr_history.Check reward eligibilityIntroduced new method private/get_reward_eligibility returning reward eligibility status and 7-day SMA APR per currency.
The following API updates will be included in this release:Breaking ChangesRestriction on Viewing API Key SecretsAPI keys with the
account:read scope can no longer view secrets of other API keys, even if those keys share the same scope.Only API keys with the account:read_write scope are now permitted to view API key secrets.Non-Breaking ChangesInformation regarding all allowed linear option combosThe public/get_index_price_names method now provides information regarding the potential creation of future/option combinations for the specified index.Block Trade expiration is returned in the APIAdded expires_at to private/verify_block_trade response.The following API updates will be included in this release:Non-Breaking ChangesThe
currency parameter is now optional for the private/get_block_trades method. If the method is called without specifying a currency, it will return block trades for all available currencies.The following API updates will be included in this release:Breaking ChangesDeprecated the Fee discounts are now returned per currency pair in the responses of private/get_account_summary and private/get_account_summaries.Rate limiting for public/get_instruments on websocket API has been updated: 1 request per 10 seconds, with a burst of 5.Added a new field
max_show parameter and introduced display_amount to define the visible portion of an iceberg order.The private/buy, private/sell, and private/edit API methods now support the optional display_amount parameter.Order responses and events for iceberg orders now include display_amount (current visible portion) and refresh_amount (initially requested display amount).refresh_amount remains constant throughout the order’s lifecycle. It represents the intended size of each iceberg “tip” as it gets replenished. The actual display_amount can be **lower than **refresh_amount when the order is partially or nearly fully filled.For example, if the total order amount is 10,000, refresh_amount is 1,000, and 9,500 has already been filled, the current display_amount would be 500 — the remaining visible portion.beneficiary_vasp_website to private/add_to_address_book, private/update_in_address_book, and private/get_address_book. This field is mandatory if the address belongs to a VASP not listed among known VASPs.Non-Breaking ChangesAdded a new extra_currencies parameter to the private/add_to_address_book method, allowing a list of valid ERC20 currencies. The extra_currencies parameter can only be used when currency is set to an ERC20 and type is set to withdrawal.Introduced a new event channel: block_trade_confirmations.{currency}, which functions like block_trade_confirmations but supports filtering by currency for more efficient data handling.FIXBreaking changesAs part of the iceberg order feature rollout, the FIX API now uses DisplayQty(1138) tag instead of MaxShow(210). Additionally the RefreshQty(1088) tag has been added as a non-mandatory field in Execution Reports (8). This optional tag defines the quantity used to refresh DisplayQty.The following API updates will be included in this release:Breaking ChangesThe public/exchange_token method now supports an optional
scope parameter. This allows overriding the token scope when creating a new session for a subaccount. Scopes cannot be elevated beyond the caller’s permissions. If no session scope is provided to public/exchange_token then the provided refresh_token (and corresponding access_token) will be invalidated.The methods private/get_portfolio_margins and public/get_portfolio_margins have now been fully removed from the API, following a period of deprecation.Non-Breaking ChangesWe have introduced a new public/get_apr_history method. This method retrieves historical APR data for specified currency. This applies to yield-generating tokens, currently including USDE and STETH.The apr field has been added to the /public/get_currencies result. It represents the Simple Moving Average (SMA) of the last 7 days of rewards. If there are fewer than 7 days of reward data, the APR is calculated as the average of the available rewards. This applies to yield-generating tokens, currently including USDE and STETHThe following API updates will be included in this release:
- An
ipfield has been added to trade type transaction logs inprivate/get_transaction_log. - Added
priceparameter to/private/add_block_rfq_quoteand/private/edit_block_rfq_quote. This parameter can be used as aggregated price for quoting future spreads. - Added new endpoint /private/get_mmp_status to retrieve MMP status for a triggered index or MMP group.
The following API updates will be included in this release:
- The
public/get_expirationsendpoint now supports filtering by currency pair using the newcurrency_pairparameter. - The main account can now use the
subaccount_idparameter inprivate/get_transaction_logto retrieve the transaction log for a specific subaccount
The following methods can be used to manage the withdrawal process:
The following API updates have been added recently and are already available for use:
- A new transaction type,
options_settlement_summary, has been added to/private/get_transaction_log. This provides realized and unrealized profit and loss for an account’s option positions. - Deposit originator information can now be submitted using
/private/set_clearance_originator(docs).
There are no API changes.
A new method public/get_expirations has been added. It returns a map of all expiration strings for the given currency and instrument kind.We added validation to check the tick size of secondary OTO, OCO, and OTOCO orders when they are placed, in addition to the existing validation when they are triggered. Affected methods:
private/buyprivate/sell
private/add_to_address_book and private/update_in_address_book: when executed for one of the ETH/ERC20 supported currencies, we will automatically add or update the address for all other ETH/ERC20 supported currencies.Allow main account to read the account summary, trades and positions of a subaccount. To do this use the
subaccount_id parameter. Supported methods:/api/v2/private/get_account_summary/api/v2/private/get_user_trades_by_currency/api/v2/private/get_positions
/public/get_order_book, get_order_book_by_instrument_id:Random numbers for the depth parameter are no longer permitted. Supported depth levels are [1, 5, 10, 20, 50, 100, 1000, 10000]. If the depth parameter is not one of the supported levels it will be rounded up to the closest supported level, with a maximum value of 10,000.private/toggle_portfolio_margining:The user_id parameter is now optional (by default the authenticated user will be used). The method is also available for subaccounts. This means that as of now users that only have access to one of the sub-accounts can also switch margin settings from standard to portfolio margining (and vice versa).For API v2 a
price_change response/notification parameter has been introduced, it reflects 24-hour asset price change.API v2 request of private/get_account_summary has been extended with a field of ‘creation_timestamp’.When the “tail” switch is on, the API console will automatically select the newest notification response.