jup-ag/agent-skills

jupiter-swap-migration

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.

First seen Mar 28, 2026

Installation

$ npx skills add jup-ag/agent-skills --skill jupiter-swap-migration

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from jup-ag/agent-skills.

npx skills add jup-ag/agent-skills

Browse all from jup-ag/agent-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 83
License LICENSE
Default branch main
Open issues 3
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.1.0
LicenseMIT
More metadata
author
jup-ag
version
1.1.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,966 B
  • docs README.md 1,132 B
  • docs SUMMARY.md 246 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 217 installs

SKILL.md

Jupiter Swap Migration Guide

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/Do Not Use

Use when:

  • Migrating code that calls api.jup.ag/swap/v1/quote, api.jup.ag/swap/v1/swap-instructions, or ultra-api.jup.ag.
  • Updating Jupiter swap endpoints to v2.
  • Switching from Metis two-step flow to the unified /build or /order endpoint.

Do not use when:

  • Building a new Jupiter integration from scratch (use integrating-jupiter skill instead).
  • Working with non-swap Jupiter APIs (Lend, Trigger, Recurring, etc.).

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


Migration Paths

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

Path Details

Each path has a dedicated example with before/after code, parameter mappings, and response changes:

  • [Path 1: Ultra → /order](./examples/ultra-to-order.md) — Minimal migration, base URL change only
  • [Path 2: Metis → /build](./examples/metis-to-build.md) — Consolidates 2 calls into 1, parameter and response mapping
  • [Path 3: Metis → /order](./examples/metis-to-order.md) — Flow change to managed execution with multi-router competition

Post-Migration Checklist

  1. URL audit: Search codebase for ultra-api.jup.ag, /ultra/v1/, /swap/v1/quote, /swap/v1/swap-instructions — all should be replaced
  2. Parameter rename: userPublicKeytaker (for /build path)
  3. swapMode removal: V2 only supports ExactIn. If using ExactOut, redesign the flow — this mode is no longer available
  4. slippageBps default: /build defaults to 50 bps if omitted. For /order, verify the default if your integration relies on a specific value
  5. Response field names: Verify your code uses inputAmountResult/outputAmountResult for the /execute response (the canonical v2 field names)
  6. ALT handling: If using /build, switch from addressLookupTableAddresses (array) to addressesByLookupTableAddress (object) — remove RPC ALT resolution code
  7. Fee event parsing: V2 instructions don't emit fee events — update any transaction parser that depends on them
  8. Route plan format: If parsing route plans, use bps field (canonical) instead of percent
  9. Error codes: Update error handling to match Swap v2 error codes
  10. Test: Run end-to-end swap on devnet/mainnet with small amount to verify

Sunset

Remove 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.

References

Migration is split into three profile-targeted guides (the old single migration page no longer exists):