jup-ag/agent-skills/integrating-jupiter
Claude Code and agent skill by jup-ag/agent-skills
- community
Checking that the SKILL.md file is still in the repository.
Comprehensive guidance for integrating Jupiter APIs (Swap, Lend, Perps, Trigger, Recurring, Tokens, Price, Portfolio, Prediction Markets, Send, Studio, Lock, Routing). Use for endpoint selection, integration flows, error handling, and production hardening.
Install
npx vskill@latest install jup-ag/agent-skills/integrating-jupiterSKILL.md
Jupiter API Integration
Single skill for all Jupiter APIs, optimized for fast routing and deterministic execution.
Base URL: https://api.jup.ag Auth: x-api-key from developers.jup.ag (required for Jupiter REST endpoints)
Use/Do Not Use
Use when:
- The task requires choosing or calling Jupiter endpoints.
- The task involves swap, lending, perps, orders, pricing, portfolio, send, studio, lock, or routing.
- The user needs debugging help for Jupiter API calls.
Do not use when:
- The task is generic Solana setup with no Jupiter API usage.
- The task is UI-only with no API behavior decisions.
- The agent context is not DeFi/crypto (generic triggers like
buy,sell,tradeassume a DeFi domain).
Triggers: swap, quote, gasless, best route, buy, sell, trade, convert, token exchange, jupiter api, jup.ag, ultra, metis, ultra swap, ultra api, ultra-api.jup.ag, lend, borrow, earn, yield, apy, deposit, liquidation, perps, leverage, long, short, position, futures, margin trading, limit order, trigger, price condition, dca, recurring, scheduled swaps, token metadata, token search, verification, shield, price, valuation, price feed, portfolio, positions, holdings, prediction markets, market odds, event market, invite transfer, send, clawback, create token, studio, claim fee, vesting, distribution lock, unlock schedule, dex integration, rfq integration, routing engine, status page, health check, service health, accumulate, auto-buy
Developer Quickstart
Token Amounts & Decimals
Every Jupiter amount field is in the token's smallest unit (raw integer) — never a human/UI value.
- Common decimals: SOL & wSOL = 9, USDC & USDT = 6. Canonical mints: SOL
So11111111111111111111111111111111111111112, USDCEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v. - Convert human → raw:
raw = Math.round(human * 10 ** decimals). Examples:1 SOL → 1_000_000_000,100 USDC → 100_000_000.slippageBpsis basis points:0.5% = 50,1% = 100. - Read decimals per-mint on-chain with
getMint(connection, mintPubkey)from@solana/spl-token— never hardcode (decimals vary by token), and do not call the Price API just to discover decimals.
Intent Router (first step)
| User intent | API family | First action | |
|---|---|---|---|
| Swap/quote | Swap | GET /swap/v2/order -> sign -> POST /swap/v2/execute | |
| Lend/borrow/yield | Lend | POST /lend/v1/earn/deposit or /withdraw | |
| Leverage/perps | Perps | On-chain via Anchor IDL (no REST API yet) | |
| Limit orders | Trigger | JWT auth -> POST /trigger/v2/orders/price | |
| DCA/recurring buys | Recurring | POST /recurring/v1/createOrder -> sign -> POST /recurring/v1/execute | |
| Token search | Tokens | GET /tokens/v2/search?query={mint} | |
| Token verification/metadata update | Use jupiter-vrfd skill | Defer — not handled by this skill | |
| Price lookup | Price | GET /price/v3?ids={mints} | |
| Portfolio/positions | Portfolio | GET /portfolio/v1/positions/{address} | |
| Prediction market integration | Prediction Markets | GET /prediction/v1/events -> POST /prediction/v1/orders | |
| Invite send/clawback | Send | POST /send/v1/craft-send -> sign -> send to RPC | |
| Token creation/fees | Studio | POST /studio/v1/dbc-pool/create-tx -> upload -> submit | |
| Vesting/distribution | Lock | On-chain program LocpQgucEQHbqNABEYvBvwoxCPsSbG91A1QaQhQQqjn | |
| DEX/RFQ integration | Routing | Choose DEX (AMM trait) vs RFQ (webhook) path |
API Playbooks
Use each block as a minimal execution contract. Fetch the linked refs for full request/response shapes, TypeScript interfaces, and parameter details.
Swap
- Base URL:
https://api.jup.ag/swap/v2 - Triggers:
swap,quote,gasless,best route - Fee: Variable by pair — 0 bps (Jupiter tokens/pegged), 2 bps (SOL-Stable), 5 bps (LST-Stable), 10 bps (most pairs), 50 bps (tokens < 24h). Referral fees: 50-255 bps (Jupiter retains 20%).
- Rate Limit: 50 req/10s base, scales with 24h execute volume (see Rate Limits)
- Endpoints:
/order(GET),/execute(POST),/build(GET, Metis-only raw instructions) - Quote vs. execute: For a read-only quote/price preview, call
GET /orderand omit `taker` — the responsetransactionisnulland you readoutAmount,routePlan[].swapInfo.label, and price-impact fields. Passtaker(then sign +POST /execute) only when you actually intend to swap. There is no separate quote endpoint —/swap/v1/quoteis deprecated; use/swap/v2/orderfor quotes too. - Routing: 4 routers compete — Metis (
metis), JupiterZ (jupiterz), Dflow (dflow), OKX (okx). Therouterresponse field returns one of these values.swapTypeisaggregator(Metis, Dflow, or OKX) orrfq(JupiterZ). Responsemodefield:"ultra"(all routers, default params) or"manual"(restricted by optional params)./builduses Metis only. - Gasless: Three paths — automatic (Jupiter-covered), JupiterZ (MM-covered), integrator-payer (
payerparam, Metis-only routing). Eligibility varies by balance, trade size, and parameters used. See Gasless docs for current thresholds and disqualifying params. - Gotchas:
- Signed payloads have ~2 min TTL. Transactions are immutable after receipt.
- Split order/execute in code and logging. Re-quote before execution when conditions may have changed.
- Routing impact of optional params:
referralAccount+referralFeedisable JupiterZ only (Metis/Dflow/OKX remain);payer(integrator gasless) restricts routing to Metis only (disables JupiterZ, Dflow, and OKX);receiverdoes NOT restrict routing, but must differ fromtaker(receiver=takerreturns400 "Receiver cannot be same as taker"). /buildtransactions cannot use/execute— self-manage via RPC.- Migrating from an older integration? Use the
jupiter-swap-migrationskill. - Refs: Overview | Order & Execute | Build | Gasless | Migration | OpenAPI
Fees are documented inline on the Order & Execute and Build pages; router competition and the parameter routing-impact matrix are on the Overview and Order & Execute pages.
Common error codes returned by /swap/v2/execute with recommended actions:
| Code | Category | Meaning | Retryable | Action | |
|---|---|---|---|---|---|
0 | Success | Transaction confirmed | — | — | |
-1 | Execute | Missing/expired cached order | Yes | Re-quote and retry | |
-2 | Execute | Invalid signed transaction | No | Fix transaction signing | |
-3 | Execute | Invalid message bytes | No | Fix serialization | |
-1000 | Aggregator | Failed landing attempt | Yes | Re-quote with adjusted params | |
-1001 | Aggregator | Unknown error | Yes | Retry with backoff | |
-1002 | Aggregator | Invalid transaction | No | Fix transaction construction | |
-1003 | Aggregator | Transaction not fully signed | No | Ensure all required signers | |
-1004 | Aggregator | Invalid block height | Yes | Re-quote (stale blockhash) | |
-2000 | RFQ | Failed landing | Yes | Re-quote and retry | |
-2001 | RFQ | Unknown error | Yes | Retry with backoff | |
-2002 | RFQ | Invalid payload | No | Fix request payload | |
-2003 | RFQ | Quote expired | Yes | Re-quote and retry | |
-2004 | RFQ | Swap rejected | Yes | Re-quote, possibly different route | |
429 | Rate limit | Rate limited | Yes | Exponential backoff, wait 10s window |
On success, /execute returns { status: "Success", code: 0, signature, inputAmountResult, outputAmountResult, slot, totalInputAmount, totalOutputAmount }. On failure it returns status: "Failed" with a non-zero code and an error string. inputAmountResult/outputAmountResult are the actual on-chain amounts; reconcile against your quote.
Lend
- Base URL:
https://api.jup.ag/lend/v1 - Triggers:
lend,borrow,earn,liquidation - Programs: Earn
jup3YeL8QhtSx1e253b2FDvsMNC87fDrgQZivbrndc9, Borrowjupr81YtYssSyPt8jbnGuiWon5f6x9TcDEFxYe3Bdzi - SDK:
@jup-ag/lend(TypeScript) - Endpoints:
/earn/deposit(POST),/earn/withdraw(POST),/earn/mint(POST),/earn/redeem(POST),/earn/deposit-instructions(POST),/earn/withdraw-instructions(POST),/earn/tokens(GET),/earn/positions(GET),/earn/earnings(GET) - Gotchas: Recompute account state before each state-changing action. Encode risk checks (health factors, liquidation boundaries) as preconditions. All deposit/withdraw/mint/redeem return base64 unsigned
VersionedTransaction. - For SDK-level integration with
@jup-ag/lendand@jup-ag/lend-read, use thejupiter-lendskill. - Refs: Overview | Earn | SDK | OpenAPI
Perps
- Status: API is work-in-progress. No REST endpoints yet. Interact on-chain via Anchor IDL.
- Triggers:
perps,leverage,long,short,position - Community SDK: github.com/julianfssen/jupiter-perps-anchor-idl-parsing
- Gotchas: Max 9 simultaneous positions: 3 long (SOL, wETH, wBTC) + 6 short (3 tokens x 2 collateral USDC/USDT). Validate margin/leverage against account model.
- Refs: Overview | Position account | Position request
Trigger (Limit Orders)
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/integrating-jupiter/SKILL.md
Popularity
- Repository stars
- 70
- Repository forks
- 17
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 23 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/jup-ag/agent-skills/integrating-jupiter)