Market, limit, and stop orders are the three core instruction types for executing crypto trades. A market order fills immediately at whatever price is available. A limit order fills only at your specified price or better. A stop order is a conditional trigger that submits either a market or limit order once price reaches a threshold. Every trading decision starts with choosing which trade-off you accept: execution certainty, price control, or conditional activation.
Which order type should you use?
The decision depends on one priority: do you need to trade now regardless of price, trade only at a specific price, or trade only when a condition is met? Market orders guarantee execution but not price. Limit orders guarantee price but not execution. Stop orders guarantee neither until triggered, then inherit whichever sub-type you chose.
Decision framework:
Priority | Order Type | What You Accept |
|---|---|---|
Must execute now | Market | Slippage, no price control |
Must get this price or better | Limit | Possible non-fill |
Only act if price reaches X | Stop-market | Slippage after trigger |
Only act if price reaches X, with price floor | Stop-limit | Non-fill after trigger |
Default rule for beginners: Use limit orders for entries when the spread is under 0.1%. Use stop-market for emergency exits where getting out matters more than the exact fill. Test with small size first.
Market orders: Immediate execution, no price guarantee
A market order tells the exchange to fill your order at the best available prices right now. It sweeps through the order book starting at the top level and consuming liquidity downward until your full size is filled. You are a taker, removing resting liquidity that limit-order makers posted.
Traders on our platform who switch from market to limit orders for entries typically report tighter average fills, though the tradeoff is occasional missed entries during fast moves.
Why slippage happens: If you need 0.5 BTC and only 0.3 BTC sits at the best ask, the remaining 0.2 fills at the next level. Each subsequent level is a worse price. Your average execution (VWAP) ends up above the quoted price. This deviation is slippage.
Worked example: BTC best ask shows 0.005 BTC at $65,000, then 0.003 BTC at $65,015, then 0.002 BTC at $65,030. You market-buy $650 worth (0.01 BTC).
Level 1: 0.005 BTC at $65,000 = $325
Level 2: 0.003 BTC at $65,015 = $195.05
Level 3: 0.002 BTC at $65,030 = $130.06
VWAP: $65,011. Slippage: 0.017%. On a liquid pair during normal conditions, this is negligible. During a liquidation cascade or low-liquidity window, the same order might slip 0.5%+ because depth evaporates.
When market orders make sense:
Highly liquid pairs (BTC/USDT, ETH/USDT) where depth exceeds your order 10x+
Emergency exits where seconds matter more than basis points
Order size small relative to visible depth
Limit orders: Price control with fill uncertainty
A limit order specifies the maximum price you will pay (buy limit) or the minimum you will accept (sell limit). It sits on the book until a counterparty fills it, or you cancel it. Your fill price is your limit or better. The trade-off is that the market may never reach your price, and your order expires unfilled.
Maker vs taker distinction: A buy limit placed below the current ask rests on the book as a maker. It adds liquidity. Most exchanges reward makers with lower fees (often 0.02% vs 0.05% for takers). If you place a buy limit at or above the current ask, it fills immediately as a taker because it crosses the spread.
Post-only mode: Guarantees your order only rests as a maker. If it would match immediately, the exchange cancels it instead of executing. Use post-only when you want guaranteed maker fee savings and are willing to resubmit if your price is too aggressive.
Time-in-force options:
GTC (Good Til Cancelled): Stays on the book until filled or manually cancelled. Default for most entries.
IOC (Immediate or Cancel): Fills whatever is immediately available at your price or better, cancels the rest. Useful when you want partial fill without walking the book.
FOK (Fill or Kill): Entire order fills immediately or cancels completely. Rarely needed in typical crypto trading.
Example: ETH is at $3,050. You place a buy limit at $3,000 (GTC). The order rests on the bid side. Two scenarios:
ETH dips to $3,000 with sufficient volume at your level. You fill at $3,000 or better. Zero slippage.
ETH dips to $3,001, never touches $3,000, then rallies to $3,200. Your limit never fills. You missed the trade.
Stop orders: Conditional triggers for entries and exits
A stop order is not a live order. It is a dormant instruction: "If price reaches X, submit an order." It remains invisible on the book until triggered. Once triggered, it becomes either a market order (stop-market) or a limit order (stop-limit) depending on which variant you set.
Stop-market: Trigger fires, your order becomes a market order. You get out (or in) immediately at whatever price exists. Best for emergency exits where non-fill risk is worse than bad fill price.
Stop-limit: Trigger fires, your order becomes a limit order at your specified limit price. You maintain price control after triggering. Risk: if price gaps through your limit, the order sits unfilled while your position bleeds.
Example: Stop-loss on a long position
You bought 0.1 BTC at $65,000. You set a sell stop-market at $63,000.
BTC drops steadily to $63,000. Stop triggers. Market sell fills at $62,980 (small slippage). Loss contained at ~3.1%.
BTC gaps from $63,500 to $62,000 on news. Stop triggers at $63,000 but book is thin. Fill at $62,100. Loss is 4.5% instead of planned 3.1%.
The second scenario is why stop-market provides execution certainty but not price certainty. For most traders, getting out at a worse price beats not getting out at all.
Example: Stop-limit failure
Same setup but you use a stop-limit: trigger $63,000, limit $62,800. Price gaps to $62,000. Your limit order posts at $62,800 but the market is already at $62,000. No buyer at $62,800 exists. Your order sits unfilled. BTC continues to $58,000. Your "stop-loss" did nothing.
Never rely solely on stop-limit orders for position sizing protection on leveraged positions. The non-fill risk during fast moves defeats the purpose of a stop-loss.
Spot vs perpetuals: Trigger differences that matter
On spot markets, stop orders trigger based on last traded price. On perpetual futures, multiple price references exist and your choice of trigger source affects whether your stop fires when expected.
Trigger price sources on perps:
Source | What It Represents | Use Case |
|---|---|---|
Last price | Most recent trade execution | May spike on thin volume |
Mark price | Fair value from index + funding | Used for liquidations |
Index price | Weighted average across exchanges | Most stable reference |
The mismatch problem: If your stop uses last price but your exchange liquidates on mark price, you can get liquidated before your stop triggers (mark price drops while last price lags), or your stop fires early (last price spikes while mark remains stable).
Reduce-only flag: On perpetuals, a sell order larger than your long position flips you short. The reduce-only setting caps your exit order at your current position size. If you are long 0.5 BTC and place a reduce-only sell for 0.5 BTC, it closes your long but cannot open a short even if conditions change. Always enable reduce-only on exit orders for leveraged positions.
Conditional combos: OCO, brackets, and trailing stops
Single orders handle single decisions. Real trades need paired exits: a profit target and a loss floor. Conditional combinations automate this pairing so you do not forget one side.
OCO (One-Cancels-Other): Two orders linked together. When either fills, the exchange cancels the other. Typical use: take-profit limit sell at $68,000 + stop-loss sell at $63,000 on the same BTC long. Whichever triggers first exits you; the other disappears.
Bracket orders: An entry order with pre-attached TP and SL. When your entry fills, both exit orders activate simultaneously as an OCO pair. You define your full trade plan before execution.
Trailing stops: A stop that moves with price. You set a distance (percentage or dollar amount). As price moves in your favor, the stop ratchets up (for longs) or down (for shorts). It never moves backward. BTC moves from $65,000 to $70,000 with a 5% trailing stop: your stop moves from $61,750 to $66,500 automatically, locking in gains without manual adjustment.
Recipe for a long entry:
Buy limit at $64,500 (GTC, post-only)
After fill, activate OCO: sell limit at $68,000 (TP) + sell stop-market at $63,000 (SL, reduce-only)
Risk: ~2.3% | Reward: ~5.4% | Ratio: 2.3:1
Common mistakes and how to avoid them
Mistake | What Happens | Prevention |
|---|---|---|
Market order on illiquid altcoin | 2-5% slippage on entry | Check depth; use limit orders on thin books |
Stop-limit as sole protection on perps | Non-fill during gap leaves position open | Use stop-market for must-exit stops |
Forgetting reduce-only on perps exit | Position flips to opposite side | Enable reduce-only on every exit order |
No OCO: taking profit but leaving stop active | Stop triggers on pullback after manual exit | Always pair TP/SL as OCO |
Stop placed at obvious round number | Clustered stops trigger cascade, worse fill | Offset stops slightly from round levels |
Using last price trigger when exchange liquidates on mark | Liquidation before stop fires | Match trigger source to liquidation reference |
Most execution losses come from order-type mismatch, not strategy failure. Getting the order type right before worrying about entries and exits eliminates the largest category of preventable trading errors.
Key takeaways
Market orders guarantee execution but not price. Use them only when speed matters more than fill quality and the book has depth.
Limit orders guarantee price but not execution. Default to limits for planned entries where timing is flexible.
Stop orders are conditional triggers, not live orders. They become market or limit orders only when price reaches your threshold.
Stop-market is safer for protective exits. Stop-limit risks non-fill during the exact scenarios you need protection most.
On perpetuals, always use reduce-only on exits and verify your trigger price source matches the exchange's liquidation reference.
OCO and bracket orders prevent orphaned stops and forgotten take-profits. Never leave single-sided exit orders active.
Action this week: On your next trade, place a limit order instead of market for entry, set an OCO exit with both TP and SL targets, and compare your fill price against what the chart showed at order time. Record the difference.
Frequently asked questions
Does a market order guarantee filling at the displayed price?
No. A market order guarantees execution in liquid markets but not the exact price. The price shown on your screen is the last traded price, not the current best ask or bid available for your order. Your fill depends on the spread at submission time, the depth available at each level relative to your order size, and whether price moved between your click and the order reaching the matching engine. On liquid pairs the difference is often negligible, but on thin books or during volatility the fill can deviate significantly from what you saw.
What happens if my limit order's price is touched but it does not fill?
Queue priority determines fill order among limit orders at the same price level. Earlier orders fill first. If price briefly wicks to your level without sufficient volume to clear all preceding orders, yours remains unfilled. Partial fills are also possible where only a portion of your order executes before price moves away. This is not a platform error but normal order book mechanics where available volume at a given level is finite and distributed among all resting orders on a first-come basis.
Should I use stop-market or stop-limit for a stop-loss?
Stop-market is generally safer for protective stop-losses because it guarantees execution once triggered. The trade-off is potentially worse fill during fast moves. Stop-limit maintains price control after trigger but risks complete non-fill if price gaps through your limit, which defeats the purpose of loss protection. Use stop-market when position protection is the priority, particularly on leveraged trades where non-fill means escalating losses or liquidation. Reserve stop-limit for situations where you are confident gaps are unlikely and prefer controlled exit over guaranteed exit.
Why did my stop-loss trigger earlier than expected on perpetual futures?
The most common cause is a mismatch between your stop's trigger source and actual price behavior. If your stop monitors last price but a single large trade spiked last price temporarily without moving the broader market, your stop fires prematurely. Alternatively, if your stop monitors mark price and mark diverges from last price due to funding imbalance or index calculation methodology, the trigger point differs from what you observe on the chart. Check your exchange's stop order settings to confirm which price source is active and consider adding a 0.3-0.5% buffer to account for mark-to-last divergence.
Can I set take-profit and stop-loss simultaneously on one position?
Yes, using OCO (One-Cancels-Other) or bracket orders on exchanges that support them. OCO links two exit orders so that when either executes, the other cancels automatically. This prevents the common mistake of taking profit manually but forgetting to cancel the stop-loss, which then triggers on a later pullback and opens an unintended new position. On BloFin, bracket orders attach both exits directly to your entry, activating them as a pair the moment your entry fills. Always use linked exits rather than placing independent orders.
Researched and written by the Blofin Academy editorial team with AI-assisted drafting. Primary sources include BloFin exchange order-type and execution documentation; Binance Academy order types educational guide (https://academy.binance.com/en/articles/what-is-a-limit-order). All facts independently verified against cited documentation current as of June 2026.
This article is for informational purposes only and does not constitute financial advice. Cryptocurrency trading involves substantial risk of loss. Past performance does not guarantee future results. Always conduct your own research and consider your financial situation before trading. BloFin does not guarantee the accuracy of third-party data referenced herein.
