Market, Limit and Stop Orders for Crypto Perpetuals
Jump to sectionsShort answer
Use a market order when prompt execution matters, a limit when a worst acceptable price matters, and a stop when the instruction should activate only after a price condition. A stop-market releases a market request; a stop-limit releases a price-limited request. Check the resulting filled quantity: price protection, missing liquidity or a restrictive limit can leave exposure unresolved.
Bybit provides conditional orders and market-order price protection. It is useful when your entry or exit needs a specific trigger or price boundary; the trade-off is that some protected requests can finish with less quantity than requested.
Choose the order by what would make the trade unacceptable
You want to buy 4 ETH perpetuals. The best offer on screen is 2,000 USDT, but it contains only 1 ETH. Before choosing an order, answer a more useful question than “which type is best?” Would you rather accept a higher average price, own fewer than 4 ETH, or miss the entry entirely? Different orders handle that shortage differently.
A market order asks the venue to execute against available quotes promptly. A limit order sets a worst acceptable execution price. A stop adds an activation condition before one of those execution instructions is released. These choices can be combined: a stop-limit is conditional before activation and price-limited afterward. It is not a fourth kind of guaranteed execution.
For an optional entry, missing the trade may be acceptable if the alternative is buying too high. For an existing position that you urgently need to reduce, leaving exposure behind may be the bigger concern. This difference in purpose should drive the order selection before a fee preference or a default setting does.
| Instruction | What it controls | What it does not guarantee |
|---|---|---|
| Market | Requests immediate matching | A particular price or complete execution |
| Limit | Worst price you accept | A fill or a deadline |
| Stop-market | When a market request is activated | Execution at the trigger price |
| Stop-limit | Activation plus an execution-price boundary | An exit after the trigger is reached |
The first distinction to learn is therefore between an instruction accepted by the exchange and a position actually changed by fills. A successful submission message proves the request was received. A trigger notification proves an activation condition was met. Neither alone proves the intended quantity was bought or sold.
Market versus limit: the same 4 ETH request in one order book
Use this simplified, frozen ETHUSDT ask book: 1 ETH at 2,000, 2 ETH at 2,002 and 5 ETH at 2,008. Assume no competing orders arrive, all displayed quantity is tradable, and the request passes the venue’s other checks. These assumptions let us isolate the order instruction instead of mixing it with a moving market.
A 4 ETH market buy can take the first 1 ETH, the next 2 ETH and 1 ETH from the third price. The total is 1 × 2,000 + 2 × 2,002 + 1 × 2,008 = 8,012 USDT. Divide by 4 to get a 2,003 USDT average fill. The best offer was 2,000, but it was never an offer to sell all 4 ETH at that price.
A normal 4 ETH buy limit at 2,002 accepts the first two levels and refuses the third. It executes 3 ETH for 6,004 USDT, an average of about 2,001.3333. With a resting-order lifetime, the remaining 1 ETH waits at 2,002. The limit controls each permissible fill price; it does not require every fill to occur exactly at 2,002.
| Request | Filled now | Average, USDT/ETH | Still requested |
|---|---|---|---|
| Market, all three levels permitted | 4 ETH | 2,003.00 | Nothing |
| Limit 2,002, resting remainder | 3 ETH | 2,001.3333 | 1 ETH remains open |
| Market capped at 2,002 | 3 ETH | 2,001.3333 | 1 ETH canceled |
| Limit 1,999 | 0 ETH | No execution | 4 ETH remain open |
Do not compare the averages as if all rows achieved the same exposure
The 3 ETH result has a better average than the 4 ETH result, but it has also bought less. If the missing ETH must be bought later at 2,020, the combined 4 ETH entry costs 8,024 USDT and averages 2,006. If the original position was optional, leaving it at 3 ETH might instead be perfectly consistent with the plan. The difference is the trading objective, not an arithmetic trick.
A displayed book is also a snapshot. Quotes can be canceled, replaced or consumed before your request reaches the matching engine. This is why the example demonstrates the mechanics rather than predicts a live fill. An exchange’s preview can estimate execution from the book it sees, but it cannot reserve every displayed offer for you.
For a sell, read the bid side in reverse price order: highest available bid first, then lower bids if necessary. A sell limit sets the lowest acceptable price, while a buy limit sets the highest. Confusing these directions can turn a patient exit into an immediately executable order.
Why a market order may leave some futures exposure open
The label “market” should not be read as permission to trade at any imaginable price. Exchanges can apply execution boundaries. Kraken’s current derivatives documentation describes a 1% boundary from the best ask for buys or best bid for sells, with an unfilled remainder canceled. Bybit’s order API describes converting market requests into protected immediate-or-cancel limit matching. These are product rules, not a universal setting shared by every venue.
Bybit also offers a user-configurable slippage-tolerance control for supported market orders. Its documented amount-based setting adds a chosen amount to the best ask for a buy, or subtracts it from the best bid for a sell. Using the previous ETH book, a 2 USDT buy tolerance above the 2,000 best ask gives a 2,002 boundary: only 3 of the requested 4 ETH are available inside it.
OKX documents a different remainder process for its expiry and perpetual market orders: an unfilled request can stay active while the system retries with updated price limits, for up to ten minutes. Do not transfer Bybit’s or Kraken’s canceled-remainder assumption to that product. Before replacing an incomplete market order, establish whether the old request is still working.
A canceled remainder does not mean the whole request failed
For that protected buy, the account now has a 3 ETH position. The final 1 ETH request is gone rather than waiting. For a protected close of an existing position, the equivalent shortage leaves some exposure still open. The trade history and the current position size reveal the result more clearly than a brief cancellation message.
A narrower tolerance trades execution coverage for tighter price control. Widening it may permit more fills, but at a worse boundary. Neither setting creates liquidity. If an exit leaves a remainder, the next decision concerns that remaining quantity and the current market, not blindly sending the original full-size order again.
The documented Bybit interface permits amount-based tolerance for BTC and ETH; do not assume a percentage control is available for those pairs. Its help page also excludes conditional, OCO and trailing-stop orders from that user setting. A tolerance you enabled for a manual market entry should therefore not be assumed to carry over to a future triggered stop.
User tolerance versus the exchange’s own safeguards
The configurable slippage-tolerance feature and the trading engine’s general price protections are separate layers. Bybit’s help page describes the former as disabled by default, while its API documentation describes protected market-order matching. Disabling the optional user control does not establish that every system boundary disappears.
The precise supported fields can differ between a website, app and API. This article uses the documented ETH amount-based interface example. It does not transfer interface exclusions or default settings to every API product without checking that product’s specification.
Stop-market versus stop-limit: activation is only the first step
A trader already holds an ETH long and sets a sell stop at 1,950. A stop-market requests a market sell once the selected reference reaches the activation condition. A stop-limit might instead release a sell limit at 1,940. The trigger answers when to act; the limit answers how low an execution price is acceptable.

Imagine that, by the time the sell instruction arrives, the highest bid is 1,935. The 1,940 sell limit cannot match that bid because 1,935 is worse than its permitted price. If the order is otherwise accepted with a resting lifetime, it remains open waiting for 1,940 or better. The price boundary worked as instructed, while the position remained exposed.
A stop-market would instead seek available buyers subject to the venue’s execution protections. It could fill below 1,940, partially fill or encounter another execution constraint. Its advantage is not a guaranteed loss ceiling; it removes your own fixed sell-limit boundary from the immediate exit request. That can be useful when reducing exposure takes priority over preserving an exact price.
A stop can also open a position
Suppose ETH is trading below 2,050 and a trader wants to enter only after an upward breakout. A buy stop can activate at 2,050. A buy stop-limit with a 2,055 ceiling will refuse a fill above that ceiling. If the next offers are already 2,060, it can miss the entry. A plain buy limit at 2,055 placed before the breakout would instead be immediately executable against cheaper offers; it would not wait for 2,050 to be reached.
This distinction prevents a common order-entry mistake: using the price field as if it were a future activation condition. If the strategy requires an event first, there must be an actual trigger instruction. If the strategy merely wants to buy no higher than a chosen price now or later, a regular limit can express that requirement.
The distance between a stop trigger and its execution limit is therefore a tolerance for the post-trigger market, not a guaranteed maximum realized loss. A wider gap may admit more available prices. A narrower gap can leave the order stranded. Choosing either requires deciding what to do if the resulting position is only partly closed.
Examine stop execution separately from liquidationThe chart touched my price. Why did nothing happen?
Compare the selected trigger series at the event time. A last-trade candle reaching 1,950 does not activate a stop watching mark if mark has not reached its own threshold.
For an ordinary resting limit, a chart touch is not a reservation of quantity for your order. Other orders at that price may stand ahead of yours. A small trade can print at the level without consuming enough opposing flow to reach you in the queue. A sell limit needs executable buying interest; a buy limit needs executable selling interest.
Read the status as a sequence of events
An untriggered conditional order has not yet released its execution instruction. An active, unfilled limit is already waiting for a match. A partially filled order has changed the position but still has some requested quantity unresolved. A rejected order did not become the live order you intended. These states call for different actions and should not all be described as “the exchange ignored my price.”
Conditional entries can face a balance check only when activated. Other trades or withdrawals may have consumed the available margin since the trigger was created. The instruction was valid when saved, yet insufficient buying capacity exists when it becomes actionable. Bybit documents this distinction for conditional orders; closing instructions have separate behavior and should not be treated as new entries.
The useful troubleshooting record is compact: contract, buy or sell, opening or closing purpose, requested quantity, order type, trigger reference, trigger price, limit if any, executed quantity and final status. With these fields, you can usually separate a price mismatch from a capacity problem. A screenshot of the price chart alone rarely contains enough information.
See why mark, index and last price can disagreeMatch exits to the position that actually exists
An entry and its intended exit need not have the same quantity if the entry is only partly filled. If a 4 ETH request has filled 1 ETH, a separate unrestricted sell for 4 ETH is not simply protection for the position already opened. Depending on the account’s position mode, it can close the long and create new short exposure.
Position-linked take-profit and stop-loss tools can manage this relationship, but their rules matter. Kraken Pro’s derivatives bracket documentation says attached TP/SL quantity follows partial primary fills. It also distinguishes exits attached to the current order from exits for the entire position. Those are different scopes when an account already holds ETH or adds more later.
For example, an existing 2 ETH long plus a new 1 ETH fill gives 3 ETH in total. An exit attached only to the new order can cover 1 ETH, leaving the earlier 2 ETH in place. An entire-position instruction aims at the current total under the venue’s rules. Neither label should be interpreted from the trigger price alone.
After changing an entry or manually reducing a position, inspect the associated exits rather than assuming every separately created order resized itself. A reduce-only or built-in closing instruction can prevent an exit from becoming a new position, but it does not turn an unfillable price into a completed close. That distinction keeps quantity protection separate from execution certainty.
For linked profit and stop orders, learn what event cancels the sibling: trigger, partial execution or completed fill, as specified by the venue. Kraken’s bracket support page describes sibling cancellation when one is triggered. That is why an unfilled stop-limit should not be assumed to leave the other exit active indefinitely. The remaining order state is part of the outcome.
Control whether an exit may increase or reverse a positionMeasure the fill against a fixed benchmark, with the correct sign
For the capped buy above, 3 of 4 ETH filled: 75% completion. The active remainder and the 3 ETH average price answer different questions. Decide whether the last ETH is still wanted before sending another request.
Use a price benchmark chosen before submission when evaluating the fill. The direction of the comparison reverses for buys and sells; the dedicated spread/slippage example shows that calculation without mixing it with the position’s total profit.
Measure the price outcome of the completed quantityQuestions before sending an order
Can a buy limit fill below the price I entered?
Yes. Its price is a ceiling, not a request to ignore better offers. A buy limit at 2,002 can buy available quantity at 2,000 first. A sell limit works the other way: it can sell above its minimum price.
Does a stop order remain active when I close the browser?
An exchange-hosted order accepted by the venue generally remains on its servers. A condition running only in an external bot or local application depends on that system staying connected and functioning. Identify where the trigger is actually hosted.
Can I use the same price for a stop trigger and a stop-limit price?
Where the venue accepts it, yes, but it leaves no additional price room beyond that level. A fast move can activate the order while taking the available quotes past the limit. A valid trigger-and-limit combination is not evidence of a likely fill.
Does a stop-market cap my loss at the amount shown in the preview?
No. The preview uses assumed execution conditions. Actual fills can differ from the trigger price, and market protections can leave a remainder. Fees and other charges can also change the final loss.
What happens if I cancel an order while it is filling?
A cancel request concerns quantity not already executed. Fills that happen before cancellation takes effect remain valid. Wait for the final status and check the resulting position before replacing the order with its original full quantity.
Why did a new stop entry fail despite being accepted earlier?
Acceptance of an untriggered request does not reserve every resource needed later. At activation, margin, product constraints or the intended opening/closing direction can prevent execution. Read the rejection reason and current position rather than repeatedly resubmitting the same instruction.
Is a limit order always less expensive than a market order?
No. It can execute immediately as taker, fill only part of the request, or require a later replacement at a worse price. Compare the completed quantity, average price and commissions together. A lower displayed limit alone does not establish a cheaper completed trade.
Sources and research 8 source references
Order mechanics reviewed against Bybit and Kraken product documentation on 7 October 2026. The ETH order book is deliberately fixed and constructed; it does not claim current liquidity or live execution. Calculations preserve direction and the original benchmark. Website controls, API behavior and conditional-order restrictions are kept distinct. No orders were submitted.
Evidence by section
- Choose the order by what would make the trade unacceptable
- Market versus limit: the same 4 ETH request in one order book
- Why a market order may leave some futures exposure open
- Stop-market versus stop-limit: activation is only the first step
- The chart touched my price. Why did nothing happen?
- Match exits to the position that actually exists
- Measure the fill against a fixed benchmark, with the correct sign
Source register and access
- OKX: Basic order types and reduce-only position handlingLink checked · Reviewed 7 Oct 2026 · Product rule · next editorial check due 2027-01-05
- Bybit: Types of orders availableLink checked · Reviewed 7 Oct 2026 · Product rule · next editorial check due 2027-01-05
- Bybit Developers: Place order: matching and instruction compatibilityLink checked · Reviewed 7 Oct 2026 · Product rule · next editorial check due 2027-01-05
- Bybit: Order execution and liquidation FAQLink checked · Reviewed 7 Oct 2026 · Product rule · next editorial check due 2027-01-05
- Bybit: Market orders with slippage toleranceLink checked · Reviewed 7 Oct 2026 · Product rule · next editorial check due 2027-01-05
- Kraken: Order types in derivatives tradingLink checked · Reviewed 7 Oct 2026 · Product rule · next editorial check due 2027-01-05
- Kraken: Derivatives take-profit and stop-loss bracketsLink checked · Reviewed 7 Oct 2026 · Product rule · next editorial check due 2027-01-05
- Bybit: Close on triggerLink checked · Reviewed 7 Oct 2026 · Product rule · next editorial check due 2027-01-05