DeFi DEX

Jupiter Setup Guide

Time: 15 minutes | Difficulty: Advanced | Market: DeFi DEX Mode: Full automation | API: REST API + Smart contracts (Solana) | Docs: station.jup.ag/docs

This guide wires a Jupiter trading bot to the Jupiter API and Solana smart contracts using the botwir3 runtime. Configure a wallet, connect to Solana's primary swap aggregator, and run automated DeFi trading strategies locally.


Before you start

Verify that automated operation is permitted under Jupiter's current terms of service before deploying. Jupiter is a permissionless swap aggregator on Solana — interaction is through the Jupiter API and Solana program calls. botwir3 provides tools for building structured automation. The user is responsible for compliance with all applicable regulations.

Jupiter Terms of Service | Last verified: May 2026

What you need

  • A Solana wallet with SOL for transaction fees and tokens to trade
  • A private key or keystore file for the wallet (stored locally — never shared)
  • The botwir3 runtime downloaded and unzipped
  • A strategy config file from the builder

Step 1: Configure wallet credentials

Jupiter is a permissionless protocol. There are no API keys — the bot interacts with the Jupiter API for route quotes and submits transactions using a wallet private key.

🔒 Security. The wallet private key controls all funds in the wallet. Use a dedicated wallet for bot operations with only the funds allocated to the strategy. The private key is stored in a local config file and is not transmitted to botwir3 or any third party.

Step 2: Configure the adapter

Create adapter.json in the bot directory:

{
  "adapter": "jupiter",
  "credentials": {
    "private_key": "paste-wallet-private-key-here"
  },
  "input_mint": "So11111111111111111111111111111111111111112",
  "output_mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "chain": "solana",
  "slippage_bps": 50,
  "environment": "live",
  "rate_limit_ms": 2000
}

input_mint / output_mint: Solana token mint addresses. SOL = So111...1112, USDC = EPjFW...Dt1v. Find mint addresses at solscan.io or via the Jupiter token list API.

slippage_bps: Maximum slippage in basis points. 50 = 0.5%.

API keys are not required for the Jupiter API (public). The wallet private key is stored in a local config file and is not transmitted to botwir3 or any third party. botwir3 never sees, stores, or has access to wallet credentials.

Step 3: Test the connection

botwir3 test --adapter jupiter

Expected output:

[botwir3] Adapter: jupiter
[botwir3] Connection: OK (Solana mainnet-beta)
[botwir3] Wallet: 7xKX...9mPq
[botwir3] Chain: solana
[botwir3] Rate limit: ~400ms/slot

Step 4: Start the bot

botwir3 start --config my-strategy.json

The runtime loads the strategy, computes the spec hash, connects to Jupiter and Solana via the configured wallet, and begins evaluating signals. The gate function compares proposed actions against the configured spec. The user is responsible for monitoring the bot and verifying execution outcomes.

Rate limits and considerations

ComponentLimitNotes
Jupiter Quote APIPublic, rate-limitedRoute quotes for optimal swap pricing.
Solana transaction throughput~400ms/slotSolana's slot time. Faster than Ethereum.
Transaction feesLow (~$0.001/tx)Solana transaction fees are minimal. Priority fees may apply during congestion.

Swap aggregation. Jupiter routes swaps through multiple Solana DEXs (Raydium, Orca, Lifinity, etc.) to find the optimal price. The bot submits the swap transaction — Jupiter handles routing.

Common Jupiter bot configurations include token pair momentum strategies on Solana (SOL/USDC, meme tokens), arbitrage between Solana DEXs, and scheduled DCA into Solana ecosystem tokens. Solana's low fees and fast finality make high-frequency strategies more viable than on Ethereum. All actions and decisions are recorded in the local ledger.

Troubleshooting

ErrorCauseFix
CONNECTION_REFUSEDSolana RPC unreachableJupiter uses public Solana RPC by default. For reliability, configure a dedicated RPC (Helius, QuickNode).
INSUFFICIENT_FUNDSWallet balance too low for swap + feesFund the wallet with additional SOL (fees) and trading tokens
TRANSACTION_FAILEDSlippage exceeded, token account missing, or route expiredIncrease slippage_bps or retry. Ensure token accounts exist for both input and output mints.
MANDATE_INTEGRITY_VIOLATIONConfig file modified while bot is runningStop the bot, verify config, restart

Related guides


One bot. $129. No subscription. No $749/mo platform. → Build for Jupiter


Build your Jupiter bot

Ready to build?