The Kraken API supports several order types, and the right choice is rarely about cleverness — it is about controlling cost and risk. A disciplined bot does not reach for the same order every time; it picks the type that fits the job, because the order type quietly determines how much spread and slippage you pay and how tightly your risk is bounded.
Market orders: speed over price
A market order fills immediately at the best available price. Its strength is certainty of execution; its cost is that you cross the spread and accept whatever slippage current liquidity imposes. A bot uses market orders when getting in or out promptly matters more than shaving a fraction off the price — for example, when a protective exit needs to happen now.
Limit orders: price over speed
A limit order fills only at your chosen price or better, and may not fill at all. Its strength is control over the price you pay, which can reduce the spread cost a market order accepts; its cost is the risk of the order sitting unfilled while the opportunity passes. A bot uses limit orders when the entry price is part of the edge and a missed fill is acceptable.
Stop orders: defining the exit in advance
A stop order rests until price reaches a trigger, then becomes active. Its job is to define an exit before emotion can interfere — the point at which a trade is wrong and should be closed. Stops are where order types and risk management meet: the stop distance is exactly what position sizing depends on.
How the bot decides
The choice follows the discipline, not a preference. Protective and time-sensitive actions favour certainty of execution; planned entries where price is part of the edge favour control over price. In every case the order is only placed if the underlying signal first cleared its full trading cost — the order type changes how you pay friction, never whether the cost rule applies.
Before any order type matters, your connection must be scoped correctly: see how to create and scope Kraken API keys. The stop distance that drives sizing is covered on the tools pillar, and every order the bot places lands in the execution audit trail.