Skip to main content




Each Bundler is a domain-specific abstract layer of contract that implements some functions that can be bundled in a single call by EOAs to a single contract.

image (4)

  1. All bundlers inherit from BaseBundler that enables bundling multiple function calls into a single multicall(bytes[] calldata data) call to the end bundler contract.

  2. Each chain-specific bundler is available under its chain-specific folder (e.g. ethereum).

  3. Some chain-specific domains are also scoped to the chain-specific folder because they are not expected to be used on any other chain (e.g. DAI and its specific permit function is only available on Ethereum - see EthereumPermitBundler.

  4. User-end bundlers are provided in each chain-specific folder, instantiating all the intermediary domain-specific bundlers and associated parameters (such as chain-specific protocol addresses, e.g. EthereumBundler).