Recurring Orders let you automatically spread your purchases over time using a DCA (Dollar-Cost Averaging) strategy. Instead of buying a token all at once, you split a total amount into multiple smaller trades (suborders) that execute at regular intervals. Your selling tokens are held in a program-owned vault (a secure onchain account that holds your tokens while the order is active), and suborders execute according to your specifications. Purchased tokens are automatically sent to your wallet after each successful suborder. Jupiter currently offers two versions: Recurring Order V1 and Recurring Order V2.Documentation Index
Fetch the complete documentation index at: https://docs.jup.ag/llms.txt
Use this file to discover all available pages before exploring further.
V1 vs V2
| Recurring Order V1 | Recurring Order V2 | |
|---|---|---|
| Execution mode | Time-based only | Time-based or price conditional |
| Price range | Not supported | Optional USD price range on trigger token |
| Fees | 0.1% flat | Ultra routing fee (0–0.5%) + base fee (0.03–0.1% depending on pair category) |
| Vault authentication | Not required | Wallet signature required to place or view orders |
| Order history | Limited | Full history with status updates per suborder |
| Expiry | Runs until all suborders are filled or cancelled | Runs until all suborders are filled or cancelled (no expiry) |
Recurring Order V2
How It Works
Authenticate
Sign a message or transaction to authorize your DCA . This is a one-time step required before placing or viewing orders.
Remaining suborders
Remaining suborders follow at your selected frequency. Each suborder executes with a random variance of ±30 seconds to reduce MEV (Maximal Extractable Value) exposure.
Pricing
The price for each suborder is calculated at the time of execution based on current market conditions. Jupiter checks real-time prices and applies your slippage settings to ensure you receive a minimum acceptable amount of tokens. If the price exceeds your acceptable slippage, the suborder is reverted to protect your funds.Automatic retry
If a suborder fails (due to insufficient liquidity, network congestion, or other reasons), the program automatically retries at the next scheduled interval.Token delivery
After each successful suborder, purchased tokens are automatically transferred to your wallet. This requires you to have the correct ATA (Associated Token Account) for that token.Parameters
When setting up a Recurring Order on V2, you can specify:- Token pair — Token to allocate (sell side) and token to purchase (buy side)
- Amount — Total amount to allocate
- Frequency — Interval between suborders (e.g. every minute, hour, day, week)
- Total suborders — Number of suborders to split the allocation into
The minimum is 20 minimum, 5 suborders = $50 minimum).
USD Price Range (Optional)
You can optionally set a USD price range on a trigger token. When a price range is set, suborders only execute when the trigger token’s price is within your specified min and max. If the price is outside the range at the scheduled time, the suborder is marked as Out of Range and rescheduled to the next interval. Rescheduling continues indefinitely until the price enters the range and the suborder fills successfully. The next suborder is then queued one interval after the successful fill.Price range is not available for stable-to-stable pairs. For non-stable to stable pairs, the price range is automatically set on the non-stable token.
Fees
Recurring Order V2 applies the same fee structure as Limit Order V2: Base fee:- 0.03% for stable or pegged pairs
- 0.1% for all other pairs
- 0–0.5%, depending on the token pair and execution mechanism used
Managing Orders
Active and past Recurring Orders can be viewed from the Recurring page on jup.ag/recurring or from the Portfolio drawer under Activity → Recurring. Orders can be cancelled from either location. When cancelling, remaining funds are returned to your wallet.Pausing and resuming Recurring Orders is not currently supported. To stop, you must cancel the order and create a new one.
MEV Protection
MEV (Maximal Extractable Value) refers to strategies like frontrunning and sandwich attacks where bots exploit pending transactions. Jupiter has built-in protections against MEV on Recurring Orders:- Randomized timing — Suborders execute with ±30 second random variance from their scheduled time.
- Pre-execution price checks — Ensures fair pricing before completion.
- Automatic cancellation for unfavorable prices — Protects you from bad trades.
- Natural protection through dollar-cost averaging — Smaller trades over time reduce manipulation risk.
These protections reduce the risk of MEV but do not eliminate it entirely. MEV cannot be fully prevented on any blockchain.
Limitations
Token-2022 not supportedToken-2022 standard tokens and tokens with transfer tax features are not supported. These token types allow creators to modify transfer tax rates at their discretion, which could lead to unexpected execution results. No pause/resume
You cannot pause a Recurring Order. To stop, cancel and create a new one.
Recurring Order V1
How It Works
Remaining suborders
Remaining suborders follow at your selected intervals. Each suborder executes with a random variance of ±30 seconds to reduce MEV exposure.
Pricing
The price for each suborder is calculated at the time of execution based on current market conditions. Jupiter checks real-time prices and applies your slippage settings. If the price exceeds your acceptable slippage, the transaction is reverted.Automatic retry
If a suborder fails, the program automatically retries at the next scheduled interval.Token delivery
After each successful suborder, purchased tokens are automatically transferred to your wallet. This requires you to have the correct ATA (Associated Token Account) for that token.Parameters
When setting up a Recurring Order on V1, you can specify:- Token pair — Token to allocate (sell side) and token to purchase (buy side)
- Amount — Total amount to allocate
- Frequency — Interval between suborders (e.g. daily, weekly) and duration
The minimum order amount on v1 is 50 per suborder).
Order Lifecycle
When your Recurring Order completes:- If your token’s ATA is open, all remaining tokens are transferred to your wallet.
- If you closed your ATA mid-cycle, the program will use part of the rent to reopen your token account so tokens can be transferred.
- By default, 2/3 of the rent from your Recurring account is returned to you. The remaining 1/3 is recoverable if you later close your ATA.
Never close your ATA before withdrawing or swapping your tokens, as this could result in token loss. This is a standard limitation of Solana tokens.
Fees
Jupiter charges a flat 0.1% fee on all Recurring Orders V1.Managing Orders
Active and past Recurring Orders can be viewed from the Recurring page on jup.ag/recurring or from the Portfolio drawer under Activity → Recurring. Orders can be cancelled from either location. When cancelling, remaining funds are returned to your wallet.Pausing and resuming Recurring Orders is not currently supported. To stop, you must cancel the order and create a new one.
MEV Protection
- Randomized timing — Suborders execute with ±30 second random variance.
- Pre-execution price checks — Ensures fair pricing before completion.
- Automatic cancellation for unfavorable prices — Protects you from bad trades.
- Natural protection through dollar-cost averaging — Smaller trades over time reduce manipulation risk.
These protections reduce the risk of MEV but do not eliminate it entirely. MEV cannot be fully prevented on any blockchain.
Limitations
- Token-2022 not supported — Token-2022 standard tokens and tokens with transfer tax features are not supported.
- No pause/resume — You cannot pause a Recurring Order. To stop, cancel and create a new one.
- Minimum amount — $100 minimum, spread over at least 2 suborders.
- Price-based orders discontinued — As of August 31st 2025, price-based orders (formerly known as VA) have been phased out. Active orders at the time of discontinuation were automatically cancelled and all funds returned to wallets.

