> For the complete documentation index, see [llms.txt](https://quote.gitbook.io/quote-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://quote.gitbook.io/quote-docs/execution-strategies/iceberg.md).

# Iceberg

Clip-based, pure-passive execution that hides your size.

<figure><img src="https://4082675139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhURgR92OECYWj7OaMgcs%2Fuploads%2FUxNYD6NQ3JDoHSY7XwKR%2Ficeberg.gif?alt=media&amp;token=bc583099-0670-4751-9a9b-31bea189ee76" alt=""><figcaption></figcaption></figure>

`iceberg` shows the market only a small clip at a time. When a clip fills, the next one is posted; the market never sees your full size on the book. It is **pure passive**: clips are post-only orders that never cross the spread. It has **no time constraint**: it works until filled or canceled (optionally bounded by `maxDurationSecs`).

A naive iceberg is easy to detect: the same size reappearing at the same level is a pattern anyone can trade against. Quote's implementation randomizes clip sizing, timing, and repricing so no repeating pattern is exposed. The specifics are deliberately undocumented; publishing them would hand detectors a calibration guide.

<figure><img src="https://4082675139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhURgR92OECYWj7OaMgcs%2Fuploads%2F2IZeSlmY7lCWkmJw1xI5%2FQuote%20Docs%20(4).png?alt=media&amp;token=89b594f2-03c2-4dc6-967b-a6401d916432" alt=""><figcaption></figcaption></figure>

## Example

{% code title="POST /api/orders" %}

```json
{
  "symbol": "HYPE",
  "side": "buy",
  "size": "5000",
  "orderType": "limit",
  "strategy": "iceberg",
  "params": {
    "clipSize": "150",
    "randomize": true,
    "maxSpreadBps": "20"
  }
}
```

{% endcode %}

## Parameters

| Parameter           | Type           | Default         | Description                                                                             |
| ------------------- | -------------- | --------------- | --------------------------------------------------------------------------------------- |
| `clipSize`          | decimal string | `1`             | Visible clip size in base asset. Set this to a size that blends with typical book depth |
| `clipPct`           | number         | none            | Alternative to `clipSize`: clip as a percent of total order size                        |
| `participationRate` | decimal        | `0` (off)       | Cap execution at a fraction of observed market volume                                   |
| `priceOffsetBps`    | decimal        | `0`             | Rest this far behind the touch (0 = at BBO)                                             |
| `randomize`         | boolean        | `false`         | Randomize clip sizing and timing (recommended for size that matters)                    |
| `maxSpreadBps`      | decimal        | `0` (off)       | Pause posting when the spread is wider than this                                        |
| `maxDurationSecs`   | integer        | `0` (unlimited) | Optional hard stop; remaining size is left unexecuted                                   |
| `reduceOnly`        | boolean        | `false`         | Clips only reduce an existing position                                                  |

## Behavior notes

* **No completion guarantee.** Iceberg never takes liquidity. If price runs away from your level, it does not fill. That is the point. Pair it with a [trigger](/quote-docs/trading-tools/triggers.md) or monitor progress if you need a plan B.
* **Sizing the clip.** Too small wastes time (and risks the \~$10 [minimum notional](/quote-docs/trading-on-hyperliquid/hyperliquid-constraints.md#minimum-order-notional-10) per clip); too large defeats the hiding. A good starting point is the typical top-of-book size for the asset.
* **Restart-safe.** Clip state is reconstructed on engine restart; a resting clip is recovered, not duplicated.

## When to use something else

* You have a deadline → [Passive TWAP](/quote-docs/execution-strategies/passive-twap.md).
* You want volume-scaling without the concealment → [Participation Rate](/quote-docs/execution-strategies/participation-rate.md).
