> For the complete documentation index, see [llms.txt](https://docs.hyperlink.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hyperlink.xyz/trade/trading/pro-order-types.md).

# Pro Order Types

Compare HyperLink Pro order types and learn how to run Scale, TWAP, VWAP, Chase, Chase TWAP, Iceberg, and Swarm in the web app.

Use Pro order types in the [HyperLink web app](https://app.hyperlink.xyz) to run advanced algorithms.

## Choose a Pro order type

Open the **Pro** menu in the trade panel, then choose an algorithm based on how you want the order to execute.

| Order type     | How it executes                                                                                                                                                                  | Main controls                                                                                        |
| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| **Scale**      | Submits 2–20 limit orders at evenly spaced prices between the start and end prices. Size Skew controls how size changes across the range.                                        | Price range, total orders, Size Skew, `ALO`, `GTC`, or `IOC`, and reduce-only for perps.             |
| **TWAP**       | Splits the size into equal slices over 5 minutes to 24 hours.                                                                                                                    | Runtime, optional size randomization, optional Price Limit, and reduce-only for perps.               |
| **VWAP**       | Splits the size over 5 minutes to 24 hours and sizes each slice from the market's 7-day intraday volume profile. It falls back to equal slices when volume data is insufficient. | Runtime, optional size randomization, optional Price Limit, and reduce-only for perps.               |
| **Chase**      | Places a post-only order near the best available price, then reprices the unfilled size as the market moves.                                                                     | Optional Max Chase Distance in price or percent, and reduce-only for perps.                          |
| **Chase TWAP** | Works a timed schedule with a repricing post-only order. Attempts market sweeps for any shortfall every 5 clips and at the end.                                                  | Runtime, optional size randomization, optional Price Limit, slippage, and reduce-only for perps.     |
| **Iceberg**    | Submits one visible limit-order slice at a time at a fixed price. Submits the next slice only after the current one fully fills.                                                 | Price, total size, Tip size, optional size randomization, `ALO` or `GTC`, and reduce-only for perps. |
| **Swarm**      | Splits the size into 2–200 `IOC` market clips and submits them in concurrent waves.                                                                                              | Clips, Aggression, optional Irregular Clips, slippage, and reduce-only for perps.                    |

Scale submits its full set of orders when you sign. All other Pro order types run in your browser, submitting orders as execution progresses.

## Keep browser-run orders active

{% hint style="warning" %}
Keep the app tab open and your wallet connected while a browser-run Pro order is active. Refreshing or closing the tab, switching wallets, connecting the same wallet in another browser, or disconnecting interrupts it. Any resting order stays open until filled or canceled. Cancel it under **Open Orders** if needed.
{% endhint %}

Track Pro orders under **Open Orders**. Use **Cancel** on an algorithm's row to stop it. For algorithms with a resting order, cancellation also attempts to cancel that order. If cancellation fails, check **Open Orders** for the remaining order. Recent finished algorithms appear under **Order History** for the current browser session.

## Run a Scale order

Select **Pro > Scale** to distribute a total order size across a price range.

1. Enter the total size and the **Start** and **End** prices. Buy prices must stay at or below the current mid price; sell prices must stay at or above it.
2. Enter **Total Orders** from 2 to 20.
3. Set **Size Skew**. `1.00` makes every order equal; `2.00` makes the order at the end price twice the size of the order at the start price.
4. Choose `ALO`, `GTC`, or `IOC`, then review and submit.

HyperLink submits every Scale order together. Each resting order counts separately toward your [open order limit](/trade/trading.md#open-order-limits).

## Run a TWAP

Select **Pro > TWAP** to divide the total size evenly over time.

1. Enter the total size and a **Running time** from 5 minutes to 24 hours. The minimum total order value is $100.
2. Optionally enable **Randomize** to vary individual slice sizes.
3. Optionally enable **Price Limit**, then choose how execution behaves while price is outside the limit.
4. Review the slice count and interval, then submit.

The app chooses the slice count from the runtime and order size. Slices are at least 30 seconds apart and must meet the minimum order value.

## Run a VWAP

Select **Pro > VWAP** to weight execution toward the market's historically busier periods.

1. Enter the total size and a **Running time** from 5 minutes to 24 hours. The minimum total order value is $100.
2. Optionally enable **Randomize** to vary individual slice sizes.
3. Optionally enable **Price Limit**, then choose how execution behaves while price is outside the limit.
4. Review the slice count and interval, then submit.

VWAP uses the market's 7-day intraday volume profile to size each slice. It falls back to equal slices when volume data is insufficient.

## Control out-of-limit execution

Enable **Price Limit** on TWAP or VWAP to set the worst price a slice may fill at. Set a maximum price for buys or a minimum price for sells.

Choose how the algorithm behaves while price is out of limit (OOL):

* Enable **Pause when out of limit** to stop submitting slices. Execution resumes when price returns within the limit, and the end time moves by the paused duration.
* Leave it disabled to skip out-of-limit slices and keep the original end time. When price returns, later slices can grow to catch up, up to 3x their planned size.

When Price Limit is enabled, unavailable price data also blocks execution. The limit still applies to each submitted slice.

## Run a Chase order

Select **Pro > Chase** to seek maker fills while following the best available price.

1. Enter the total size.
2. Optionally enable **Max Chase Distance** and enter the distance as a price or percentage. The maximum distance is 5% of the current price.
3. For perps, optionally enable **Reduce Only**, then submit.

Chase places a post-only order near the best price and reprices the unfilled size as the market moves. When Max Chase Distance is enabled, the order rests at the boundary instead of moving past it.

Run up to 5 Chase orders at once in the browser, with one per market across both directions. Canceling or modifying the resting order stops its Chase.

## Run a Chase TWAP

Select **Pro > Chase TWAP** to spread execution over time while seeking maker fills before taking liquidity.

1. Enter the total size and a **Running time** from 5 minutes to 24 hours. The minimum total order value is $100.
2. Optionally enable **Randomize** to vary the scheduled size increments.
3. Optionally enable **Price Limit**: a maximum fill price for buys or a minimum for sells. Review your slippage setting for market sweeps.
4. Review the clip count and interval, then submit.

A clip is one interval in the schedule. Clips are at least 1 minute apart; smaller orders use fewer, longer clips to meet the minimum order value. Unfilled size carries forward. Every 5 clips and at the end, the algorithm cancels its resting order and attempts an `IOC` market sweep for the amount still due. Sweeps can incur taker fees.

Price Limit applies to both the post-only order and market sweeps. Chase TWAP does not have **Pause when out of limit**: the resting order is capped at the limit and the schedule keeps its original end time. Price limits, slippage, or order rejections can leave part or all of the order unfilled.

For example, a $1,000 order over 10 minutes with Randomize disabled schedules 10 clips. At the end of clip 5, a sweep attempts to fill any shortfall against the first half of the target size. At the end of clip 10, a final sweep attempts the remaining size within your price and slippage limits.

Run up to 5 Chase TWAPs at once in the browser, with one per market across both directions. Canceling or modifying the resting order stops its Chase TWAP.

## Run an Iceberg

Select **Pro > Iceberg** to work a larger limit order while exposing only the current slice to the order book.

1. Enter the limit price and total size.
2. Enter **Tip size** in the same unit as the total size. The tip must be worth at least $10 at the limit price and cannot exceed the total size.
3. Choose `ALO` for post-only slices or `GTC` to allow immediate fills when the price crosses the book. `IOC` is not available.
4. Optionally enable **Randomize** to vary slice sizes around the tip, then review the estimated slice count and submit.

The form allows up to 100 slices, accounting for smaller randomized tips. Randomize applies up to ±5% variation before size rounding and minimum-order adjustments. A small remainder can be merged into the preceding slice, so Tip size is not a strict maximum. Each slice uses the same limit price; partially filled slices stay open until fully filled.

For example, a 1 BTC order at a $100,000 limit price with a 0.1 BTC tip and Randomize disabled submits ten 0.1 BTC slices, one after another as each fills.

Run up to 5 Icebergs at once in the browser, with one per market across both directions. Canceling or modifying the visible slice stops its Iceberg.

## Run a Swarm order

Select **Pro > Swarm** to send a burst of small market clips.

1. Enter the total size. The minimum total order value is $20.
2. Enter **Clips** from 2 to 200. Each clip must be worth at least $10, so the order size can lower the maximum clip count.
3. Set **Aggression** from 1 to 5. The levels submit up to 1, 2, 5, 10, or 20 clips at a time. Higher levels can fill faster with more market impact.
4. Optionally enable **Irregular Clips** to vary clip sizes instead of splitting the order evenly.
5. Review the slippage setting. For perps, optionally enable **Reduce Only**, then submit.

Each clip is an `IOC` market order priced from the current midpoint and your slippage setting. Unfilled clip size is canceled rather than left on the book. Price movement, slippage limits, or order rejections can leave part or all of the Swarm unfilled.

Run up to 5 Swarm orders at once in the browser, with one per market across both directions. Canceling stops clips that have not been submitted. Clips already in flight can still execute.

Want another execution algorithm or order type? Join [HyperLink Discord](https://discord.gg/hyperlink) and post your request in the #feedback channel.

## Next steps

* [Trading](/trade/trading.md): learn about margining, liquidation, order limits, and portfolio tracking.
* [Fees](/trade/fees.md): review maker and taker fees.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.hyperlink.xyz/trade/trading/pro-order-types.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
