Client for executing token swaps via Jupiter integration.
Constructor
new JupiterSwapClient(
base: BaseClient,
vault: VaultClient
)
Methods
swap
Executes a token swap using Jupiter.
await client.jupiter.swap(
options: {
quoteParams?: QuoteParams;
quoteResponse?: QuoteResponse;
swapInstructions?: SwapInstructions;
},
txOptions?: TxOptions
): Promise<TransactionSignature>
Swap configuration options. Provide one of: quoteParams, quoteResponse, or swapInstructions.
Parameters to request a quote from Jupiter API
Output token mint address
Amount to swap in base units
Pre-fetched quote response from Jupiter API
Output token mint address
Input amount in base units
Pre-fetched swap instructions from Jupiter API
addressLookupTableAddresses
Lookup table addresses for the transaction
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);