Different Account Modes
There are currently three account modes existing on the Bybit platform, namely classic account, unified account 1.0, and unified account 2.0.
UTA 2.0
This account mode is the ultimate version of the unified account, integrating inverse contracts, USDT perpetual, USDC perpetual, USDC Futures, spot and options into a unified trading system. In cross margin and portifolio margin modes, margin is shared among all trades.
UTA 1.0
Under this account mode, inverse contract transactions are in a separate trading account, and the corresponding margin currency needs to be deposited into the "inverse derivatives account" before trading, and the margins are not shared between each other. For USDT perpetual, USDC perpetual, USDC Futures, spot and options are all traded within the "unified trading"
Classic Account
Under this account mode, contract transactions and spot transactions are separated. Inverse contracts and USDT perpetual transactions are completed in the "derivatives account", and spot transactions are completed in the "spot account"
Determine account mode through API
Use the key of the corresponding account to call Get Account Info, look at the field unifiedMarginStatus
1
: classic account3
: uta1.04
: uta1.0 (pro version)5
: uta2.06
: uta2.0 (pro version)
P.S. uta or uta (pro), they are the same thing, but pro has a slight performance advantage when trading via API
API usage changes for UTA 2.0
API category | API | uta2.0 | uta1.0 |
---|---|---|---|
category=inverse | category=inverse | ||
Market | Get Instruments Info | "unifiedMarginTrade" is true after UTA2.0 is implemented | "unifiedMarginTrade" is false |
Trade | Place Order | Inverse Futures no longer support hedge mode, so "positionIdx" is always 0 | Inverse Futures support hedge mode, so "positionIdx" can be 0 , 1 , 2 |
Get Open & Closed Orders | To query the final status orders, use openOnly =1, and only retain the latest 500 orders. | To query the final status orders, use openOnly =2 | |
Get Order History | 1. orderStatus is not passed, and all final orders are queried by default2. Parameters baseCoin and settleCoin are supported3. Active order query is not supported, and some final orders are limited to query 4. Cancelled orders save up to 24 hours 5. Only orders generated after the upgrade can be queried | 1. orderStatus is not passed, and the default query is active and final orders2. The parameters baseCoin and settleCoin are not supported3. Active orders and various final orders are always supported 4. No such restriction | |
Get Trade History | 1. Supports baseCoin query; 2. The returned createType has a value 3. Only transactions generated after the upgrade can be queried | 1. baseCoin query is not supported;2. The returned createType is always empty string "" | |
Batch Place Order | Support inverse contract | Not support inverse contract | |
Batch Amend Order | Support inverse contract | Not support inverse contract | |
Batch Cancel Order | Support inverse contract | Not support inverse contract | |
Set Disconnect Cancel All | Support inverse contract, inverse trading orders will be cancelled when dcp is triggered | Not support inverse contract, inverse trading orders will not be cancelled when dcp is triggered | |
Pre-upgrade | Get Pre-upgrade Order History | Supports querying orders generated when it is a classic account or unified account 1.0 | - |
Get Pre-upgrade Trade History | Supports querying transactions generated when it is a classic account or unified account 1.0 | - | |
Get Pre-upgrade Closed PnL | Supports querying close pnl generated when it is a classic account or unified account 1.0 | - | |
Position | Get Position Info | 1. Passing multiple symbols is not supported 2. In the response, there are changes in the meaning or use of "tradeMode", "liqPrice", "bustPrice" fields | 1. Supports passing multiple symbols |
Get Closed PnL | Only the close pnl generated after the upgrade can be queried. | - | |
Set Leverage | Inverse perpetual and inverse Futures only support one-way position mode, and the leverage of buy and sell must be equal | Inverse Futures support hedge-mode positions, and the leverage of buy and sell can be unequal | |
Switch Cross/Isolated Margin | The margin mode has become the account dimension, and this interface is no longer applicable | Inverse contracts support the use of this interface | |
Switch Position Mode | Inverse Futures no longer supports hedge-mode positions | Inverse Futures supports hedge-mode positions | |
Account | Get Wallet Balance | Not support accountType=CONTRACT | Support accountType=CONTRACT |
Get Transaction Log (UTA) | Transaction logs for inverse contracts will be included | The transaction log of the inverse contract needs to go through the interface below | |
Get Transaction Log(Classic) | After upgrading to 2.0, this interface is no longer applicable. | Data from uta 1.0 or classic account can still be obtained | |
Asset | Get Delivery Record | Support inverse futures delivery records | Not support inverse futures delivery records |
All interfaces involving accountType in this directory | CONTRACT is no longer supported because "inverse derivatives account" does not exist anymore | Support CONTRACT (inverse derivatives account) | |
WebSocket Stream/Trade | Websocket Trade Guideline | Support inverse contract | Not support inverse contract |