bulkQuote

Installation

npm install @karrotcapital/spiderswap

Usage

Initialization

First, initialize the 'Spiderswap' class with your API key.

import Spiderswap from '@karrotcapital/spiderswap';
// OR
const Spiderswap = require('@karrotcapital/spiderswap');

const spiderswap = new Spiderswap(ApiKey);

Method: bulkQuote

Description

The 'bulkQuote' method retrieves multiple quotes for a token swap from different liquidity providers. This function is useful for comparing quotes from various providers to find the best rates for a token swap on the Solana blockchain.

IMPORTANT: For every provider you use it will make a api call.

Parameters

  • 'fromMint' (string): The mint address of the token being swapped from.

  • 'toMint' (string): The mint address of the token being swapped to.

  • 'amount' (number): The amount of the 'fromMint' token to swap, in lamports.

  • 'slippage' (number): The acceptable slippage percentage for the swap, in basis points (bps).

  • 'providers' (Array): An array of liquidity providers.

  • 'fromMintDecimals'(number, optional): The decimal places for the 'fromMint' token (default is 9).

  • 'toMintDecimals'(number, optional): The decimal places for the 'toMint' token (default is 9).

Returns

'Promise<Array<bulkQuoteResponseMap>>': A promise that resolves to an array of 'bulkQuoteResponseMap' objects, each containing a provider and its corresponding quote.

'bulkQuoteResponseMap' Type

export type bulkQuoteResponseMap = {
    provider: string;
    quote: quoteResponseMap;
}

Example

async function getBulkQuotes() {
    let providers = [
        "orca",
        "raydium",
        "meteora",
        "meteora-dlmm"
    ];
    
    try {
        const quotes = await spiderswap.quote.bulkQuote(
            'fromMintAddress',
            'toMintAddress',
            1,         // Amount in tokens
            0.5,       // Slippage percentage
            providers,
            9,         // fromMintDecimals
            9          // toMintDecimals
        );
        console.log('Bulk quotes:', quotes);
    } catch (error) {
        console.error('Error fetching bulk quotes:', error);
    }
}

getBulkQuotes();

Implementation Details

This method iterates through the provided list of liquidity providers, fetching a quote for each using the 'getQuote' method, and then compiles these quotes into an array of 'bulkQuoteResponseMap' objects

Last updated