Swapper Deposit
swapperfinance/swapper-toolkit
Deposit and bridge funds into a wallet or protocol using Swapper Finance.
Execute Jupiter API operations on Solana - fetch quotes, sign transactions, execute swaps, prediction markets.
$ npx skills add LeoYeAI/openclaw-master-skills --skill jupiter-skill -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills jupiter-skill --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "jupiter-skill" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/jup-skill into .claude/skills/jupiter-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jupiter-skill", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/jup-skillType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LeoYeAI/openclaw-master-skills --skill jupiter-skill -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills jupiter-skill --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/jup-skill .agents/skills/jupiter-skill && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "jupiter-skill" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/jup-skill into .agents/skills/jupiter-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jupiter-skill", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill jupiter-skill -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills jupiter-skill --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/jup-skill .cursor/skills/jupiter-skill && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "jupiter-skill" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/jup-skill into .cursor/skills/jupiter-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jupiter-skill", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LeoYeAI/openclaw-master-skills.git --path skills/jup-skill--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LeoYeAI/openclaw-master-skills --skill jupiter-skill -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills jupiter-skill --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/jup-skill .gemini/skills/jupiter-skill && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "jupiter-skill" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/jup-skill into .gemini/skills/jupiter-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jupiter-skill", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LeoYeAI/openclaw-master-skills jupiter-skillInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LeoYeAI/openclaw-master-skills --skill jupiter-skill -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/jup-skill .github/skills/jupiter-skill && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "jupiter-skill" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/jup-skill into .github/skills/jupiter-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jupiter-skill", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill jupiter-skill -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills jupiter-skill --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/jup-skill .opencode/skills/jupiter-skill && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "jupiter-skill" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/jup-skill into .opencode/skills/jupiter-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jupiter-skill", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
jupiter-skillExecute 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. 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.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
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.
Ships 5 files in scripts/ (TypeScript), which the agent can run.
Shell commands in SKILL.md call:
pnpmjqFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
dev.jup.agapi.mainnet-beta.solana.comapi.jup.agAlso links to:
portal.jup.agsolscan.iostatus.jup.agFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
JUP_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 1,459 words, ~5,746 tokens.
.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.Execute Jupiter API operations through 4 utility scripts for fetching data, signing transactions, and executing swaps on Solana.
Base URL: https://api.jup.ag
| Task | Script | Example |
|---|---|---|
| Fetch any Jupiter API | fetch-api.ts | pnpm fetch-api -e /ultra/v1/search -p '{"query":"SOL"}' |
| Sign a transaction | wallet-sign.ts | pnpm wallet-sign -t "BASE64_TX" -w ~/.config/solana/id.json |
| Execute Ultra order | execute-ultra.ts | pnpm execute-ultra -r "REQUEST_ID" -t "SIGNED_TX" |
| Send tx to RPC | send-transaction.ts | pnpm send-transaction -t "SIGNED_TX" |
Install dependencies before using scripts:
cd /path/to/jup-skill
pnpm installRun 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.
ALWAYS required. All Jupiter API endpoints require an x-api-key header.
export JUP_API_KEY=your_api_key_here--api-key flag on each command.Signing requires access to a local Solana wallet JSON file (--wallet), which contains private key material.
Fetch data from any Jupiter API endpoint.
# 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)Sign transactions using a local wallet file.
SECURITY NOTE: The
--walletflag is required. This script does not accept private keys via command line arguments to prevent exposure in shell history and process listings.
# 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.jsonArguments:
-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 orders after signing.
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 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.
# 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.
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 resultStep 1: Get Order
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:
UNSIGNED_TX=$(echo "$ORDER" | jq -r '.transaction')
SIGNED_TX=$(pnpm wallet-sign -t "$UNSIGNED_TX" -w ~/.config/solana/id.json)Step 3: Execute Order
REQUEST_ID=$(echo "$ORDER" | jq -r '.requestId')
pnpm execute-ultra -r "$REQUEST_ID" -t "$SIGNED_TX"Step 4: Verify
Check the signature on Solscan.
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-chainStep 1: Get Quote
QUOTE=$(pnpm fetch-api -e /swap/v1/quote -p '{
"inputMint": "So11111111111111111111111111111111111111112",
"outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "1000000",
"slippageBps": "50"
}')Step 2: Build Transaction
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
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
pnpm send-transaction -t "$SIGNED_TX" -r "https://your-rpc.com"Step 5: Verify
Check signature on Solscan.
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
# 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
# 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
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
# 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:
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
| Method | Endpoint | Description |
|---|---|---|
| GET | /prediction/v1/events | List events with filters |
| GET | /prediction/v1/events/search | Search 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/orders | Create order (returns unsigned tx) |
| DELETE | /prediction/v1/orders | Close/cancel order |
| GET | /prediction/v1/positions | List user positions |
| DELETE | /prediction/v1/positions/{positionPubkey} | Sell position |
| POST | /prediction/v1/positions/{positionPubkey}/claim | Claim winnings |
| GET | /prediction/v1/leaderboards | View leaderboards |
| GET | /prediction/v1/profiles/{ownerPubkey} | User profile stats |
Key Concepts
Deposit tokens to earn yield or borrow against collateral.
Deposit (Earn)
# 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
WITHDRAW=$(pnpm fetch-api -e /lend/v1/earn/withdraw -m POST -b '{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "1000000",
"signer": "YOUR_WALLET_ADDRESS"
}')
# Sign and send as aboveTrack DeFi positions, platform info, and staked JUP across Solana.
Get Positions
Fetch all positions for a wallet address across Jupiter products.
# 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 addressfetcherReports: Status of each data fetcherGet Platforms
List all available platforms tracked by the Portfolio API.
pnpm fetch-api -e /portfolio/v1/platformsResponse includes platform details:
id: Platform identifier (e.g., jupiter-exchange)name: Display nameimage: Logo URLdescription: Platform summarydefiLlamaId: DefiLlama referenceisDeprecated: Whether platform is deprecatedtags: Categorization tagslinks: Social/web links (website, discord, twitter, github, docs)Get Staked JUP
Check staked JUP amounts and pending unstaking for a wallet.
pnpm fetch-api -e /portfolio/v1/staked-jup/YOUR_WALLET_ADDRESSResponse:
{
"stakedAmount": 15000.5,
"unstaking": [
{
"amount": 500,
"until": 1711000000000
}
]
}stakedAmount: Total staked JUPunstaking: Pending unstakes with amount and completion timestamp (ms)Create orders that execute automatically when price conditions are met.
Create Limit Order
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 receiveexpiredAt: Unix timestamp for expiration (null = no expiry)slippageBps: Optional slippage tolerance (0 = exact price only)Get Orders
# 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
# 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
| Method | Endpoint | Description |
|---|---|---|
| POST | /trigger/v1/createOrder | Create limit order |
| GET | /trigger/v1/getTriggerOrders | Get orders by wallet |
| POST | /trigger/v1/cancelOrder | Cancel single order |
| POST | /trigger/v1/cancelOrders | Cancel multiple orders (batched) |
Fees: 0.03% for stable pairs, 0.1% for other pairs.
Automate recurring token purchases at specified intervals.
Create DCA Order
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 makeinterval: Seconds between purchases (86400 = daily)minPrice/maxPrice: Optional price bounds (null = any price)startAt: Unix timestamp to start (null = immediate)Get Orders
# 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
CANCEL=$(pnpm fetch-api -e /recurring/v1/cancelOrder -m POST -b '{
"user": "YOUR_WALLET_ADDRESS",
"order": "ORDER_ACCOUNT_ADDRESS",
"recurringType": "time"
}')
# Sign and send transactionRecurring API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| POST | /recurring/v1/createOrder | Create DCA order |
| GET | /recurring/v1/getRecurringOrders | Get orders by wallet |
| POST | /recurring/v1/cancelOrder | Cancel order |
Fees: 0.1% per execution. Token2022 tokens NOT supported.
| Use Case | API | Endpoint |
|---|---|---|
| Token swaps (default) | Ultra | /ultra/v1/order, /ultra/v1/execute |
| Swaps with control | Metis | /swap/v1/quote, /swap/v1/swap |
| Limit orders | Trigger | /trigger/v1/createOrder, /trigger/v1/cancelOrder |
| Get limit orders | Trigger | /trigger/v1/getTriggerOrders |
| DCA orders | Recurring | /recurring/v1/createOrder, /recurring/v1/cancelOrder |
| Get DCA orders | Recurring | /recurring/v1/getRecurringOrders |
| Token search | Ultra | /ultra/v1/search |
| Token holdings | Ultra | /ultra/v1/holdings/{address} |
| Token warnings | Ultra | /ultra/v1/shield |
| Token prices | Price | /price/v3?ids={mints} |
| Token metadata | Tokens | /tokens/v2/search?query={query} |
| Portfolio positions | Portfolio | /portfolio/v1/positions/{address} |
| Portfolio platforms | Portfolio | /portfolio/v1/platforms |
| Staked JUP | Portfolio | /portfolio/v1/staked-jup/{address} |
| Prediction markets | Prediction | /prediction/v1/events, /prediction/v1/orders |
| Lending deposit | Lend | /lend/v1/earn/deposit |
| Lending withdraw | Lend | /lend/v1/earn/withdraw |
| Tier | Rate Limit |
|---|---|
| Free | 60 requests/minute |
| Pro | Up to 30,000 requests/minute |
| Ultra | Dynamic scaling with executed swap volume |
Ultra rate limits increase as you execute more swaps. Base: 50 requests per 10-second window.
| API | Fee |
|---|---|
| Ultra | 5-10 basis points per swap |
| Metis | No Jupiter fee (you pay gas) |
Integrators can add custom fees (50-255 bps). Jupiter takes 20% of integrator fees.
Ultra offers "gasless" swaps where Jupiter pays the transaction fees, but with important caveats:
Solana transactions are limited to 1232 bytes. If you hit this:
maxAccounts parameter in quote requestdynamicComputeUnitLimit: true for Metis| Feature | Ultra | Metis |
|---|---|---|
| RPC required | No (Jupiter handles) | Yes (your RPC) |
| Gasless | Yes (conditions apply) | No |
| Custom instructions | No | Yes |
| Transaction composition | No | Yes |
| Slippage | Auto-optimized | Manual |
Use Ultra for most swaps. Use Metis only when you need to add custom instructions or compose transactions.
| Error | Cause | Fix |
|---|---|---|
TransactionExpiredBlockhashNotFound | Blockhash expired | Request fresh order/quote |
SlippageToleranceExceeded | Price moved too much | Increase slippage or retry |
InsufficientFunds | Not enough SOL/tokens | Check balances |
RateLimited (429) | Too many requests | Wait and retry, or upgrade tier |
InvalidSignature | Wrong signer or corrupted tx | Verify wallet matches taker address |
| Code | Meaning |
|---|---|
| 0 | Success |
| -1 to -5 | Client/validation errors |
| -1000 to -1999 | Aggregator routing errors |
| -2000 to -2999 | RFQ (market maker) errors |
| Variable | Description | Default |
|---|---|---|
JUP_API_KEY | Jupiter API key | (required) |
SOLANA_RPC_URL | RPC endpoint for send-transaction | https://api.mainnet-beta.solana.com |
| Token | Mint Address |
|---|---|
| SOL (wrapped) | So11111111111111111111111111111111111111112 |
| USDC | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |
| USDT | Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB |
| JUP | JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN |
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.
Check these first on each run/session:
https://dev.jup.ag/llms.txthttps://dev.jup.ag/llms-full.txtThen verify workflow-specific pages:
https://dev.jup.ag/get-started/index.mdhttps://dev.jup.ag/portal/setup.mdhttps://dev.jup.ag/portal/rate-limit.mdhttps://dev.jup.ag/portal/responses.mdhttps://dev.jup.ag/docs/ultra/index.mdhttps://dev.jup.ag/docs/ultra/get-started.mdhttps://dev.jup.ag/docs/ultra/get-order.mdhttps://dev.jup.ag/docs/ultra/execute-order.mdhttps://dev.jup.ag/docs/ultra/response.mdhttps://dev.jup.ag/docs/ultra/rate-limit.mdhttps://dev.jup.ag/docs/ultra/search-token.mdhttps://dev.jup.ag/docs/swap/index.mdhttps://dev.jup.ag/docs/swap/get-quote.mdhttps://dev.jup.ag/docs/swap/build-swap-transaction.mdhttps://dev.jup.ag/docs/swap/send-swap-transaction.mdhttps://dev.jup.ag/docs/swap/common-errors.mdhttps://dev.jup.ag/updates/index.mdAny 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
SKILL.md and 10 other files (scripts) in skills/jup-skill of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Jupiter Skill this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~5.7k | Automated safety check: Pass | MIT | |
| Swapper Depositswapperfinance/swapper-toolkit | 852 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Solana Payments Wallets Tradingnpc-live/clawfirm | 156 | 1 repos | ~4.7k | Automated safety check: Pass | MIT | |
| Squadsinternet-court/internet-court-skill | 6.4k | 2 repos | ~5.9k | Automated safety check: Pass | Apache-2.0 | |
| Kaminoalsk1992/CloddsBot | 2.9k | — | ~486 | Automated safety check: Pass | MIT | |
| Marginfialsk1992/CloddsBot | 2.9k | — | ~356 | Automated safety check: Pass | MIT |
swapperfinance/swapper-toolkit
Deposit and bridge funds into a wallet or protocol using Swapper Finance.
npc-live/clawfirm
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…
internet-court/internet-court-skill
Complete guide for Squads Protocol - Solana's leading smart account and multisig infrastructure.
alsk1992/CloddsBot
Kamino Finance — Solana lending, borrowing, and liquidity vaults
alsk1992/CloddsBot
MarginFi — Solana lending and borrowing
alsk1992/CloddsBot
Solend — Solana lending and borrowing
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.
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.
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.
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.
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.
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.
Categories
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.
Jupiter Skill fits situations like: implementing token swaps; prediction markets; any Jupiter integration.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.