Jupiter IDL

jupiterv0.1.0DEX Aggregator
Program Address
JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4
On-chain

Jupiter is the leading swap aggregator on Solana, routing trades across dozens of DEXes for optimal pricing. Also offers limit orders, DCA (dollar-cost averaging), perpetual futures, and token launchpad services.

16
Instructions
1
Accounts
5
Events
17
Types

Instructions

claimclaim_tokenclose_tokencreate_token_ledgercreate_token_accountexact_out_routerouteroute_with_token_ledgerset_token_ledgershared_accounts_exact_out_routeshared_accounts_routeshared_accounts_route_with_token_ledger+4 more

Account Types

TokenLedger

Events

FeeEventSwapEventSwapsEventCandidateSwapResultsBestSwapOutAmountViolation

Integration Examples

Use the Jupiter IDL in your application with these code examples for TypeScript, Rust, and Python.

import { Connection, PublicKey } from "@solana/web3.js";
import { Program, AnchorProvider, Idl } from "@coral-xyz/anchor";

// Load the Jupiter IDL
import idl from "./jupiter.json";

const PROGRAM_ID = new PublicKey("JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4");

// Set up the provider and program
const connection = new Connection("https://api.mainnet-beta.solana.com");
const provider = new AnchorProvider(connection, wallet, {
  commitment: "confirmed",
});
const program = new Program(idl as Idl, provider);

// Fetch and decode an account
const accountData = await program.account.jupiter
  .fetch(accountPublicKey);
console.log("Account data:", accountData);

// Build and send an instruction
const tx = await program.methods
  .initialize(/* ...args */)
  .accounts({
    /* ...required accounts */
  })
  .rpc();
console.log("Transaction signature:", tx);

IDL JSON Preview

jupiter.json
{
  "address": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4",
  "metadata": {
    "name": "jupiter",
    "version": "0.1.0",
    "spec": "0.1.0",
    "description": "Jupiter aggregator program"
  },
  "instructions": [
    {
      "name": "claim",
      "discriminator": [
        62,
        198,
        214,
        193,
        213,
        159,
        108,
        210
      ],
      "accounts": [
        {
          "name": "wallet",
          "writable": true,
          "address": "7JQeyNK55fkUPUmEotupBFpiBGpgEQYLe8Ht1VdSfxcP"
        },
        {
          "name": "program_authority",
          "writable": true
...

Frequently Asked Questions

What is the Jupiter IDL?

The Jupiter IDL (Interface Definition Language) is a JSON schema that defines the on-chain program interface for the Jupiter smart contract on Solana. It describes all available instructions, account structures, events, and custom types that developers need to interact with the Jupiter program. This IDL contains 16 instructions, 1 account types, 5 events, and 17 type definitions.

How do I use the Jupiter IDL in my project?

Download the JSON file and import it in your project. With TypeScript, use the @coral-xyz/anchor package to create a Program instance. In Rust, use anchor-client. For Python, use anchorpy. See the integration examples above for complete code snippets in all three languages.

What is the Jupiter program address on Solana?

The Jupiter program is deployed at address JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 on Solana mainnet. You can verify this on any Solana block explorer.

What version of the Jupiter IDL is this?

This is version 0.1.0 of the Jupiter IDL. IDL versions correspond to specific program deployments and may be updated as the protocol evolves. Always verify compatibility with the on-chain program version before integrating.