How Position Mode actually works on BloFin: One-Way nets, Hedge needs long/short on every order
Key takeaway
Your opposite order on BloFin closed the position you meant to keep open. That is usually One-Way Mode doing what it is designed to do, not a glitch on the ticket. One-Way Mode holds one direction per contract. Hedge Mode holds long and short on the same contract at once, and the ticket then needs an explicit position side.

The mode rule
On BloFin, Position Mode is account-wide for futures. In One-Way Mode the ticket is buy or sell and the engine nets. In Hedge Mode you must send a position side of long or short with every order. The official API docs state that positionSide defaults to net for One-way Mode and must be long or short for Hedge Mode.
Ticket checklist
- Open Futures settings and open Position Mode before you size the first order.
- Pick One-way Mode or Hedge Mode, then Confirm. BloFin blocks the switch while any position or open order exists.
- In Hedge Mode, set position side (long or short) on the ticket before you tap open. Buy/sell alone is not enough.
- Recheck margin mode (cross or isolated) and order type (market, limit, post_only, fok, or ioc) after the mode change, because the ticket fields change with the mode.
- Note that reduce-only is not supported under Hedge Mode on BloFin and is ignored if passed. Closing uses an opposite side on the matching position side instead.
Worked steps on the ticket
- Flat account, no open orders: switch Position Mode to Hedge Mode.
- On SOL-USDT (or any pair), set margin mode, leverage L, and quantity qty.
- Open a long with positionSide=long. A separate short later uses positionSide=short. The two do not auto-net.
- To close the long only, sell with positionSide=long (or use the close control for that side). A sell with the wrong side opens or adds the other leg.
- Optional Multi-Position under Hedge Mode: closing orders that face an existing side must pass the positionId of that leg. Opening orders omit it to start a new leg, or pass it to add size to a named position.
What changes it
- Open positions or open orders lock Position Mode until you flat and cancel.
- Multi-Position is only available when positionMode is long_short_mode (Hedge). Under net_mode it stays false.
- Isolated vs cross still sits on the ticket separately from Position Mode. Hedge does not replace margin mode.
- Live mark on SOL-USDT at the fetch used for this piece sat near 90.72 with an 8h funding print; funding is separate from the mode rule and still settles on notional.
Common mistakes
- Leaving One-Way on, then selling to "hedge," and watching the long shrink or flip.
- Switching modes with a resting limit still open, then wondering why Confirm does nothing.
- In Hedge Mode, submitting buy/sell without a position side and getting a reject or an unexpected leg.
- Expecting reduce-only to clip size in Hedge Mode. BloFin documents that reduce-only is not supported there.
- Closing the wrong positionId when Multi-Position is on, so a second long stays live.
FAQ
Does Hedge Mode mean I need more margin? Yes when both sides are open. Each side carries its own margin requirement; the ticket will not merge them into one net.
Can I set different leverage on the long and the short? Hedge Mode keeps the legs separate. Set leverage on each side from the ticket before you open that leg, and re-check after any mode change.
What if I only want a simple directional trade? Stay on One-Way Mode. The ticket stays buy/sell, opposite fills net, and you avoid managing two sides.
Does Position Mode change fees? No. Maker and taker still follow how the order executes. Mode only changes how sides are stored and closed.
Takeaway
Before the first SOL (or any) order on BloFin, read the Position Mode line on the ticket: One-Way nets, Hedge needs long/short on every order, and you cannot flip the mode with size already on.
Live from BloFin's public API
BloFin markets right now
As of Nov 6, 2026, 1:15 PM ET, BloFin lists 528 live perpetual futures (413 crypto, 109 stocks, 5 commodities and 1 index). BTC/USDT last traded at $75,764.5 (-0.26% in 24h) and ETH/USDT at $2,225.3 (-1.27%). The most-traded USDT perp over 24 hours was BTC/USDT with about $229.3M in volume.
- Live perpetuals
- 528
- BTC/USDT
- $75,764.5
- ETH/USDT
- $2,225.3
- USDT perps 24h volume
- $693.6M
413 crypto · 109 stocks · 5 commodities · 1 index
-0.26% 24h · $229.3M vol · funding +0.0220% / 8h
-1.27% 24h · $73.4M vol · funding +0.0148% / 8h
Summed across 504 USDT-margined perps
Updated · Data: BloFin
Top USDT perps by 24h volume
| # | Perp | Last | 24h | 24h volume |
|---|---|---|---|---|
| 1 | BTC/USDT | 75,764.5 | -0.26% | $229.3M |
| 2 | ZEC/USDT | 1,353.5 | +9.08% | $92.2M |
| 3 | ETH/USDT | 2,225.3 | -1.27% | $73.4M |
| 4 | SOL/USDT | 90.08 | +0.85% | $50.2M |
| 5 | XRP/USDT | 1.184 | -3.87% | $41.0M |
Updated · Data: BloFin
Funding-rate extremes
Highest
| Perp | Rate | Every |
|---|---|---|
| NATGASCommodities | +0.6500% | 4h |
| MUStock | +0.0628% | 8h |
| UAI | +0.0430% | 4h |
Lowest
| Perp | Rate | Every |
|---|---|---|
| CYBER | -0.1378% | 4h |
| SKHYNIXStock | -0.0711% | 4h |
| CLCommodities | -0.0586% | 4h |
Rate per funding interval: positive means longs pay shorts, negative means shorts pay longs. Only USDT perps with at least $1.0M of 24h volume are ranked.
Updated · Data: BloFin
Prices and rates move constantly; LiquidityFlow refreshes this panel about every 10 minutes from BloFin's public market endpoints. Not financial advice. All BloFin market data →