TESTNET
Markets
Trade
Lending Vaults
More
User Docs Developer Docs Sdk API Docs Help
Welcome to Polyester
Concepts
Overview
Creating an Account
Authentication Methods
Turnkey
Smart Wallets
Dashboard
Account Security
MFA
Asset Lifecycle
Supported Assets
Deposit Funds
Withdraw Funds
Transfer Funds
Inventory and Supply
Overview
Trading Fees
Base vs Quote
Lending Fees
Withdrawal Fees
Liquidation Fees
Rebates
Overview
On-chain Visibility
Overview
Supplying
Borrowing
Collateral
Interest
Liquidations
Overview
Trades
Candles
Order Book
Data Delivery
Notifications
Appearance
Localization
Sound Effects
Overview
Architecture
Benchmarks
Matching Engine
Settlement
Safeguards
Overview
Validators
Gas Abstraction
Layer-1 Benchmarks
Audits
Read Pre-compiles
Create Invite Code
Managing Links/Codes
Claiming Rewards
Auto-Convert Rewards
Overview
Create/Delete subaccounts
Permissions
Roles
Audit Logs
Unified Trading Account
Spot Trading
Order Types
Tools
Privacy
Custom Layouts
Overview
Asset Wrapping
Vaults
Zipper Security
What Is TEE?
  1. Trading
  2. /
  3. Order Types

Order Types

Polyester offers a wide range of order types to control how, when, and at what price a trade executes.

Orders are placed from the Spot Trading order form and/or API and operate within the Unified Trading Account. When an order is submitted, the required funds are reserved until the order fills or is canceled.


Core Order Types

A market order executes immediately at the best available price.

Users can place a market order using either the base asset amount or the quote asset amount:

  • Buy 1 BTC at the current market price
  • Buy 10,000 USDT worth of BTC at the current market price

When placing a quote-based market order, the UI shows the estimated amount of base asset the user will receive based on current liquidity.

Market orders prioritize execution speed over price certainty.

A limit order executes only at a user-specified price or better.

Like market orders, limit orders can be placed using either base or quote amounts:

  • Buy 1 BTC at 100,000 USDT per BTC
  • Buy 10,000 USDT worth of BTC at 100,000 USDT per BTC

If there is not enough matching liquidity at the specified limit price, the order remains open in the order book until it fills or is canceled.

A post-only order is a limit order that is guaranteed to join the order book as a maker.

For example:

  • A user places a post-only buy order for BTC at 99,500 USDT
  • If that price would immediately match an existing sell order, the order is rejected
  • If it does not immediately match, it is placed into the order book as a maker order

Post-only orders are commonly used to reduce taker fees or qualify for maker rebates.


Time-in-Force (Execution Modifiers)

Time-in-force options modify how other order types behave. They are not standalone orders.

A GTC order remains active until it is fully filled or manually canceled. This is the default time-in-force on Polyester:

  • A user places a limit order to buy 1 BTC
  • If it doesn't fill immediately, it stays open in the order book until it fills or they cancel it

An IOC order executes immediately for any available quantity and cancels the rest:

  • A user places a limit IOC order to buy 5 BTC
  • Only 2 BTC are available at the user's price
  • 2 BTC fills immediately, the remaining 3 BTC is canceled

A FOK order must be filled completely and immediately, or not at all:

  • A user places a limit FOK order to buy 5 BTC
  • If the full 5 BTC cannot be filled at once, the entire order is canceled with no execution

Conditional Orders (Trigger-Based)

Conditional orders allow users to define a trigger condition that, when met, automatically submits another order type to the market.

These orders do not appear in the order book until their trigger condition is satisfied. Once triggered, they behave exactly like the order type they create. Conditional orders still require reserving funds.

Trigger price source

All trigger-based orders, both attached and standalone, allow users to choose which price source is used to evaluate the trigger condition.

Users can select between:

  • Last Price Uses the most recent traded price on Polyester
  • Index Price Uses an external reference price that reflects broader market conditions

The selected price source only determines when the trigger activates to place the respective order.

Attached vs standalone triggers

Trigger-based orders can be created in two ways: attached or standalone. Both use the same trigger logic; the difference is how they are created and managed.

Attached triggers are created when placing an order using the TP/SL controls in the order form.

They are tied to the lifecycle of the parent order. They are created together with the order, and activate only after the order fills. If the order is canceled before filling, the attached TP/SL never exists.

Example: A user places a limit buy order and toggles TP/SL in the order form, setting either a TP, SL, or both. If the order fills, the TP/SL becomes active for the filled amount. If the order never fills and is canceled, the TP/SL is automatically discarded.

Standalone triggers are created independently and have their own lifecycle.

They define a condition that, when met, submits a market or limit order. Until the trigger fires, no order exists in the order book.

Example: Standalone take-profit (limit): A user already holds BTC. They create a take-profit trigger with a trigger price above the current market. When the market trades at or above that price, a limit sell order is submitted. Until then, no order is visible in the book.

Example: Standalone stop-loss (market): A user holds BTC and wants to limit downside. They create a stop-market trigger. If the market trades below the trigger price, a market sell order is submitted automatically.

Trigger Order Types

A stop-loss market order specifies a trigger price and an order amount.

When the market trades at or below the trigger price, a market order for the specified amount is submitted.

A stop-loss limit order specifies a trigger price, a limit price, and an order amount.

When the market trades at or below the trigger price, a limit order for the specified amount is submitted at the specified limit price.

A take-profit market order specifies a trigger price and an order amount.

When the market trades at or above the trigger price, a market order for the specified amount is submitted.

A take-profit limit order specifies a trigger price, a limit price, and an order amount.

When the market trades at or above the trigger price, a limit order for the specified amount is submitted at the specified limit price.

A trailing stop order specifies an order amount and a trailing offset.

The trigger price adjusts dynamically as the market moves. When the market trades through the calculated trigger price, the associated order for the specified amount is submitted.

Example:

  • A trailing stop sell order is configured with an amount of 1 BTC and a trailing offset of 2,000 USDT.
  • If BTC is trading at 100,000 USDT, the trigger price starts at 98,000 USDT.
  • If BTC rises to 105,000 USDT, the trigger price automatically updates to 103,000 USDT.

Execution Algorithms

Execution algorithms help reduce market impact when trading larger sizes.

A TWAP order splits a larger order into smaller slices that are executed evenly over a specified time period.

The order is divided into multiple child orders placed at regular time intervals until the total amount is filled or the time window ends.

During order creation, users can choose the number of slices and the duration between each slice.

TWAP orders support two reservation modes:

  • Flexible Funds are reserved per slice at execution time. Unused funds remain available while the TWAP is running.

  • Fully Reserved The full order amount is reserved at creation. This guarantees that all slices can execute as scheduled.

Example:

A user submits a TWAP order to buy 10 BTC over 4 hours. They want to buy 2.5 BTC per hour. The order executes smaller buys at fixed intervals until the total amount is filled.

A ladder order splits a total order amount across multiple price levels within a defined range.

The ladder creates a series of limit orders distributed between a minimum and maximum price. Each level represents a portion of the total size. As individual levels fill, the remaining levels stay active until the full amount is executed or the ladder is canceled.

Ladder orders are commonly used to scale into or out of positions without committing all liquidity at a single price.

Example:

A trader wants to sell 6 BTC between 102,000 and 108,000 USDT. They create a ladder with six levels, each selling 1 BTC at evenly spaced prices across that range. As the market trades upward, each level fills independently, reducing exposure gradually rather than all at once.

An iceberg order allows a large order to be placed while only exposing a portion of the total amount to the order book at any given time.

As each visible portion fills, the next portion is automatically placed until the total order amount is executed or the order is canceled.

Example:

A user places a sell order for 5 BTC with a visible size of 0.25 BTC. Each time 0.25 BTC fills, the next portion is placed until the full amount is executed.


Using Order Types in the Order Form

Users select the order type directly from the Spot Trading order form.

Based on the order type chosen, the form prompts for the required inputs: price, amount, trigger conditions, or execution parameters. Once submitted, funds are reserved and the order is placed or queued according to its behavior.

To learn more about charts, indicators, and advanced order form functionality, continue to the Trading Tools page.

Previous

Spot Trading

Next

Tools

  • Core Order Types
  • Time-in-Force (Execution Modifiers)
  • Conditional Orders (Trigger-Based)
  • Trigger price source
  • Attached vs standalone triggers
  • Trigger Order Types
  • Execution Algorithms
  • Using Order Types in the Order Form