Socket
Book a DemoInstallSign in
Socket

@pancakeswap/multicall

Package Overview
Dependencies
Maintainers
3
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pancakeswap/multicall

Enhanced multicall sdk to safely make multicalls within the gas limit.

latest
npmnpm
Version
3.7.2
Version published
Weekly downloads
2.2K
-3.75%
Maintainers
3
Weekly downloads
 
Created
Source

Pancake Multicall

Enhanced multicall sdk to safely make multicalls within the gas limit.

Inspired by the 1inch multicall.

Install

$ pnpm add @pancakeswap/multicall @pancakeswap/sdk viem

Usage

Basic usage

By default the calls will be splitted into chunks based on gas limit of each call and the rpc call gas limit of the chain

import { ChainId } from '@pancakeswap/chains'
import { multicallByGasLimit, MulticallRequestWithGas } from '@pancakeswap/multicall'

const calls: MulticallRequestWithGas[] = [
  {
    // Target contract to call
    target: '0x',
    // Encoded call data
    callData: '',
    // The maximum gas limit set to this single call
    gasLimit: 1_000_000,
  },
]

const { results, blockNumber } = await multicallByGasLimit(calls, {
  chainId: ChainId.BSC,

  // Rpc client. Please refer to `PublicClient` from viem
  client,
})

for (const { success, result, gasUsed } of results) {
  if (success) {
    // Decode result
    decodeResult(result)
  }
}

Advanced usage

The rpc call gas limit can be overriden if provided. Once provided, the multicall sdk won't ask for the gas limit from on chain.

const { results, blockNumber } = await multicallByGasLimit(calls, {
  chainId: ChainId.BSC,
  client,
  gasLimit: 150_000_000,
})

Other utilities

Get multicall gas limit

import { ChainId } from '@pancakeswap/chains'
import { getGasLimitOnChain } from '@pancakeswap/multicall'

// Get the rpc call gas limit of the specified chain
const gasLimit = await getGasLimitOnChain(ChainId.BSC)

Supported chains

For supported chains and contract addresses, please refer to multicall contracts.

FAQs

Package last updated on 21 Aug 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts