BYDFi Perpetual Contract Calculator
PNL, liquidation price, target price, max open and average entry, with real BTCUSDT math (10x is not 10% of room)
Key takeaway
BYDFi's futures page has a built-in Perpetual Contract Calculator: the small calculator icon next to "Available" on the order panel, on PC, opens it even before you log in. It has six tabs: PNL, Target Price, Liquidation Price, Max Open, Entry Price and Funding Fee.

The image is two live crops from it on the BTCUSDT Perpetual board (10/6, about 10:27 AM ET) with one ticket typed into both tabs.
The point of this guide: the leverage number on your ticket is not the distance to liquidation, and the "Yield" the tool prints is gross. Mechanics below come from the official BYDFi Help Center pages on the calculator, P&L calculation (USDT-M), liquidation price calculation, funding fees and positions, checked 10/6, plus what the live calculator returned.
1) PNL tab: the gross number
Inputs: Long or Short, leverage, Entry Price, Close Price, Futures Quantity (USDT or coin). Output: Earnings in USDT and Yield (ROE% on margin).
Worked example (left crop): Long BTCUSDT, 10x, Entry 86,000, Close 88,000, Futures Quantity 8,600 USDT.
- Quantity in coin: 8,600 ÷ 86,000 = 0.1 BTC
- Margin: 8,600 ÷ 10 = 860 USDT (the tool shows "Estimated margin required: 860.0000 USDT")
- PNL: 0.1 × (88,000 − 86,000) = 200 USDT
- Yield: 200 ÷ 860 = 23.26%, which the tool prints as +23.25%
Same formula BYDFi uses on the positions page: Position Size = Margin × Leverage ÷ Entry Price, so 860 × 10 ÷ 86,000 = 0.1 BTC.
2) What the PNL tab leaves out
BYDFi's P&L article is explicit: unrealized P&L excludes trading fees and funding fees. Closed P&L includes both:
Closed P&L = Position P&L − Opening Fee − Closing Fee − Total Funding Fee Paid/Received
Worked example, same ticket, using the 0.06% rate from BYDFi's own P&L example (the futures page fee strip also read Maker 0.02% / Taker 0.06% logged out on 10/6; your tier may differ):
- Opening fee: 8,600 × 0.06% = 5.16 USDT
- Closing fee: 0.1 × 88,000 × 0.06% = 5.28 USDT
- Net before funding: 200 − 5.16 − 5.28 = 189.56 USDT, about 22.0% on the 860 margin, not 23.25%
Funding comes on top if you hold through a settlement: Funding Fee = Position Value × Funding Rate, settled every 8 hours at 08:00, 16:00 and 00:00 SGT. With a teaching rate of 0.01%, that is 8,600 × 0.01% = 0.86 USDT per settlement. The Funding Fee tab runs this for you.
3) Liquidation Price tab: why 10x is not 10% of room
Inputs: margin mode (Isolated or Cross), Long or Short, leverage, Entry Price, Futures Quantity. Output: the liquidation trigger price.
Worked example (right crop): Isolated, Long BTCUSDT, 10x, Entry 86,000, Futures Quantity 8,600 USDT. Result: 77,480.8 USDT.
- Zero-buffer line (margin fully spent): 86,000 × (1 − 1/10) = 77,400
- The calculator's line: 77,480.8, which is 80.8 higher
- 80.8 × 0.1 BTC = 8.08 USDT. That is the maintenance margin plus liquidation fee BYDFi needs left in the position.
- Real room: (86,000 − 77,480.8) ÷ 86,000 = 9.91%, not 10%
BYDFi's liquidation article gives the full long-side formula behind this: [Margin − Par Value × Qty × Entry × (1 + Maintenance Margin Rate) + MMQC] ÷ [Par Value × Qty × (Liquidation Fee Rate − 1)]. Liquidation is triggered when the position's margin ratio reaches 100%.
Why it matters more at high leverage: the buffer stays about the same per BTC while the margin shrinks. At 20x the zero-buffer line is 86,000 × 0.95 = 81,700, and the same 80.8 buffer puts liquidation near 81,780.8. That leaves about 4.9% of room. The tool shows a related limit too. The "Maximum holding amount at current leverage" line under the slider read about 50,000 USDT at 500x and about 50,000,000 USDT at 10x on this board, so max leverage only applies to small positions.
Two notes from the tool itself: the result is "only based on the current data for calculating independent positions." On Cross, your wallet balance and other Cross positions move the real line. Funding paid out of position margin also pulls the liquidation price closer over time.
4) The other three tabs, by hand
Target Price. Inputs: Entry Price and the ROE% you want. Price move needed = ROE ÷ leverage. Worked example: +50% ROE at 10x needs a 5% move, so 86,000 × 1.05 = 90,300 for a long, or 86,000 × 0.95 = 81,700 for a short. Useful for placing a take-profit or a price alert.
Max Open. Inputs: Available Margin, leverage, Entry Price. Worked example: 1,000 USDT × 10 ÷ 86,000 ≈ 0.1163 BTC (about 10,000 USDT of position value). The tool ignores opening costs, so leave room for the fee.
Entry Price (average entry). Inputs: your existing position and the new order. Worked example: 0.1 BTC at 86,000 plus 0.1 BTC at 84,000 = 17,000 USDT ÷ 0.2 BTC = 85,000 average. Adding to a loser this way also changes your liquidation line, so run tab 3 again after.
5) Pre-trade checklist for USDT-M perps like BTC, ETH, SOL, XRP, DOGE
- Open the calculator from the order panel and pick the right pair first. Buffers and limits are set per pair.
- Liquidation Price tab first, with your real mode (Isolated or Cross). Read the room in %, not the leverage number.
- PNL tab next. Subtract both fees and the funding you expect to pay before you judge the trade.
- Target Price tab to set your take-profit, Max Open to check the size fits your margin.
- If you plan to scale in, run Entry Price, then re-run Liquidation Price on the new average.
- Remember the tool's own warning: simulation only. No slippage, no opening costs, and results are for reference.
Short FAQ
Does the calculator need an account?
On PC it opened from the futures page while logged out on 10/6. Placing the trade still needs a login.
Why does my live position show a different liquidation price?
The calculator treats the ticket as a standalone position. Your live line also depends on Cross wallet balance, other positions, added margin and funding paid.
Is Yield the same as my real return?
No. Yield is gross ROE on margin. Closed P&L subtracts opening fee, closing fee and funding.
Discussed on r/BYDFiCryptoExchange