> 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/chase-limit.md).

# Chase Limit

A limit order that follows the best bid/offer within a hard time and attempt budget.

<figure><img src="https://4082675139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhURgR92OECYWj7OaMgcs%2Fuploads%2FjtO5DCq1rsQPsjikOSRX%2FChase.gif?alt=media&amp;token=0b1b58ab-ded4-4c1d-bbef-cfdbd588a85c" alt=""><figcaption></figcaption></figure>

`chase_limit` is for when you want **to fill near the touch soon**, without paying the full spread of a market order. It places a limit order near the BBO and follows the market as it moves, converging toward the touch until the order fills or the attempt/time budget runs out.

It is a patient version of a marketable limit: it chases price moves, but only within bounds you set.

<figure><img src="https://4082675139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhURgR92OECYWj7OaMgcs%2Fuploads%2FyahxTnhhc4opjsOrtS8M%2FQuote%20Docs%20(5).png?alt=media&amp;token=03ac23c2-9d42-4622-b925-88b7f3e62245" alt=""><figcaption></figcaption></figure>

## Example

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

```json
{
  "symbol": "BTC",
  "side": "buy",
  "size": "0.1",
  "orderType": "limit",
  "strategy": "chase_limit",
  "params": {
    "maxAttempts": 8,
    "maxTotalSecs": 30
  }
}
```

{% endcode %}

This chases for at most 8 attempts or 30 seconds, whichever comes first.

## Parameters

| Parameter          | Type    | Default        | Description                                           |
| ------------------ | ------- | -------------- | ----------------------------------------------------- |
| `maxAttempts`      | integer | `8`            | Maximum number of placements/re-pegs                  |
| `maxTotalSecs`     | integer | `30`           | Hard wall-clock budget for the whole chase            |
| `initialOffsetBps` | decimal | server default | Starting offset behind the touch                      |
| `minOffsetBps`     | decimal | `0`            | Floor for the offset (0 = allowed to reach the touch) |
| `reduceOnly`       | boolean | `false`        | Only reduce an existing position                      |

The re-peg cadence and how quickly the chase converges toward the touch are managed by the engine and vary with market conditions; they are deliberately not specified here.

## Behavior notes

* **It can miss.** If price runs away faster than the chase converges, the strategy ends `completed`-with-partial or unfilled at the budget limit. Check `filledQty`. If you need certainty, use a market order with a slippage bound (see [placing orders](/quote-docs/for-developers/placing-orders.md#market-orders)); chase limit is the *cheaper but not guaranteed* alternative.
* **Best on liquid books.** On thin books, each re-peg competes with a moving, sparse touch. Consider a wider `initialOffsetBps` or a different strategy.
* Good default for "get me in around here" order entry from a bot: bounded latency, bounded slippage, no spread crossing unless the chase converges to the touch.

## When to use something else

* Larger size to work over time → [Passive TWAP](/quote-docs/execution-strategies/passive-twap.md).
* Must fill *now* whatever the cost → plain market order with a slippage-bounded `limitPrice`.
