Skip to main content

TradFi Integration

info
  • The Bybit-native Spot, Futures, and Options products covered in this guide support trading via the V5 API.
  • TradFi CFD products use MetaTrader 5 (MT5) and are not supported by the V5 API.

This guide covers trading products linked to traditional assets, including stock and ETF perpetuals, commodity and forex perpetuals, tokenized stocks, tokenized gold, and options. It maps their Web UI entries under TradFi and Trade to the V5 APIs used to query specifications and trade supported products.

Web UI Entries and API Support​

TradFi (Futures, Options & CFD)​

Open TradFi in the Web navigation menu to access the following derivatives products:

Web UI entryProductsAPI integration
TradFi → FuturesUSDT-settled perpetual contracts, including stocks, ETFs, commodities, and forexBybit-native; V5 category=linear
TradFi → OptionsUSDT-settled options, including stock underlyings such as SPCX and NVDABybit-native; V5 category=option
TradFi → CFDMT5 CFDs, with groups such as metals, stocks, indices, forex, and commoditiesMT5; not available through the V5 API

TradFi menu with Futures highlighted and the perpetual contract list displayed

TradFi perpetuals use V5 category=linear, and options use category=option. Use the API parameters described below to discover the corresponding instruments; menu labels are not necessarily API enum values. All, Trending, and New are Web UI filters without dedicated symbolType values.

Trade (Spot, Futures & Options)​

All products listed in this section are Bybit-native and support trading through the existing V5 Trade API. Use category=spot for spot pairs, category=linear for the perpetual contracts listed below, and category=option for options.

  • Trade → Spot → xStocks: Tokenized stocks, such as TSLAX, AAPLX, and GOOGLX.
  • Trade → Spot → RWA: Includes tokenized gold (XAUT/USDT), alongside xStocks and other RWA-related assets.
  • Trade → Futures → USDT → RWA: Includes USDT-settled perpetuals on tokenized gold, such as XAUTUSDT and PAXGUSDT. These use V5 category=linear.
  • Trade → Options: Includes USDT-settled options on tokenized gold (XAUT). These use V5 category=option; query their specifications with baseCoin=XAUT.

After signing in, select xStocks under Trade → Spot to view tokenized-stock pairs, including AAPLX/USDT, NVDAX/USDT, and SPCXX/USDT:

Trade Spot menu with Spot and the xStocks category highlighted, showing tokenized-stock pairs

xStocks use V5 category=spot and symbolType=xstocks. Query XAUT spot with category=spot and symbol=XAUTUSDT.

The Spot and Futures RWA menus are theme filters, with no corresponding symbolType=RWA value. These lists also contain other RWA-related crypto assets.

Discover TradFi Instruments via API​

TradFi Futures: Filter by symbolType​

Use Get Instruments Info with category=linear and a symbolType value to retrieve perpetual contract specifications.

GET/v5/market/instruments-info
Futures groupcategorysymbolTypeExample symbols
StockslinearstockTSLAUSDT, NVDAUSDT
ETFlinearETFQQQUSDT, SPYUSDT
CommoditieslinearcommodityXAUUSDT, XAGUSDT, CLUSDT, BZUSDT
Pre-IPOlinearstock (also pass status=PreLaunch)OPENAIUSDT, ANTHROPICUSDT, MOONSHOTUSDT
FXlinearforexEURUSDUSDT, GBPUSDUSDT, USDJPYUSDT

Pass one symbolType per request, using the enum's exact spelling (ETF is uppercase). These products return the standard linear contract fields, including contractType, leverageFilter, priceFilter, lotSizeFilter, and fundingInterval. Use fullName, marketRegion, and underlyingTicker, where available, to identify the underlying asset.

Example requests:

GET /v5/market/instruments-info?category=linear&symbolType=stock&limit=1000
GET /v5/market/instruments-info?category=linear&symbolType=ETF&limit=1000
GET /v5/market/instruments-info?category=linear&symbolType=commodity&limit=1000
GET /v5/market/instruments-info?category=linear&symbolType=stock&status=PreLaunch&limit=1000
GET /v5/market/instruments-info?category=linear&symbolType=forex&limit=1000

If nextPageCursor is non-empty, pass it as cursor in the next request to retrieve the remaining instruments.

Pre-IPO

To query pre-market stock contracts shown under Pre-IPO, use category=linear, symbolType=stock, and status=PreLaunch. Default list queries omit PreLaunch contracts.

Check isPreListing and preListingInfo.curAuctionPhase for the trading state. A contract with status=PreLaunch can already be in ContinuousTrading.

TradFi menu with Futures and the Pre-IPO filter highlighted, showing the pre-IPO contract list

Options: Discover Base Coins, Then Query Contracts​

For stock options under TradFi → Options, first use Get Option Base Coins to discover underlyings. Its underlyingType parameter classifies the underlying asset; 2 selects stocks.

GET/v5/market/option-base-coins
GET /v5/market/option-base-coins?underlyingType=2

Check hasSymbol=1 for base coins with tradable option contracts, such as SPCX and NVDA. Then call Get Instruments Info with category=option and the returned baseCoin:

GET /v5/market/instruments-info?category=option&baseCoin=SPCX&limit=1000
GET /v5/market/instruments-info?category=option&baseCoin=NVDA&limit=1000

For tokenized-gold options under Trade → Options, use baseCoin=XAUT with the same category=option:

GET /v5/market/instruments-info?category=option&baseCoin=XAUT&limit=1000

Use the returned symbol to identify each expiry, strike, and call/put contract. Option specifications include optionsType, deliveryTime, quoteCoin, settleCoin, priceFilter, and lotSizeFilter. Follow nextPageCursor when present.

The symbolType filter does not apply to category=option. underlyingType belongs to the Get Option Base Coins endpoint; use baseCoin to filter contracts in Get Instruments Info.

For tokenized-stock pairs such as NVDAXUSDT and AAPLXUSDT, use category=spot and symbolType=xstocks in API queries:

GET /v5/market/instruments-info?category=spot&symbolType=xstocks

Use the returned symbol and spot trading rules; xStocks and stock perpetuals have separate instrument specifications. See Get Instruments Info for details.

Tokenized Gold: XAUT Spot​

For XAUT/USDT under Trade → Spot → RWA, query its spot specifications by symbol:

GET /v5/market/instruments-info?category=spot&symbol=XAUTUSDT

XAUT spot returns an empty symbolType and is not included in the symbolType=xstocks filter. Use the returned spot trading rules. The same XAUTUSDT symbol also identifies a perpetual contract under category=linear, so always specify the appropriate category.

Tokenized Gold: Perpetual and Expiry Contracts​

For the USDT perpetuals under Trade → Futures → USDT → RWA, use category=linear and the full symbol:

GET /v5/market/instruments-info?category=linear&symbol=XAUTUSDT
GET /v5/market/instruments-info?category=linear&symbol=PAXGUSDT

These contracts return contractType=LinearPerpetual and an empty symbolType. They are not included in symbolType=commodity queries. XAUUSDT under TradFi → Futures is a separate commodity perpetual.

To discover other contracts on the same tokenized-gold underlyings, query by baseCoin:

GET /v5/market/instruments-info?category=linear&baseCoin=XAUT&limit=1000
GET /v5/market/instruments-info?category=linear&baseCoin=PAXG&limit=1000

The results include USDC-settled perpetuals (XAUTPERP, PAXGPERP) and XAUT expiry contracts. Check contractType (LinearPerpetual or LinearFutures), quoteCoin, settleCoin, and deliveryTime to identify each contract. Use the returned symbol, and follow nextPageCursor when present.

CFD: MT5 Products​

The TradFi → CFD groups, including Stocks, Indices, Forex, Metals, and Commodities, belong to MT5. They are not V5 symbolType values, and their CFD instruments cannot be queried or traded through the V5 endpoints in this guide. For example, the CFD symbol XAUUSD.s shown in the screenshot and the V5 perpetual symbol XAUUSDT identify different products.

Before trading traditional asset perpetuals, please review the applicable terms and conditions:

Sign Agreement by Main Account​

To trade commodity contracts (metals and crude oil) or stock perpetuals, users must first sign the trading agreement. Stock perpetuals share the same agreement as metals. This can be done in two ways:

Option 1: Via Web UI​

When attempting to trade for the first time, a Trading Terms pop-up will appear. Check the checkbox and click Confirm to accept.

info

Only the master account can sign the agreement via Web UI. Please ensure you are logged in with the master account.

Trading Terms Agreement Pop-up

Option 2: Via API​

Use the Sign Agreement endpoint to sign programmatically.

info
  • Only the master account can sign the agreement. Subaccounts are not supported for this action.
  • Once the master account has signed, all subaccounts will be eligible to trade.
  • The API key must have at least one of the following permissions: Account Transfer, Subaccount Transfer, or Withdrawal.

HTTP Request​

POST/v5/user/agreement

Request Parameters​

ParameterRequiredTypeComments
categoryfalseinteger2: Metals commodity contracts (XAU & XAG). Stock perps share this agreement
3: Crude oil commodity contract
Either category or categoryV2 is required. This field remains supported, but new enum values will no longer be added here — use categoryV2 instead.
categoryV2falseinteger1: Metals commodity contracts (XAU & XAG). Stock perps share this agreement
2: Crude oil commodity contract
Either category or categoryV2 is required. Recommend using this field; new enum values will be added here going forward.
agreetruebooleantrue

Response Parameters​

None

Request Example​

The following examples sign the metals agreement (categoryV2=1), which is also used for stock perpetuals.

POST /v5/user/agreement HTTP/1.1
Host: api-testnet.bybit.com
X-BAPI-SIGN: XXXXXX
X-BAPI-API-KEY: XXXXXX
X-BAPI-TIMESTAMP: 1772695036541
X-BAPI-RECV-WINDOW: 5000
Content-Type: application/json

{
"agree": true,
"categoryV2": 1
}

Response Example​

{
"retCode": 0,
"retMsg": "success",
"result": {},
"retExtInfo": {},
"time": 1772695037330
}

Trade via Existing API​

The spot, perpetual, expiry, and option products described above use the standard V5 Trade endpoints. Complete the applicable trading agreements before placing orders; the agreement flow above covers the specified perpetual products. Check each endpoint's supported categories and product-specific parameters:

Pass the appropriate category and a symbol returned by Get Instruments Info:

  • Futures: category=linear, with the full perpetual or expiry contract symbol returned by Get Instruments Info, such as TSLAUSDT, QQQUSDT, XAUUSDT, XAUTUSDT, PAXGUSDT, or XAUTPERP.
  • Options: category=option, with the full option contract symbol, including expiry, strike, and call/put. Do not submit only the base coin NVDA, SPCX, or XAUT as the order's symbol.
  • Spot: category=spot, with the tokenized-stock pair, such as NVDAXUSDT or AAPLXUSDT, or the tokenized-gold pair XAUTUSDT.

Index Price Calculation Rule​

TradFi perpetual index prices are calculated from weighted index components. The sources and weights depend on the instrument and market session; components can include price feeds, exchange indices, and futures prices.

  • Market open: the index is updated every second using a weighted average of its components.
  • Market closed: components that stop updating, such as certain equity or commodity feeds from Pyth, may be temporarily excluded to reduce the effect of stale prices.
  • Session transitions: a smoothing mechanism helps maintain index price continuity.

For the methodology and market-session rules, see Introduction to TradFi Perpetual Contracts. For general calculation formulas and price protection mechanisms, see Index Price Calculation. Component and weight changes are published in Index Price Announcements.

To query the current components and weights, use Get Index Price Components:

GET/v5/market/index-price-components
GET /v5/market/index-price-components?indexName=CLUSDT

The response includes each component's source (exchange), reference symbol (spotPair), equivalent price, multiplier, and weight. The field name spotPair can also identify a futures reference or price feed.

Index Price Rollover Mechanism​

For commodity perpetuals whose index references dated futures contracts, such as CLUSDT, the reference must roll to a later-dated contract as the earlier contract approaches expiry. The index reference changes; the Bybit perpetual contract itself does not expire as part of this rollover.

A gradual rollover shifts weight from the front-month contract to the next-month contract over several days. The following five-day allocation is an illustrative example; the actual dates and weights depend on the applicable rollover schedule:

DayFront-Month WeightNext-Month Weight
Day 180%20%
Day 260%40%
Day 340%60%
Day 420%80%
Day 50%100% (Rollover Completed)

The screenshot below illustrates CLUSDT index components during a rollover. It is a historical example; query Get Index Price Components for the current reference contracts and weights.

Historical CLUSDT index components during a rollover

For Pyth components, use the returned reference symbol to locate the feed in Pyth Data Explorer. Refer to the applicable Index Price Announcements for index changes and schedules. Market-closure handling follows the index rules above.

Stock Split & Reverse Split FAQ​

For full details, refer to the Help Center: Stock Splits and Reverse Stock Splits for TradFi Perpetual Contracts.

Q1: What will be the status of the contract in the instrumentInfo while it is undergoing the adjustment?

The contract status remains "Trading" in Get Instruments Info during the adjustment window. Trading is nevertheless suspended during the adjustment; use the announced suspension and resumption times, rather than this field alone, to determine availability.

Q2: What happens to the price feed during the adjustment window?

  • Bybit will stop sending prices during the adjustment window.
  • The last price is not continued — there are no market data updates during this window.

Q3: Will Bybit provide pre-adjustment historical prices after the adjustment window is completed, or does it remove them?

Historical K-line prices will be adjusted accordingly to reflect the split ratio. Personal trading history (your own order and execution records) will not be changed.