TWAP Orders

Execute large orders in smaller chunks over time to minimize market impact.


Overview

TWAP (Time-Weighted Average Price) splits a large order into equal-sized chunks executed at regular intervals. Unlike DCA which focuses on long-term accumulation, TWAP is designed for executing large trades efficiently—minimizing price impact and avoiding detection by MEV bots.

When to use TWAP:

  • You're executing a large order relative to available liquidity

  • You want to minimize market impact and slippage

  • You need to disguise a large position entry or exit

  • You're trading tokens with thin liquidity

  • You want predictable execution across a defined time window

When to use DCA instead:

  • You're accumulating over days/weeks for investment purposes

  • You want to average into volatile price swings

  • Timing within hours doesn't matter


How TWAP Works

TWAPs split your order into smaller trades executed at regular intervals, minimizing price impact and achieving a better average price. Below is an example of how the order execution flow happens:

Execution Flow

Example: $50,000 TWAP Buy over 1 Hour

Chunk
Time
Price
Amount
Tokens Received

1

0:00

$1.02

$2,500

2,451

2

0:03

$1.03

$2,500

2,427

3

0:06

$1.01

$2,500

2,475

4

0:09

$1.02

$2,500

2,451

...

...

...

...

...

20

0:57

$1.04

$2,500

2,404

Total

$50,000

48,780

TWAP average price: $1.025

If executed as a single $50K market order, the price impact could have pushed execution to $1.05-1.08, costing an extra $1,200-2,600.


Example Prompts

Here are natural language prompts that trigger TWAP orders:

Prompt
Interpretation

"TWAP buy $50,000 of SOL on Solana over 4 hours"

Split $50K into chunks over 4h window

"Execute $20,000 sell of WIF on Solana using TWAP over 1 hour"

TWAP sell across 1 hour

"Buy $100,000 of JUP on Solana slowly over 12 hours"

Large TWAP buy over 12h

"TWAP $10,000 into BONK on Solana, 30 minute window"

Fast TWAP for volatile token

"Sell $25,000 of RAY on Solana with TWAP, minimize impact"

TWAP sell with default duration

"Split my $15,000 ETH buy on Base into 20 orders over 2 hours"

Custom chunk count specified

"TWAP out of my POPCAT position on Solana, $30,000 over 6 hours"

Large exit via TWAP


Managing TWAP Orders

View Active TWAPs

Pause/Resume

Cancel

Speed Up / Slow Down


Randomization

Why Randomization Matters

Predictable order patterns are exploited by MEV bots:

Example with randomization:

  • Target interval: 3 minutes

  • Actual intervals: 2:05, 3:45, 2:30, 4:10, 2:55...


Tips for Effective TWAP

below are some quick tips to ensure your DCA's are effective:

  1. Size chunks to liquidity — Each chunk should be <1% of pool liquidity for minimal impact.

  2. Match duration to urgency — Longer duration = better price, but more exposure to price movement.

  3. Enable randomization — Always keep this on unless you have a specific reason not to.

  4. Monitor large TWAPs — Check progress periodically for orders >$50K or >4 hours.

  5. Set pause conditions — Protect against buying into pumps or selling into dumps.

  6. Don't over-slice — Too many tiny chunks increase total fees without much benefit.


Last updated