executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
jupiter-swap-migrationMigration guide from Jupiter Metis (v1) or Ultra to Swap API v2. Use when migrating existing Jupiter swap integrations, updating base URLs, or transitioning from quote+swap-instructions to the unified build endpoint.
Independent GitHub snapshot · Automated classification · Original documentation governs
name: jupiter-swap-migration description: Migration guide from Jupiter Metis (v1) or Ultra to Swap API v2. Use when migrating existing Jupiter swap integrations, updating base URLs, or transitioning from quote+swap-instructions to the unified build endpoint. license: MIT metadata: author: jup-ag version: "1.1.0" tags:
Migrate existing Jupiter swap integrations from Metis (v1) or Ultra to the unified Swap API v2.
Target Base URL: https://api.jup.ag/swap/v2
Auth: x-api-key from developers.jup.ag (unchanged)
Use when:
api.jup.ag/swap/v1/quote, api.jup.ag/swap/v1/swap-instructions, or ultra-api.jup.ag./build or /order endpoint.Do not use when:
integrating-jupiter skill instead).Triggers: ultra, metis, ultra swap, ultra api, ultra-api.jup.ag, /ultra/v1, swap/v1, swap-instructions, migrate swap, ultra migration, metis migration, swap v1 to v2, v1 to v2, upgrade jupiter, swap-instructions deprecated, deprecated swap, old jupiter api, swap upgrade, update swap api, quote endpoint deprecated, swap stopped working, swap broken, ExactOut removed, swapMode removed, userPublicKey, parameter rename, addressLookupTable, response format changed
| Source | Target | Effort | When to choose |
|---|---|---|---|
Ultra → /order | GET /swap/v2/order + POST /swap/v2/execute | Minimal (URL change only) | Default for Ultra users |
Metis → /build | GET /swap/v2/build | Moderate (parameter + response mapping) | Need transaction composability |
Metis → /order | GET /swap/v2/order + POST /swap/v2/execute | Moderate (flow change) | Don't need tx modification, want managed execution |
Each path has a dedicated example with before/after code, parameter mappings, and response changes:
/order — Minimal migration, base URL change only/build — Consolidates 2 calls into 1, parameter and response mapping/order — Flow change to managed execution with multi-router competitionultra-api.jup.ag, /ultra/v1/, /swap/v1/quote, /swap/v1/swap-instructions — all should be replaceduserPublicKey → taker (for /build path)swapMode removal: V2 only supports ExactIn. If using ExactOut, redesign the flow — this mode is no longer availableslippageBps default: /build defaults to 50 bps if omitted. For /order, verify the default if your integration relies on a specific valueinputAmountResult/outputAmountResult for the /execute response (the canonical v2 field names)/build, switch from addressLookupTableAddresses (array) to addressesByLookupTableAddress (object) — remove RPC ALT resolution codebps field (canonical) instead of percentRemove this skill once Jupiter decommissions the v1 (/swap/v1) endpoints and the Ultra (ultra-api.jup.ag) domain. At that point all integrations will already be on v2.
Review by: 2026-09-01 — check if v1/Ultra endpoints have been decommissioned.
Migration is split into three profile-targeted guides (the old single migration page no longer exists):