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

# Scale Orders

Distributes multiple limit orders across a price range.

## Use When

Building or exiting a position gradually across a range, or providing liquidity.

## Parameters

* **Asset**: The token or contract you want to trade
* **Total Size**: Complete order size to distribute
* **Direction**: Buy/Sell
* **Price Range**: Start price to end price
* **Number of Orders**: How many individual limit orders to create
* **Reduce Only** (optional): Only reduces existing position

## How It Works

1. You specify total size, price range, and number of orders
2. Bullpen/Hyperliquid calculates:
   * Size per order (total size ÷ number of orders)
   * Price spacing (evenly distributed across range)
3. Multiple limit orders are placed simultaneously
4. Each order fills independently as price reaches its level
5. Orders remain active until filled or manually canceled

## Example

**Buy Scale Order**

* Total size: 10 BTC
* Price range: $94,000 - $95,000
* Number of orders: 5

**Result**: 5 limit buy orders placed:

* 2 BTC @ $94,000
* 2 BTC @ $94,250
* 2 BTC @ $94,500
* 2 BTC @ $94,750
* 2 BTC @ $95,000

Each sub-order functions as a standard GTC limit order.

## Benefits

### Dollar Cost Averaging (DCA)

* Automatic averaging across price levels
* Removes emotion from entry timing
* Better average price than single entry

### Liquidity Provision

* Provide liquidity at multiple levels
* Earn maker rebates on fills
* Capture both sides of price action

### Risk Management

* Scale into positions gradually
* Reduce all-in-one-price risk
* Average down (or up) systematically

## Use Cases

### Building a Position

* **Accumulation**: Buy scale from current price down to support
* **Averaging in**: Scale buys as price dips
* Example: Buy $10k BTC across $94k-$92k range

### Exiting a Position

* **Distribution**: Sell scale from current price up to resistance
* **Taking profits**: Scale sells as price rises
* Example: Sell 50 ETH across $3,500-$3,700 range

### Market Making

* **Both sides**: Place buy scale below and sell scale above
* **Capture spread**: Earn on both buys and sells
* **Continuous rebates**: Make fees on every fill

## Best Practices

### Range Selection

* **Support/Resistance**: Use technical levels as boundaries
* **Volatility-based**: 1-2x ATR for range width
* **Not too wide**: Unused orders tie up capital
* **Not too tight**: All orders fill at once (defeats purpose)

### Number of Orders

* **More orders**: Smoother average, more fills, more complex to manage
* **Fewer orders**: Simpler, larger size per order, less smooth
* **Typical**: 3-10 orders depending on range and size

### Order Spacing

* **Linear (default)**: Equal spacing across range
* **Custom**: Manually place for specific levels
* **Consider**: Orderbook depth at each level

### Managing Scale Orders

* **Monitor fills**: Check which orders have filled
* **Adjust unfilled**: Cancel and replace if market moves away
* **Partial completion**: Decide if you're satisfied with partial fills
* **Combine with TP/SL**: Set position-level stops after scale completes

## Common Strategies

### Buy the Dip

* Scale buy orders below current price
* Each dip level fills an order
* Average down into support

### Sell the Rip

* Scale sell orders above current price
* Each rally level fills an order
* Average up into resistance

### Range Trading

* Buy scale at bottom of range
* Sell scale at top of range
* Profit from oscillation

## Scale Orders vs TWAP

| Factor    | Scale Orders            | TWAP                    |
| --------- | ----------------------- | ----------------------- |
| Execution | Price-dependent         | Time-dependent          |
| Control   | Full price control      | No price control        |
| Speed     | Variable (may not fill) | Predictable duration    |
| Slippage  | None (limit orders)     | Some (market suborders) |
| Certainty | Low (might not fill)    | High (guaranteed)       |
| Best for  | Patient accumulation    | Large immediate orders  |

## Example Scenarios

### Scenario 1: Building a Long Position

**Setup**: Want 100 SOL, current price $180

* Place buy scale: $175-$170 (5 orders)
* 20 SOL @ $175
* 20 SOL @ $173.75
* 20 SOL @ $172.50
* 20 SOL @ $171.25
* 20 SOL @ $170

**Outcome**: If SOL dips to $172, first 3 orders fill. Average entry: $173.75.

### Scenario 2: Taking Profits

**Setup**: Long 50 ETH @ $3,400, want to scale out

* Place sell scale: $3,500-$3,600 (4 orders)
* 12.5 ETH @ $3,500
* 12.5 ETH @ $3,533
* 12.5 ETH @ $3,566
* 12.5 ETH @ $3,600

**Outcome**: As ETH rallies, profits taken at progressively higher prices. Average exit much better than single sell at $3,500.


---

# 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.bullpen.fi/trading/order-types/scale-orders.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.
