Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions .claude/rules/product-learning.md

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
# Local files
.env
audit/
dx-findings/
manualmode.zip
Private & Shared/
static/files/brand-kit/jupiter-brand-kit/
Expand Down
5 changes: 5 additions & 0 deletions api-reference/trigger/cancel-dca.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Cancel DCA Order"
description: "Initiate cancellation of a DCA order and craft the withdrawal transaction"
openapi: /openapi-spec/trigger/v2/trigger.yaml post /orders/dca/cancel/{id}
---
5 changes: 5 additions & 0 deletions api-reference/trigger/confirm-cancel-dca.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Confirm Cancel DCA Order"
description: "Submit the signed withdrawal transaction to finalize a DCA cancellation"
openapi: /openapi-spec/trigger/v2/trigger.yaml post /orders/dca/confirm-cancel/{id}
---
5 changes: 5 additions & 0 deletions api-reference/trigger/create-dca.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Create DCA Order"
description: "Create a recurring dollar-cost averaging order"
openapi: /openapi-spec/trigger/v2/trigger.yaml post /orders/dca
---
5 changes: 5 additions & 0 deletions api-reference/trigger/dca-history.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "List DCA Orders"
description: "List your DCA orders with full event history"
openapi: /openapi-spec/trigger/v2/trigger.yaml get /orders/history/dca
---
5 changes: 5 additions & 0 deletions api-reference/trigger/dca-order.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Get DCA Order"
description: "Get a single DCA order by ID, including fills and events"
openapi: /openapi-spec/trigger/v2/trigger.yaml get /orders/history/dca/{id}
---
9 changes: 9 additions & 0 deletions changelog/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,15 @@ llmsDescription: "Changelog for Jupiter developer APIs, SDKs, and docs. Tracks b

<Update label="June 2026" description="">

## Trigger API: Dollar-Cost Averaging (DCA) Orders

The Trigger API now documents DCA orders. A DCA order splits one deposit into multiple swaps that run on a fixed schedule, using the same vault, authentication, and deposit flow as price orders.

- Create with `POST /trigger/v2/orders/dca` (`time_based` or `price_conditional`)
- `orderCount` 2–100, `intervalSeconds` 60s–1 year, minimum 10 USD per round
- Cancel via the two-step withdrawal flow to refund the unfilled remainder
- [DCA guide](/trigger/dca)

## Swap API: JupiterZ Integrator Fees

Swap API `/order` supports integrator fees on JupiterZ routes. Requests using `referralAccount` and `referralFee` can receive RFQ quotes when JupiterZ is the best eligible route.
Expand Down
11 changes: 11 additions & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,7 @@
"trigger/lifecycle",
"trigger/authentication",
"trigger/create-order",
"trigger/dca",
"trigger/manage-orders",
"trigger/order-history",
"trigger/best-practices",
Expand Down Expand Up @@ -359,6 +360,16 @@
"api-reference/trigger/confirm-cancel"
]
},
{
"group": "DCA",
"pages": [
"api-reference/trigger/create-dca",
"api-reference/trigger/cancel-dca",
"api-reference/trigger/confirm-cancel-dca",
"api-reference/trigger/dca-history",
"api-reference/trigger/dca-order"
]
},
{
"group": "History",
"pages": ["api-reference/trigger/order-history"]
Expand Down
11 changes: 10 additions & 1 deletion llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -258,10 +258,11 @@ Vault-based limit orders with single, OCO (TP/SL), and OTOCO order types.

### Trigger

- [Trigger Order API Overview](https://developers.jup.ag/docs/trigger/index.md): Jupiter Trigger Order API V2 enables vault-based limit orders on Solana. Supports single price orders, OCO (one-cancels-other for TP/SL), and OTOCO (one-triggers-OCO) order types. Requires JWT authentication via challenge-response flow. Deposits go into vault accounts managed by Privy.
- [Trigger Order API Overview](https://developers.jup.ag/docs/trigger/index.md): Jupiter Trigger Order API V2 enables vault-based automated orders on Solana. Two order families: price orders (single limit, OCO for TP/SL, OTOCO conditional chains) and DCA (dollar-cost averaging, recurring time- or price-conditional swaps). Requires JWT authentication via challenge-response flow. Deposits go into Privy-managed vault accounts shared across all your orders.
- [Lifecycle](https://developers.jup.ag/docs/trigger/lifecycle.md): Maps the full Jupiter Trigger Order V2 integration flow across endpoints: POST /trigger/v2/auth/challenge and /auth/verify to get a JWT, GET /trigger/v2/vault (or /vault/register) to resolve the vault, POST /trigger/v2/deposit/craft to build a deposit and get a requestId, sign the deposit client-side, POST /trigger/v2/orders/price to create the order (id/ocoId), GET /trigger/v2/orders/history to monitor state, PATCH /trigger/v2/orders/price/{id} to update, and POST /trigger/v2/orders/price/cancel/{id} + /confirm-cancel/{id} to cancel and withdraw. Shows the call order, the data dependencies between calls (token, vaultPubkey, requestId, depositSignedTx, id, cancelRequestId), the order state machine (open, executing, filled, expired, cancelled, pending_withdraw), how OCO and OTOCO orders branch, and how to recover a cancellation that was interrupted. Use this page to understand which endpoints to call in what order before integrating.
- [Authentication](https://developers.jup.ag/docs/trigger/authentication.md): POST /trigger/v2/auth/challenge requests a challenge (message or transaction). POST /trigger/v2/auth/verify submits the signed challenge and returns a JWT token (24h TTL). Use the JWT in Authorization: Bearer header for all authenticated endpoints.
- [Create Order](https://developers.jup.ag/docs/trigger/create-order.md): How to create Trigger V2 price orders using POST /trigger/v2/deposit/craft and POST /trigger/v2/orders/price. Covers the vault-based deposit flow, required craft-deposit fields including orderType: price and orderSubType (single, oco, otoco), client-side signing, create-order request bodies for single limit orders, OCO (one-cancels-other), and OTOCO (one-triggers-OCO), validation rules, and response handling.
- [Dollar-Cost Averaging (DCA)](https://developers.jup.ag/docs/trigger/dca.md): How to create Trigger V2 DCA (dollar-cost averaging) orders with POST /trigger/v2/deposit/craft (orderType: dca) and POST /trigger/v2/orders/dca. Covers the shared vault + JWT deposit flow, the time_based and price_conditional order types, all create parameters (orderCount min 2 with no fixed max, intervalSeconds 60s-1yr, minPriceUsd, maxPriceUsd, triggerMint, beginFillAt), validation (min 10 USD per round, max 10 active orders), how the keeper fills each round and delivers output to the wallet, tracking via GET /orders/history/dca and /orders/history/dca/{id}, and the two-step cancel/withdraw flow. Includes a complete runnable TypeScript example.
- [Manage Orders](https://developers.jup.ag/docs/trigger/manage-orders.md): PATCH /trigger/v2/orders/price/{orderId} updates order parameters. POST /trigger/v2/orders/price/cancel/{orderId} initiates cancellation and returns a withdrawal transaction. POST /trigger/v2/orders/price/confirm-cancel/{orderId} confirms with the signed withdrawal transaction.
- [Order History](https://developers.jup.ag/docs/trigger/order-history.md): GET /trigger/v2/orders/history returns paginated order history with state, events, and fill details. Filter by state (active/past), mint, and sort by updated_at/created_at/expires_at.
- [Best Practices](https://developers.jup.ag/docs/trigger/best-practices.md): Best practices for Trigger Order V2 integrations: order expiry is required (TTL improves execution quality), slippage recommendations by order type, error handling patterns, reference jup.ag frontend for implementation guidance.
Expand All @@ -284,6 +285,14 @@ Vault-based limit orders with single, OCO (TP/SL), and OTOCO order types.
- [Cancel Order](https://developers.jup.ag/docs/openapi-spec/trigger/v2/trigger.yaml): Cancel a pending trigger order
- [Confirm Cancel](https://developers.jup.ag/docs/openapi-spec/trigger/v2/trigger.yaml): Confirm and execute a pending order cancellation

#### DCA

- [Create DCA Order](https://developers.jup.ag/docs/openapi-spec/trigger/v2/trigger.yaml): Create a recurring dollar-cost averaging order
- [Cancel DCA Order](https://developers.jup.ag/docs/openapi-spec/trigger/v2/trigger.yaml): Initiate cancellation of a DCA order and craft the withdrawal transaction
- [Confirm Cancel DCA Order](https://developers.jup.ag/docs/openapi-spec/trigger/v2/trigger.yaml): Submit the signed withdrawal transaction to finalize a DCA cancellation
- [List DCA Orders](https://developers.jup.ag/docs/openapi-spec/trigger/v2/trigger.yaml): List your DCA orders with full event history
- [Get DCA Order](https://developers.jup.ag/docs/openapi-spec/trigger/v2/trigger.yaml): Get a single DCA order by ID, including fills and events

#### History

- [Order History](https://developers.jup.ag/docs/openapi-spec/trigger/v2/trigger.yaml): Get historical trigger orders for an account
Expand Down
Loading