The Jupiter Trigger Order API enables advanced order types on Solana, allowing users to set price conditions for token swaps that execute automatically when market conditions are met. V1 required traders to think in pool ratios — calculating how many tokens per SOL a pool needed to reach before an order would trigger. V2 replaces this with USD price triggers: set a dollar price and Jupiter handles conversion, routing, and execution. Orders are stored off-chain and private by default, closing the most common MEV attack vector of visible pending orders.Documentation Index
Fetch the complete documentation index at: https://dev.jup.ag/docs/llms.txt
Use this file to discover all available pages before exploring further.
What’s New in V2
| Feature | V1 | V2 |
|---|---|---|
| Trigger type | Pool rate only (e.g. “1 Fartcoin = 0.00025 SOL”) | USD price |
| Order direction | Buy below, sell above | Buy above, buy below, sell above, sell below |
| TP/SL | Not supported | Take-profit and stop-loss with OCO bundling |
| Edit orders | Must cancel and recreate | Edit trigger price and slippage in-place |
| Partial fills | Not supported | Orders fill partially for optimal execution prices |
| Output amount | Guaranteed (fixed pool rate) | Not guaranteed (prioritises trigger execution, pool price may vary) |
| Authentication | API key only | Challenge-response JWT + API key |
| Order privacy | Pending orders visible on-chain (PDA accounts) | Orders stored off-chain, private until execution |
| Deposits | Program-derived address (PDA) order accounts | Vault accounts (custodial) by Privy |
| Route prefix | /trigger/v1 | /trigger/v2 |
Order Types
| Type | Description | Use case |
|---|---|---|
| Single | Triggers when USD price crosses above or below a threshold | Standard limit orders, stop-loss |
| OCO | Two orders sharing one deposit: one take-profit, one stop-loss. When one fills, the other cancels automatically | Risk management with TP/SL brackets (e.g. sell SOL at $300 TP or $200 SL while market is $250) |
| OTOCO | A parent order triggers first, then activates a TP/SL pair (OCO) on the output | Conditional entry with automatic exit strategy |
How It Works
- Authenticate: Sign a challenge with your wallet to receive a JWT token
- Get your vault: Retrieve your vault, or register one on first use
- Create an order: Deposit tokens into your vault and submit order parameters
- Monitor: Track order state and history via the history endpoint
- Manage: Update order parameters, or cancel with a two-step withdrawal flow
Base URL
x-api-key header. Authenticated endpoints additionally require a JWT token via the Authorization: Bearer <token> header.
Get an API key
FAQ
What happens to my funds if an order expires?
What happens to my funds if an order expires?
Can I edit an order after creating it?
Can I edit an order after creating it?
Why is the output amount not guaranteed?
Why is the output amount not guaranteed?
What is the minimum order size?
What is the minimum order size?
What happens if my JWT expires while I have open orders?
What happens if my JWT expires while I have open orders?
What is an OCO order?
What is an OCO order?
What is an OTOCO order?
What is an OTOCO order?
What is the default slippage?
What is the default slippage?
Can I set a trigger based on market cap?
Can I set a trigger based on market cap?
triggerPriceUsd). Market cap targeting is a convenience feature on the jup.ag frontend — it converts the market cap to a USD price before submitting to the API. To replicate this, divide the target market cap by the token’s total supply to get the per-token USD price.Are my pending orders visible to MEV bots?
Are my pending orders visible to MEV bots?
Does Trigger V2 support integrator fees?
Does Trigger V2 support integrator fees?
