Skip to main content
Client for executing token swaps via Jupiter integration.

Constructor

new JupiterSwapClient(
  base: BaseClient,
  vault: VaultClient
)
base
BaseClient
required
Base client instance
vault
VaultClient
required
Vault client instance

Methods

swap

Executes a token swap using Jupiter.
await client.jupiter.swap(
  options: {
    quoteParams?: QuoteParams;
    quoteResponse?: QuoteResponse;
    swapInstructions?: SwapInstructions;
  },
  txOptions?: TxOptions
): Promise<TransactionSignature>
options
object
required
Swap configuration options. Provide one of: quoteParams, quoteResponse, or swapInstructions.
txOptions
TxOptions
Transaction options (signer, priority fee, etc.)
Returns: Transaction signature

Properties

jupApi

Jupiter API client for fetching quotes and swap instructions.
client.jupiter.jupApi: JupiterApiClient

txBuilder

Transaction builder for constructing Jupiter swap transactions.
client.jupiter.txBuilder: TxBuilder

Transaction Builder Methods

swapTx

Builds a swap transaction without sending it.
await client.jupiter.txBuilder.swapTx(
  options: {
    quoteParams?: QuoteParams;
    quoteResponse?: QuoteResponse;
    swapInstructions?: SwapInstructions;
  },
  txOptions?: TxOptions
): Promise<VersionedTransaction>

swapIxs

Returns swap instructions and lookup tables.
await client.jupiter.txBuilder.swapIxs(
  options: {
    quoteParams?: QuoteParams;
    quoteResponse?: QuoteResponse;
    swapInstructions?: SwapInstructions;
  },
  glamSigner: PublicKey
): Promise<[TransactionInstruction[], PublicKey[]]>
Returns: Tuple of [instructions, lookupTables]

Example

import { PublicKey } from '@solana/web3.js';
import { GlamClient } from '@glam/anchor';

const client = new GlamClient();

// Swap using quote parameters
const signature = await client.jupiter.swap({
  quoteParams: {
    inputMint: 'So11111111111111111111111111111111111111112', // SOL
    outputMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // USDC
    amount: 1000000000, // 1 SOL
    slippageBps: 50 // 0.5%
  }
});

console.log('Swap transaction:', signature);

Build docs developers (and LLMs) love