Agent skill

Jupiter Skill

by LeoYeAI in LeoYeAI/openclaw-master-skills

Execute Jupiter API operations on Solana - fetch quotes, sign transactions, execute swaps, prediction markets.

MITAuto-check passedBusiness, Finance & HR

Install Jupiter Skill

skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill jupiter-skill -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LeoYeAI/openclaw-master-skills jupiter-skill --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/jup-skill .claude/skills/jupiter-skill && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
jupiter-skill
GitHub stars
2.2k
Token cost
~5.7k tokens
SKILL.md length
1,459 words
Files
11 (incl. scripts)
Skills in repo
972
Repo updated
First seen
Licence
MIT

At a glance

Execute Jupiter API operations on Solana - fetch quotes, sign transactions, execute swaps, prediction markets.

  • Works in 3 steps: Visit portal.jup.ag → Create account and generate API key → Set via environment variable (recommended)
  • Implementing token swaps
  • SKILL.md covers Quick Reference, Setup, API Key Setup and Wallet Safety, plus 6 more sections
  • Runs TypeScript scripts from its folder; calls pnpm and jq; reaches dev.jup.ag and api.mainnet-beta.solana.com; needs JUP_API_KEY

What it does

Jupiter Skill is an agent skill from LeoYeAI/openclaw-master-skills. Execute Jupiter API operations on Solana - fetch quotes, sign transactions, execute swaps, prediction markets. Use when implementing token swaps, DCA, limit orders, lending, prediction markets, or any Jupiter integration. Includes scripts for Ultra and Metis swap flows.

Its SKILL.md is about 5.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts (for example `README.md`, `_meta.json` and `package.json`).

It sits in Business, Finance & HR, covering Banking and insurance. It works with Solana and pnpm. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.

When your agent uses it

  • Implementing token swaps
  • Prediction markets
  • Any Jupiter integration

Example prompts

  • “/jupiter-skill”

Requirements

  • Node.js
  • A credential in JUP_API_KEY

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Visit portal.jup.ag
  2. Create account and generate API key
  3. Set via environment variable (recommended)

What it can do on your machine

Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 5 files in scripts/ (TypeScript), which the agent can run.

    Shell commands in SKILL.md call:

    • pnpm
    • jq

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • dev.jup.ag
    • api.mainnet-beta.solana.com
    • api.jup.ag

    Also links to:

    • portal.jup.ag
    • solscan.io
    • status.jup.ag

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • JUP_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Jupiter Skill loads about 5.7k tokens when it runs. Until then it costs about 71 tokens; SKILL.md has 1,459 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~71
When it runs · the whole SKILL.md, loaded when a task matches
~5.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 1,459 words, ~5,746 tokens.

Download SKILL.mdSave it as .claude/skills/jupiter-skill/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
jupiter-skill
description
Execute Jupiter API operations on Solana - fetch quotes, sign transactions, execute swaps, prediction markets. Use when implementing token swaps, DCA, limit orders, lending, prediction markets, or any Jupiter integration. Includes scripts for Ultra and Metis swap flows.
metadata.primary_credential
JUP_API_KEY
metadata.required_environment_variables
JUP_API_KEY
metadata.optional_environment_variables
SOLANA_RPC_URL
metadata.required_config_paths
~/.config/solana/id.json
metadata.sensitive_inputs
Solana wallet JSON file containing private key material

Jupiter API Skill

Execute Jupiter API operations through 4 utility scripts for fetching data, signing transactions, and executing swaps on Solana.

Base URL: https://api.jup.ag

Quick Reference

TaskScriptExample
Fetch any Jupiter APIfetch-api.tspnpm fetch-api -e /ultra/v1/search -p '{"query":"SOL"}'
Sign a transactionwallet-sign.tspnpm wallet-sign -t "BASE64_TX" -w ~/.config/solana/id.json
Execute Ultra orderexecute-ultra.tspnpm execute-ultra -r "REQUEST_ID" -t "SIGNED_TX"
Send tx to RPCsend-transaction.tspnpm send-transaction -t "SIGNED_TX"

Setup

Install dependencies before using scripts:

bash
cd /path/to/jup-skill
pnpm install

Run pnpm install once per clone (and again after dependency changes) before any pnpm fetch-api, pnpm wallet-sign, pnpm execute-ultra, or pnpm send-transaction command.

API Key Setup

ALWAYS required. All Jupiter API endpoints require an x-api-key header.

  1. Visit portal.jup.ag
  2. Create account and generate API key
  3. Set via environment variable (recommended):
    bash
    export JUP_API_KEY=your_api_key_here
    Or pass via --api-key flag on each command.

Wallet Safety

Signing requires access to a local Solana wallet JSON file (--wallet), which contains private key material.

  • Do not use a high-value wallet for automation.
  • Prefer a dedicated low-balance wallet for this workflow.
  • For testing, prefer ephemeral keys.
  • If your setup supports it, prefer hardware signing over raw key files.

Scripts

fetch-api.ts

Fetch data from any Jupiter API endpoint.

bash
# Search for tokens
pnpm fetch-api -e /ultra/v1/search -p '{"query":"SOL"}'

# Get Ultra swap order (quote + unsigned transaction)
pnpm fetch-api -e /ultra/v1/order -p '{
  "inputMint": "So11111111111111111111111111111111111111112",
  "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "amount": "1000000",
  "taker": "YOUR_WALLET_ADDRESS"
}'

# Get Metis quote
pnpm fetch-api -e /swap/v1/quote -p '{
  "inputMint": "So11111111111111111111111111111111111111112",
  "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "amount": "1000000",
  "slippageBps": "50"
}'

# POST request (for Metis swap transaction)
pnpm fetch-api -e /swap/v1/swap -m POST -b '{
  "quoteResponse": {...},
  "userPublicKey": "YOUR_WALLET"
}'

Arguments:

  • -e, --endpoint (required): API path, e.g., /ultra/v1/order
  • -p, --params: Query params (GET) or body (POST) as JSON string
  • -b, --body: Request body for POST requests
  • -m, --method: HTTP method, GET (default) or POST
  • -k, --api-key: API key (or use JUP_API_KEY env var)
wallet-sign.ts

Sign transactions using a local wallet file.

SECURITY NOTE: The --wallet flag is required. This script does not accept private keys via command line arguments to prevent exposure in shell history and process listings.

bash
# Using Solana CLI wallet (JSON array format)
pnpm wallet-sign -t "BASE64_UNSIGNED_TX" --wallet ~/.config/solana/id.json

# Tilde expansion is supported
pnpm wallet-sign -t "BASE64_UNSIGNED_TX" --wallet ~/my-wallets/trading.json

Arguments:

  • -t, --unsigned-tx (required): Base64-encoded unsigned transaction
  • -w, --wallet (required): Path to Solana CLI JSON wallet file (supports ~ for home directory)

Output: Signed transaction (base64) to stdout.

execute-ultra.ts

Execute Ultra orders after signing.

bash
pnpm execute-ultra -r "REQUEST_ID_FROM_ORDER" -t "BASE64_SIGNED_TX"

Arguments:

  • -r, --request-id (required): Request ID from /ultra/v1/order response
  • -t, --signed-tx (required): Base64-encoded signed transaction
  • -k, --api-key: API key (or use JUP_API_KEY env var)

Output: Execution result JSON including signature and status.

send-transaction.ts

Send signed transactions to Solana RPC. Use for Metis swaps (Ultra handles RPC internally).

Warning: The default public Solana RPC (api.mainnet-beta.solana.com) is rate-limited and unreliable for production use. Use a dedicated RPC provider (Helius, QuickNode, Triton, etc.) for production applications.

bash
# Default RPC (mainnet-beta)
pnpm send-transaction -t "BASE64_SIGNED_TX"

# Custom RPC
pnpm send-transaction -t "BASE64_SIGNED_TX" -r "https://your-rpc.com"

# With environment variable
export SOLANA_RPC_URL="https://your-rpc.com"
pnpm send-transaction -t "BASE64_SIGNED_TX"

Arguments:

  • -t, --signed-tx (required): Base64-encoded signed transaction
  • -r, --rpc-url: RPC endpoint (default: https://api.mainnet-beta.solana.com)
  • --skip-preflight: Skip preflight checks (faster, less safe)
  • --max-retries: Max send retries (default: 3)

Output: Transaction signature to stdout.


Workflows

Ultra is RPC-less, gasless, with automatic slippage optimization.

Ultra Swap Progress:
- [ ] Step 1: Get order from /ultra/v1/order
- [ ] Step 2: Sign the transaction
- [ ] Step 3: Execute via /ultra/v1/execute
- [ ] Step 4: Verify result

Step 1: Get Order

bash
ORDER=$(pnpm fetch-api -e /ultra/v1/order -p '{
  "inputMint": "So11111111111111111111111111111111111111112",
  "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "amount": "1000000",
  "taker": "YOUR_WALLET_ADDRESS"
}')
echo "$ORDER"

Response contains requestId and transaction (base64 unsigned).

Step 2: Sign Transaction

Extract transaction from response and sign:

bash
UNSIGNED_TX=$(echo "$ORDER" | jq -r '.transaction')
SIGNED_TX=$(pnpm wallet-sign -t "$UNSIGNED_TX" -w ~/.config/solana/id.json)

Step 3: Execute Order

bash
REQUEST_ID=$(echo "$ORDER" | jq -r '.requestId')
pnpm execute-ultra -r "$REQUEST_ID" -t "$SIGNED_TX"

Step 4: Verify

Check the signature on Solscan.


Metis Swap (Advanced)

Use Metis when you need custom transaction composition or fine-grained control.

Metis Swap Progress:
- [ ] Step 1: Get quote from /swap/v1/quote
- [ ] Step 2: Build transaction via /swap/v1/swap
- [ ] Step 3: Sign the transaction
- [ ] Step 4: Send to RPC
- [ ] Step 5: Verify on-chain

Step 1: Get Quote

bash
QUOTE=$(pnpm fetch-api -e /swap/v1/quote -p '{
  "inputMint": "So11111111111111111111111111111111111111112",
  "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "amount": "1000000",
  "slippageBps": "50"
}')

Step 2: Build Transaction

bash
SWAP_TX=$(pnpm fetch-api -e /swap/v1/swap -m POST -b "{
  \"quoteResponse\": $QUOTE,
  \"userPublicKey\": \"YOUR_WALLET_ADDRESS\",
  \"dynamicComputeUnitLimit\": true,
  \"prioritizationFeeLamports\": \"auto\"
}")

Step 3: Sign

bash
UNSIGNED_TX=$(echo "$SWAP_TX" | jq -r '.swapTransaction')
SIGNED_TX=$(pnpm wallet-sign -t "$UNSIGNED_TX" --wallet ~/.config/solana/id.json)

Step 4: Send to RPC

bash
pnpm send-transaction -t "$SIGNED_TX" -r "https://your-rpc.com"

Step 5: Verify

Check signature on Solscan.


Prediction Markets (Beta)

Trade on real-world event outcomes. Contracts trade $0-$1 USD, with prices reflecting outcome probability.

Prediction Market Flow:
- [ ] Step 1: Browse events/markets
- [ ] Step 2: Create order (buy YES/NO contracts)
- [ ] Step 3: Sign and send transaction
- [ ] Step 4: Monitor position
- [ ] Step 5: Claim winnings (if correct)

Step 1: Browse Events

bash
# Search for events
pnpm fetch-api -e /prediction/v1/events/search -p '{"query":"election","limit":"10"}'

# List all events
pnpm fetch-api -e /prediction/v1/events -p '{"category":"politics","includeMarkets":"true"}'

# Get specific event with markets
pnpm fetch-api -e /prediction/v1/events/{eventId} -p '{"includeMarkets":"true"}'

Step 2: Create Order

bash
# Buy YES contracts on a market
ORDER=$(pnpm fetch-api -e /prediction/v1/orders -m POST -b '{
  "ownerPubkey": "YOUR_WALLET_ADDRESS",
  "marketId": "MARKET_ID",
  "isYes": true,
  "isBuy": true,
  "contracts": 10,
  "maxBuyPriceUsd": 0.65
}')

Response contains transaction (base64 unsigned) and order details.

Step 3: Sign and Send

bash
UNSIGNED_TX=$(echo "$ORDER" | jq -r '.transaction')
SIGNED_TX=$(pnpm wallet-sign -t "$UNSIGNED_TX" -w ~/.config/solana/id.json)
pnpm send-transaction -t "$SIGNED_TX" -r "YOUR_RPC_URL"

Step 4: Monitor Position

bash
# List your positions
pnpm fetch-api -e /prediction/v1/positions -p '{"ownerPubkey":"YOUR_WALLET_ADDRESS"}'

# Get specific position
pnpm fetch-api -e /prediction/v1/positions/{positionPubkey}

# View order history
pnpm fetch-api -e /prediction/v1/history -p '{"ownerPubkey":"YOUR_WALLET_ADDRESS"}'

Step 5: Claim Winnings

After market resolves, claim payout for winning positions:

bash
CLAIM=$(pnpm fetch-api -e /prediction/v1/positions/{positionPubkey}/claim -m POST -b '{
  "ownerPubkey": "YOUR_WALLET_ADDRESS"
}')
UNSIGNED_TX=$(echo "$CLAIM" | jq -r '.transaction')
SIGNED_TX=$(pnpm wallet-sign -t "$UNSIGNED_TX" -w ~/.config/solana/id.json)
pnpm send-transaction -t "$SIGNED_TX" -r "YOUR_RPC_URL"

Prediction API Endpoints

MethodEndpointDescription
GET/prediction/v1/eventsList events with filters
GET/prediction/v1/events/searchSearch events by query
GET/prediction/v1/events/{eventId}Get event details
GET/prediction/v1/markets/{marketId}Get market details
GET/prediction/v1/orderbook/{marketId}Get orderbook
POST/prediction/v1/ordersCreate order (returns unsigned tx)
DELETE/prediction/v1/ordersClose/cancel order
GET/prediction/v1/positionsList user positions
DELETE/prediction/v1/positions/{positionPubkey}Sell position
POST/prediction/v1/positions/{positionPubkey}/claimClaim winnings
GET/prediction/v1/leaderboardsView leaderboards
GET/prediction/v1/profiles/{ownerPubkey}User profile stats

Key Concepts

  • Contracts: Trade in units, each worth $0-$1 based on probability
  • YES/NO: Binary outcomes - buy YES if you think event happens, NO otherwise
  • Settlement: Winning contracts pay $1, losing contracts pay $0
  • No claim fees: Winners receive full $1 per contract

Jupiter Lend

Deposit tokens to earn yield or borrow against collateral.

Deposit (Earn)

bash
# Get deposit transaction
DEPOSIT=$(pnpm fetch-api -e /lend/v1/earn/deposit -m POST -b '{
  "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "amount": "1000000",
  "signer": "YOUR_WALLET_ADDRESS"
}')

# Sign and send
UNSIGNED_TX=$(echo "$DEPOSIT" | jq -r '.transaction')
SIGNED_TX=$(pnpm wallet-sign -t "$UNSIGNED_TX" -w ~/.config/solana/id.json)
pnpm send-transaction -t "$SIGNED_TX" -r "YOUR_RPC_URL"

Withdraw

bash
WITHDRAW=$(pnpm fetch-api -e /lend/v1/earn/withdraw -m POST -b '{
  "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "amount": "1000000",
  "signer": "YOUR_WALLET_ADDRESS"
}')
# Sign and send as above

Portfolio API

Track DeFi positions, platform info, and staked JUP across Solana.

Get Positions

Fetch all positions for a wallet address across Jupiter products.

bash
# Get all positions
pnpm fetch-api -e /portfolio/v1/positions/YOUR_WALLET_ADDRESS

# Filter by specific platforms
pnpm fetch-api -e /portfolio/v1/positions/YOUR_WALLET_ADDRESS -p '{"platforms":"jupiter-exchange,jupiter-governance"}'

Response includes:

  • elements: Array of position types (Multiple, Liquidity, Leverage, BorrowLend, Trade)
  • tokenInfo: Token metadata indexed by network and address
  • fetcherReports: Status of each data fetcher

Get Platforms

List all available platforms tracked by the Portfolio API.

bash
pnpm fetch-api -e /portfolio/v1/platforms

Response includes platform details:

  • id: Platform identifier (e.g., jupiter-exchange)
  • name: Display name
  • image: Logo URL
  • description: Platform summary
  • defiLlamaId: DefiLlama reference
  • isDeprecated: Whether platform is deprecated
  • tags: Categorization tags
  • links: Social/web links (website, discord, twitter, github, docs)

Get Staked JUP

Check staked JUP amounts and pending unstaking for a wallet.

bash
pnpm fetch-api -e /portfolio/v1/staked-jup/YOUR_WALLET_ADDRESS

Response:

json
{
  "stakedAmount": 15000.5,
  "unstaking": [
    {
      "amount": 500,
      "until": 1711000000000
    }
  ]
}
  • stakedAmount: Total staked JUP
  • unstaking: Pending unstakes with amount and completion timestamp (ms)

Trigger API (Limit Orders)

Create orders that execute automatically when price conditions are met.

Create Limit Order

bash
ORDER=$(pnpm fetch-api -e /trigger/v1/createOrder -m POST -b '{
  "inputMint": "So11111111111111111111111111111111111111112",
  "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "maker": "YOUR_WALLET_ADDRESS",
  "payer": "YOUR_WALLET_ADDRESS",
  "params": {
    "makingAmount": "1000000000",
    "takingAmount": "150000000",
    "expiredAt": null
  }
}')

# Sign and send
UNSIGNED_TX=$(echo "$ORDER" | jq -r '.transaction')
SIGNED_TX=$(pnpm wallet-sign -t "$UNSIGNED_TX" -w ~/.config/solana/id.json)
pnpm send-transaction -t "$SIGNED_TX" -r "YOUR_RPC_URL"

Parameters:

  • makingAmount: Amount of input token to sell (in smallest units)
  • takingAmount: Minimum amount of output token to receive
  • expiredAt: Unix timestamp for expiration (null = no expiry)
  • slippageBps: Optional slippage tolerance (0 = exact price only)

Get Orders

bash
# Get active orders
pnpm fetch-api -e /trigger/v1/getTriggerOrders -p '{"user":"YOUR_WALLET","orderStatus":"active"}'

# Get order history
pnpm fetch-api -e /trigger/v1/getTriggerOrders -p '{"user":"YOUR_WALLET","orderStatus":"history","page":"1"}'

Cancel Order

bash
# Cancel single order
CANCEL=$(pnpm fetch-api -e /trigger/v1/cancelOrder -m POST -b '{
  "maker": "YOUR_WALLET_ADDRESS",
  "order": "ORDER_ACCOUNT_ADDRESS",
  "computeUnitPrice": "auto"
}')
# Sign and send transaction

# Cancel all orders (batched in groups of 5)
CANCEL_ALL=$(pnpm fetch-api -e /trigger/v1/cancelOrders -m POST -b '{
  "maker": "YOUR_WALLET_ADDRESS",
  "computeUnitPrice": "auto"
}')

Trigger API Endpoints

MethodEndpointDescription
POST/trigger/v1/createOrderCreate limit order
GET/trigger/v1/getTriggerOrdersGet orders by wallet
POST/trigger/v1/cancelOrderCancel single order
POST/trigger/v1/cancelOrdersCancel multiple orders (batched)

Fees: 0.03% for stable pairs, 0.1% for other pairs.


Show full SKILL.md (574 more words)Show less
Recurring API (DCA)

Automate recurring token purchases at specified intervals.

Create DCA Order

bash
ORDER=$(pnpm fetch-api -e /recurring/v1/createOrder -m POST -b '{
  "user": "YOUR_WALLET_ADDRESS",
  "inputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "outputMint": "So11111111111111111111111111111111111111112",
  "params": {
    "time": {
      "inAmount": "10000000",
      "numberOfOrders": 10,
      "interval": 86400,
      "minPrice": null,
      "maxPrice": null,
      "startAt": null
    }
  }
}')

# Sign and send
UNSIGNED_TX=$(echo "$ORDER" | jq -r '.transaction')
SIGNED_TX=$(pnpm wallet-sign -t "$UNSIGNED_TX" -w ~/.config/solana/id.json)
pnpm send-transaction -t "$SIGNED_TX" -r "YOUR_RPC_URL"

Parameters:

  • inAmount: Total amount to spend (raw units)
  • numberOfOrders: How many purchases to make
  • interval: Seconds between purchases (86400 = daily)
  • minPrice/maxPrice: Optional price bounds (null = any price)
  • startAt: Unix timestamp to start (null = immediate)

Get Orders

bash
# Get active DCA orders
pnpm fetch-api -e /recurring/v1/getRecurringOrders -p '{"user":"YOUR_WALLET","orderStatus":"active","recurringType":"time"}'

# Get order history
pnpm fetch-api -e /recurring/v1/getRecurringOrders -p '{"user":"YOUR_WALLET","orderStatus":"history","recurringType":"time","page":"1"}'

Cancel Order

bash
CANCEL=$(pnpm fetch-api -e /recurring/v1/cancelOrder -m POST -b '{
  "user": "YOUR_WALLET_ADDRESS",
  "order": "ORDER_ACCOUNT_ADDRESS",
  "recurringType": "time"
}')
# Sign and send transaction

Recurring API Endpoints

MethodEndpointDescription
POST/recurring/v1/createOrderCreate DCA order
GET/recurring/v1/getRecurringOrdersGet orders by wallet
POST/recurring/v1/cancelOrderCancel order

Fees: 0.1% per execution. Token2022 tokens NOT supported.


API Endpoints Reference

Use CaseAPIEndpoint
Token swaps (default)Ultra/ultra/v1/order, /ultra/v1/execute
Swaps with controlMetis/swap/v1/quote, /swap/v1/swap
Limit ordersTrigger/trigger/v1/createOrder, /trigger/v1/cancelOrder
Get limit ordersTrigger/trigger/v1/getTriggerOrders
DCA ordersRecurring/recurring/v1/createOrder, /recurring/v1/cancelOrder
Get DCA ordersRecurring/recurring/v1/getRecurringOrders
Token searchUltra/ultra/v1/search
Token holdingsUltra/ultra/v1/holdings/{address}
Token warningsUltra/ultra/v1/shield
Token pricesPrice/price/v3?ids={mints}
Token metadataTokens/tokens/v2/search?query={query}
Portfolio positionsPortfolio/portfolio/v1/positions/{address}
Portfolio platformsPortfolio/portfolio/v1/platforms
Staked JUPPortfolio/portfolio/v1/staked-jup/{address}
Prediction marketsPrediction/prediction/v1/events, /prediction/v1/orders
Lending depositLend/lend/v1/earn/deposit
Lending withdrawLend/lend/v1/earn/withdraw

Caveats & Limitations

API Key & Rate Limits
TierRate Limit
Free60 requests/minute
ProUp to 30,000 requests/minute
UltraDynamic scaling with executed swap volume

Ultra rate limits increase as you execute more swaps. Base: 50 requests per 10-second window.

Fees
APIFee
Ultra5-10 basis points per swap
MetisNo Jupiter fee (you pay gas)

Integrators can add custom fees (50-255 bps). Jupiter takes 20% of integrator fees.

Gasless Requirements

Ultra offers "gasless" swaps where Jupiter pays the transaction fees, but with important caveats:

  • User still needs SOL for account rent (creating token accounts)
  • User must sign the transaction (not truly "zero-touch")
  • Minimum trade amount: ~$10 equivalent
  • Automatic when taker has <0.01 SOL
  • JupiterZ RFQ: market makers pay transaction fees
Transaction Size Limit

Solana transactions are limited to 1232 bytes. If you hit this:

  • Reduce maxAccounts parameter in quote request
  • Use dynamicComputeUnitLimit: true for Metis
Token Limitations
  • Token2022: NOT supported for Recurring (DCA) orders
  • Some tokens may have transfer fees or freeze authority
Ultra vs Metis
FeatureUltraMetis
RPC requiredNo (Jupiter handles)Yes (your RPC)
GaslessYes (conditions apply)No
Custom instructionsNoYes
Transaction compositionNoYes
SlippageAuto-optimizedManual

Use Ultra for most swaps. Use Metis only when you need to add custom instructions or compose transactions.

Common Errors
ErrorCauseFix
TransactionExpiredBlockhashNotFoundBlockhash expiredRequest fresh order/quote
SlippageToleranceExceededPrice moved too muchIncrease slippage or retry
InsufficientFundsNot enough SOL/tokensCheck balances
RateLimited (429)Too many requestsWait and retry, or upgrade tier
InvalidSignatureWrong signer or corrupted txVerify wallet matches taker address
Ultra Execute Error Codes
CodeMeaning
0Success
-1 to -5Client/validation errors
-1000 to -1999Aggregator routing errors
-2000 to -2999RFQ (market maker) errors

Environment Variables

VariableDescriptionDefault
JUP_API_KEYJupiter API key(required)
SOLANA_RPC_URLRPC endpoint for send-transactionhttps://api.mainnet-beta.solana.com

Common Token Mints

TokenMint Address
SOL (wrapped)So11111111111111111111111111111111111111112
USDCEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
USDTEs9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB
JUPJUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN

Resources

Freshness note: This skill includes Jupiter API guidance, but the API can change. After each new run/session, verify endpoints and params against the latest docs at dev.jup.ag.

Docs URLs for Claude Sync

Check these first on each run/session:

  • https://dev.jup.ag/llms.txt
  • https://dev.jup.ag/llms-full.txt

Then verify workflow-specific pages:

  • https://dev.jup.ag/get-started/index.md
  • https://dev.jup.ag/portal/setup.md
  • https://dev.jup.ag/portal/rate-limit.md
  • https://dev.jup.ag/portal/responses.md
  • https://dev.jup.ag/docs/ultra/index.md
  • https://dev.jup.ag/docs/ultra/get-started.md
  • https://dev.jup.ag/docs/ultra/get-order.md
  • https://dev.jup.ag/docs/ultra/execute-order.md
  • https://dev.jup.ag/docs/ultra/response.md
  • https://dev.jup.ag/docs/ultra/rate-limit.md
  • https://dev.jup.ag/docs/ultra/search-token.md
  • https://dev.jup.ag/docs/swap/index.md
  • https://dev.jup.ag/docs/swap/get-quote.md
  • https://dev.jup.ag/docs/swap/build-swap-transaction.md
  • https://dev.jup.ag/docs/swap/send-swap-transaction.md
  • https://dev.jup.ag/docs/swap/common-errors.md
  • https://dev.jup.ag/updates/index.md

Any Jupiter docs page can also be fetched as markdown by appending .md to the path.

© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 10 other files (scripts) in skills/jup-skill of LeoYeAI/openclaw-master-skills.

  • SKILL.md
  • README.md
  • _meta.json
  • package.json
  • pnpm-lock.yaml
  • scripts/execute-ultra.ts
  • scripts/fetch-api.ts
  • scripts/send-transaction.ts
  • scripts/utils.ts
  • scripts/wallet-sign.ts
  • tsconfig.json

Open the folder on GitHubat commit e5199b5

Compare with similar skills

Jupiter Skill next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Jupiter Skill compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Jupiter Skill this skillLeoYeAI/openclaw-master-skills2.2k—~5.7kAutomated safety check: PassMIT
Swapper Depositswapperfinance/swapper-toolkit852—~1.8kAutomated safety check: PassMIT
Solana Payments Wallets Tradingnpc-live/clawfirm1561 repos~4.7kAutomated safety check: PassMIT
Squadsinternet-court/internet-court-skill6.4k2 repos~5.9kAutomated safety check: PassApache-2.0
Kaminoalsk1992/CloddsBot2.9k—~486Automated safety check: PassMIT
Marginfialsk1992/CloddsBot2.9k—~356Automated safety check: PassMIT

Similar skills

  • Swapper Deposit

    swapperfinance/swapper-toolkit

    Deposit and bridge funds into a wallet or protocol using Swapper Finance.

    852 GitHub stars~1.8k tokensUpdated 6 mo ago
    Business, Finance & HRAuto-check passed
  • Pay people in SOL or USDC, buy and sell tokens, check prices, discover trending and new tokens, create and manage Solana wallets, stake SOL, earn yield through lending and managed vaults, borrow…

    156 GitHub starsUsed in 1 repo~4.7k tokens
    Business, Finance & HRAuto-check passed
  • Squads

    internet-court/internet-court-skill

    Complete guide for Squads Protocol - Solana's leading smart account and multisig infrastructure.

    6.4k GitHub starsUsed in 2 repos~5.9k tokens
    Business, Finance & HRAuto-check passed
  • Kamino

    alsk1992/CloddsBot

    Kamino Finance — Solana lending, borrowing, and liquidity vaults

    2.9k GitHub stars~486 tokensUpdated 6 days ago
    Business, Finance & HRAuto-check passed
  • Marginfi

    alsk1992/CloddsBot

    MarginFi — Solana lending and borrowing

    2.9k GitHub stars~356 tokensUpdated 6 days ago
    Business, Finance & HRAuto-check passed
  • Solend

    alsk1992/CloddsBot

    Solend — Solana lending and borrowing

    2.9k GitHub stars~378 tokensUpdated 6 days ago
    Business, Finance & HRAuto-check passed

More from LeoYeAI/openclaw-master-skills

All 972 skills in this repo
  • DevOps Pipeline Management

    LeoYeAI/openclaw-master-skills

    Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check: notes
  • Feishu Document Collaboration

    LeoYeAI/openclaw-master-skills

    Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.

    2.2k GitHub stars~2k tokensUpdated 2 mo ago
    Auto-check passed
  • Files Memory System

    LeoYeAI/openclaw-master-skills

    Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.

    2.2k GitHub stars~3.8k tokensUpdated 2 mo ago
    Auto-check passed
  • GEO-Claw AI Visibility Agent

    LeoYeAI/openclaw-master-skills

    Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.

    2.2k GitHub stars~4.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Google Workspace CLI

    LeoYeAI/openclaw-master-skills

    Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.

    2.2k GitHub stars~2.6k tokensUpdated 2 mo ago
    Auto-check: notes
  • HealthFit Health Advisors

    LeoYeAI/openclaw-master-skills

    Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.

    2.2k GitHub stars~4.4k tokensUpdated 2 mo ago
    Auto-check passed

Works with

Questions about Jupiter Skill

What does Jupiter Skill do?

Execute Jupiter API operations on Solana - fetch quotes, sign transactions, execute swaps, prediction markets. Jupiter Skill is an agent skill from LeoYeAI/openclaw-master-skills. Execute Jupiter API operations on Solana - fetch quotes, sign transactions, execute swaps, prediction markets.

When should I use Jupiter Skill?

Jupiter Skill fits situations like: implementing token swaps; prediction markets; any Jupiter integration.

How do I install Jupiter Skill in Claude Code?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill jupiter-skill -a claude-code`. Or copy the skill folder (skills/jup-skill in LeoYeAI/openclaw-master-skills) into .claude/skills/jupiter-skill in your project. Claude Code loads it when a task matches its description.

How do I install Jupiter Skill in Codex?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill jupiter-skill -a codex`. Or copy the skill folder (skills/jup-skill in LeoYeAI/openclaw-master-skills) into .agents/skills/jupiter-skill in your project. Codex loads it when a task matches its description.

Can I use Jupiter Skill in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill jupiter-skill -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jupiter-skill, .gemini/skills/jupiter-skill, .github/skills/jupiter-skill and .opencode/skills/jupiter-skill in your project.

What does Jupiter Skill need to run?

Going by SKILL.md and its folder, Jupiter Skill needs TypeScript for the scripts in its folder, the command-line tools its instructions call (pnpm and jq) and credentials named JUP_API_KEY. Our summary lists: Node.js; A credential in JUP_API_KEY.

Does Jupiter Skill access the network?

SKILL.md names 6 domains. In commands or code: dev.jup.ag, api.mainnet-beta.solana.com and api.jup.ag; the agent is likely to contact these when it follows the instructions. As links in the text: portal.jup.ag, solscan.io and status.jup.ag. This is read from the text; nothing was executed.

Is Jupiter Skill safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Jupiter Skill use?

Jupiter Skill is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Jupiter Skill use?

About 5.7k tokens (SKILL.md is roughly 23k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Jupiter Skill?

Skills that share tags, products or a category with Jupiter Skill: Swapper Deposit (swapperfinance/swapper-toolkit, 852 stars), Solana Payments Wallets Trading (npc-live/clawfirm, 156 stars), Squads (internet-court/internet-court-skill, 6.4k stars) and Kamino (alsk1992/CloddsBot, 2.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Jupiter Skill?

LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,159 GitHub stars. The repository holds 972 skills in this directory. The repository was last updated on July 20, 2026.

Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.