I start with the instrument ID. BTC-USD-YYMMDD has a delivery date; BTC-USD-SWAP does not expire, but an open position may pay or receive funding. Both contracts have a 100 USD face value and settle PnL in BTC. What I really compare is the cost of rolling a dated contract against the funding that can build up on a perpetual. The displayed 20× and 100× figures are only the current first-tier limits.
OKX public API · live check
BTC coin-margined contract sheet
I put the two contracts people most often mix up side by side. When the page opens, it checks the front expiry, perpetual price and funding rate against OKX public endpoints.
Coin-margined expiry futures
- Current instrument
- BTC-USD-YYMMDD
- Face value
- 100 USD
- Tier-one max leverage
- 20×
- Expiry / delivery
- Friday 08:00 UTC
Coin-margined perpetual
- Current instrument
- BTC-USD-SWAP
- Last price
- —
- Tier-one max leverage
- 100×
- Current funding rate
- —
- Next funding
- —
Expiry-futures timeline
- NowChoose a dated instrument
- Daily at 08:00 UTCCross-margin PnL is settled; OKX says this daily settlement has no fee
- Expiry Friday at 08:00 UTCOpen positions are delivered at the settlement price; the contract is then delisted
Perpetual timeline
- Position remains openPrice tracks the spot index
- 00:00 / 08:00 / 16:00 UTCEvery eight hours by default; the interval can move to 4/2/1 hours in extreme conditions
- No fixed endpointThe position can remain open while margin is sufficient
Three costs, three different payment paths
Maker or taker fee paid to the venue and calculated on position value.
Trader → OKXTransferred between long and short holders; OKX does not retain it as a service fee.
Longs ⇄ ShortsThe current rule says no fee; final delivery fees remain account-specific.
Settlement fee = 0Start here: which OKX BTC contract am I looking at?
When I first open the OKX futures list, the product names look more similar than they really are. I use the instrument ID and the expiry behavior to separate them before I look at price or leverage.
| What I check | Dated BTC expiry future | Coin-margined BTC perpetual |
|---|---|---|
| Instrument ID | BTC-USD-YYMMDD | BTC-USD-SWAP |
| How long it lasts | Ends on the date in the code | Has no fixed expiry |
| What keeps it tied to spot | It converges into final delivery | Periodic funding encourages convergence |
| Costs I watch | Trading fees, basis, roll cost and any final delivery fee | Trading fees and cumulative funding |
| When I would examine it first | I have a hedge date or want to avoid recurring funding | I want continuous exposure without rolling a dated contract |
One naming detail can still trip me up: OKX help pages may say BTCUSD-PERP, while the V5 API uses BTC-USD-SWAP. I use the API instId when checking a market or preparing an order. If I want USDT margin instead of BTC margin, I need BTC-USDT-SWAP, which is a different contract.
If I choose a dated BTC contract, what am I buying?
The current BTC-USD expiry family is an inverse, BTC-settled contract. “Inverse” is the part I always check first: the quote and face value are in USD, but the position value, PnL and trading fee land in BTC.
| Specification | Current rule | What it means to me |
|---|---|---|
| Instrument pattern | BTC-USD-YYMMDD | The final six digits are the expiry date, not a separate asset pair |
| Underlying | BTC/USD index | The index, not a single exchange’s last trade, anchors delivery |
| Settlement / delivery currency | BTC | I need BTC collateral and receive BTC-denominated PnL |
| Face value | 100 USD per contract | 100 contracts represent 10,000 USD of face value |
| Contract multiplier | 1 | No hidden multiplier in the standard formula |
| Tick size | 0.1 USD | Price moves in 10-cent increments |
| Lot and minimum size | 0.1 contract | The public API currently permits 10 USD of face value per size step |
| First-tier maximum leverage | 20× | Larger positions enter lower-leverage risk tiers |
| Contract families | Weekly, monthly, quarterly | I must select a dated instrument; there is no automatic perpetual roll |
| Delivery time | Friday, 08:00 UTC | The specific Friday depends on the instrument ID |
Why can my BTC balance change before the contract expires?
I separate these two events because the word “settlement” is used for both:
| Event | When | What changes | Is the position closed? |
|---|---|---|---|
| Daily settlement | 08:00 UTC; cross-margin positions only | Settled PnL moves into the balance and the entry price resets to the settlement price | No; position size stays unchanged |
| Final delivery | 08:00 UTC on the delivery Friday | Pending orders are cancelled; remaining positions are settled at the delivery price | Yes; the dated contract is delisted |
OKX states that daily settlement uses the average mark price during the preceding 30 minutes and does not charge a settlement fee. It does not run on the first listing day or the final delivery date.
For final delivery, the current product guide says the delivery price is the BTC/USD index sampled during the final hour. A separate current settlement-rules article still describes a 30-minute window sampled every 200 ms. Because those official descriptions are not perfectly aligned, I would not hard-code the sampling window in an automated strategy; I would verify the instrument-information page and current rule immediately before expiry. Both sources agree on the practical outcome: open positions close at the settlement price and the dated contract disappears.
Which fees can actually reduce my BTC balance?
The useful answer is: daily settlement fee, no; trading fees, yes; final delivery fee, account-specific.
| Charge | Applies to expiry futures? | Who receives it? | How I verify it |
|---|---|---|---|
| Maker/taker trading fee | Yes, when an order fills | OKX | My account fee tier or authenticated trade-fee API |
| Daily settlement fee | No under the current daily-settlement rule | Nobody | Official daily-settlement help page |
| Final delivery fee | May apply according to the account’s delivery rate | OKX | GET /api/v5/account/trade-fee?instType=FUTURES&instFamily=BTC-USD while authenticated |
| Funding fee | No | Not applicable | Expiry futures do not use recurring funding |
I would not publish one “universal delivery fee” percentage. OKX exposes a delivery field because the rate can depend on the account, entity and current fee schedule. The safer formula is:
Inverse final delivery fee = face value × contracts ÷ delivery price × my delivery-fee rate
The same account-specific principle applies to maker and taker rates. OKX’s public fee example uses 0.02% maker and 0.05% taker for a regular tier, but the number displayed in my own account is the one I would put into a cost calculation.
If I choose the perpetual, what changes?
For coin margin, the operational instrument is BTC-USD-SWAP. It keeps the inverse 100 USD face value and settles in BTC, but it removes the expiry date and adds periodic funding.
| Specification | BTC-USD-SWAP | Why it matters |
|---|---|---|
| Contract type | Inverse perpetual | No fixed delivery date |
| Settlement currency | BTC | Fees, funding and PnL affect the BTC balance |
| Face value | 100 USD per contract | Same face value as coin-margined expiry futures |
| Contract multiplier | 1 | Standard inverse formula applies |
| Tick size | 0.1 USD | Same quoted price increment as the expiry family |
| Lot and minimum size | 0.1 contract | Current public instrument setting |
| First-tier maximum leverage | 100× | Falls as position size enters higher tiers |
| Trading hours | 24/7 | Funding events do not pause trading |
| Default funding times | 00:00, 08:00, 16:00 UTC | Only open positions at assessment pay or receive funding |
BTC-USD-SWAP. Screenshot captured August 24, 2026. Open the official guide ↗Does “100×” mean I can always use 100× leverage?
“Up to 100×” is only the first line of the answer. The public position-tier endpoint currently starts like this:
| BTC-USD-SWAP position tier | Position size in contracts | Maximum leverage | Initial margin ratio | Maintenance margin ratio |
|---|---|---|---|---|
| Tier 1 | 0–2,000 | 100× | 1.00% | 0.40% |
| Tier 2 | 2,000.1–5,000 | 66.66× | 1.50% | 0.50% |
| Tier 3 | 5,000.1–20,000 | 50× | 2.00% | 0.75% |
| Tier 4 | 20,000.1–40,000 | 40× | 2.50% | 1.25% |
| Tier 5 | 40,000.1–60,000 | 33.33× | 3.00% | 1.75% |
This is why I never multiply account equity by 100 and call that the executable position. Position size changes the tier; open orders, margin mode, existing exposure and regional eligibility can reduce the available leverage further. High leverage also narrows the distance between entry and forced reduction or liquidation.
How do I calculate trading fees and funding in BTC?
For the inverse BTC perpetual, all three formulas start from BTC position value:
Position value in BTC = 100 USD × number of contracts ÷ mark price
Trading fee in BTC = filled position value × maker or taker rate
Funding fee in BTC = position value × current funding rate
When the funding rate is positive, longs pay shorts. When it is negative, shorts pay longs. OKX facilitates that transfer and says it does not retain funding as a platform service fee. The default interval is eight hours, but OKX can shorten it to four, two or one hour when the rate reaches its cap or floor.
What would 100 contracts cost at an $80,000 mark price?
I use an assumed price and rate here so the arithmetic is copyable; these are not live quotes.
| Calculation | Formula | Result |
|---|---|---|
| Face value | 100 contracts × 100 USD | 10,000 USD |
| BTC position value | 10,000 ÷ 80,000 | 0.125 BTC |
| Maker fee at 0.02% | 0.125 × 0.0002 | 0.000025 BTC |
| Taker fee at 0.05% | 0.125 × 0.0005 | 0.0000625 BTC |
| One positive funding payment at 0.01% | 0.125 × 0.0001 | 0.0000125 BTC paid by the long |
Leverage changes the margin posted, not the position value used for these fee calculations. At 20×, the rough initial margin for 0.125 BTC of exposure is 0.00625 BTC before maintenance margin, fees and buffers. At 100× it is roughly 0.00125 BTC, but a much smaller adverse move can consume that margin.
Which contract would I choose?
| If I care most about… | I would examine first | Main cost to watch |
|---|---|---|
| A fixed hedge date | Dated BTC-USD expiry future | Entry/exit fee, basis and any final delivery fee |
| Avoiding recurring funding | Dated BTC-USD expiry future | Contract roll and delivery mechanics |
| Continuous exposure without rolling | BTC-USD-SWAP | Trading fee plus cumulative funding |
| Keeping PnL in BTC | Either coin-margined product | BTC collateral volatility and inverse PnL behavior |
| Simple USDT accounting | Neither of the above | Compare BTC-USDT-SWAP instead |
I would decide the margin currency first, then the expiry behavior, and only then compare leverage. Choosing a contract because it advertises the largest leverage reverses that order and hides the cost that actually compounds: funding, rolls, fees and liquidation risk.
What do I check before I place an order?
My five-minute checklist is short:
- Copy the exact
instId; do not treatBTC-USD-SWAPandBTC-USDT-SWAPas interchangeable. - Read
ctType,ctVal,ctValCcy,settleCcy,tickSz,lotSz,minSz,leverandexpTimefrom the public instruments endpoint. - Read the current position tier before using the headline leverage.
- For perpetuals, check current rate, cap, floor and
nextFundingTime; do not annualize one rate as if it were guaranteed. - Check the account’s maker, taker and delivery rates inside OKX. Public examples are not an invoice for my account.
Product access and maximum leverage can vary by jurisdiction and account mode. This page explains contract mechanics; it does not tell anyone to use leverage or open a derivatives position.
Frequently asked questions
How can I tell whether an OKX BTC contract is an expiry future or a perpetual?
Look at the instrument ID. A dated code such as BTC-USD-YYMMDD is an expiry future that closes on its delivery date. BTC-USD-SWAP has no fixed expiry and remains open while margin is sufficient, but it uses periodic funding.
Is daily settlement the same as final delivery?
No. Daily cross-margin settlement moves settled PnL into the balance and resets the entry price without closing the position. Final delivery closes the remaining position when the dated contract expires and may use an account-specific delivery fee.
How large is one coin-margined OKX BTC contract?
Both BTC-USD expiry futures and BTC-USD-SWAP currently have a 100 USD face value per contract. They are inverse and BTC-settled, so position value, PnL and fees are reflected in BTC rather than USDT.
Can I always use 100× leverage on the OKX BTC perpetual?
No. The public first position tier currently shows up to 100× for BTC-USD-SWAP, but larger positions move into lower-leverage tiers. Account mode, margin mode, existing exposure, eligibility and regional access can reduce what is actually available.
How do I estimate a BTC perpetual funding payment?
First convert the inverse contract into BTC position value by multiplying contracts by 100 USD and dividing by the mark price. Then multiply that BTC value by the current funding rate. Positive funding means longs pay shorts; negative funding means shorts pay longs.
Are funding fees the same as OKX trading fees?
No. Maker or taker trading fees apply when an order fills and are paid to the venue. Perpetual funding is exchanged between long and short holders at scheduled timestamps. Expiry futures do not have recurring funding payments.
Is BTC-USD-SWAP the same as BTC-USDT-SWAP?
No. BTC-USD-SWAP is coin-margined and settles in BTC with a 100 USD inverse contract face value. BTC-USDT-SWAP is USDT-margined, settles in USDT and uses a linear 0.01 BTC contract size. The PnL and fee currencies therefore differ.