Skip to main content
An order’s price sets what you are willing to pay or accept. Its execution settings determine what happens when it reaches the market and whether an unfilled amount can stay open.

Limit orders

A limit order buys at your specified price or lower, or sells at your specified price or higher. It can execute immediately when suitable liquidity is available. A good-till-canceled (GTC) order leaves its executable unfilled remainder on the book until it fills or is canceled. Example: You want to buy 1 WETH for no more than 2,500 USDC each. If only 0.4 WETH is available within that limit, that amount can fill and the remaining 0.6 can rest at your limit price.

Immediate-or-cancel

An immediate-or-cancel (IOC) order fills as much as it can immediately within its price limit. Any unfilled remainder is discarded. Use it when you want available liquidity now and do not want an open order left behind.

Fill-or-kill

A fill-or-kill (FOK) order requires its executable quantity to fill immediately. Otherwise, the batch reverts. A tiny remainder that cannot be settled after a real fill counts as complete under the engine’s dust rules. Use it when a partial executable fill would not meet your objective.

Post-only

Post-only ensures that an order only adds resting liquidity. If it would immediately trade against the live book, Kuru skips that order instead of placing it. It does not convert it into a taker order. Example: The lowest sell price is 2,500 USDC. A post-only buy at 2,500 would cross, so it is skipped. A buy below the available sell prices can rest, subject to the other order checks. Post-only is used with GTC. A successful submission does not by itself prove that the order was placed.

Trading against available liquidity

You can submit an immediately executable limit order with a price bound, or use an exact-input swap with a minimum acceptable output. Kuru’s native order interface has no separate market-order enum. An exact-input swap is a separate trading flow. Read Self-Trade Prevention before using it from an account that also has resting orders. Market makers can also use Reduce After Block to limit how much of a stale quote remains executable.

Conditional orders — coming soon

Conditional orders are planned but are not available as a supported trading flow yet. They would submit a pre-authorized action when a specified condition is met. Do not assume a trigger will execute merely because its condition has become true: execution requires an operating keeper, valid authorization, sufficient funds, and a market that can accept the action.

TWAP orders — coming soon

Time-weighted average price (TWAP) orders are also work in progress. The intended flow splits a larger order into smaller time-spaced slices. The deployed contracts do not, by themselves, provide a live scheduling or keeper service. Until the feature launches, use currently supported order types for live trading.