Bundler & Paymaster Infrastructure

The thirdweb SDK handles all the heavy lifting of bundling operations and covering gas fees with a turn-key infrastructure. The thirdweb paymaster and bundler services are stand alone and can be used with any smart account contract without using the thirdweb SDKs.

On testnets, the only requirement is to obtain a free client id to get started. Once you're ready to deploy on mainnets, you will require an active billing account. You can configure your client ID to restrict interactions only with your own contracts or with any contract.

Supported chains

With a thirdweb API key, you get access to bundler and paymaster infrastructure on the following chains:

View all supported chains with Account Abstraction.

To support a chain not listed, contact us.

Using Paymaster & Bundler URL

To use the Paymaster & Bundler URL for thirdweb, you can follow the guide below:

URL Pattern

The URL pattern is predictable for all chains and is used for both paymaster and bundler operations:

https://<chain_id>.bundler.thirdweb.com/v2/<thirdweb-client-id>

Replace <chain_id> with the appropriate chain ID and <thirdweb-client-id> with your thirdweb client ID.

Client ID in Header

You can also pass the client ID via the header:

x-client-id: <your_thirdweb_client_id>

Frontend Calls

For frontend calls, the calling domain needs to be allowlisted. This can be done from the thirdweb dashboard in the API key settings.

Backend Usage

For backend usage, the secret key is required as a header, and the client ID can be omitted:

x-secret-key: <your_thirdweb_secret_key>

Make sure to replace the placeholders with your actual values. This guide will help you set up and use Paymaster & Bundler URLs effectively with thirdweb.

Using a Custom Bundler

Smart accounts are free to use with your own account abstraction infrastructure. To use your own paymaster & bundler, pass the bundlerUrl the SmartWalletOptions overrides:

const config: SmartWalletOptions = {
chain,
sponsorGas: true,
overrides: {
bundlerUrl: "your-bundler-url",
},
};

Using a Custom Paymaster

You can also provide an entirely custom paymaster logic by providing a paymaster function to the SmartWalletOptions overrides.

const config: SmartWalletOptions = {
chain,
sponsorGas: true,
overrides: {
paymaster: async (userOp: UserOperation) => {
// your custom paymaster logic
return myPaymasterResultLogic(userOp);
},
},
};

Pricing & Billing

To use thirdweb's account abstraction infrastructure, you need to set up a billing account on the thirdweb dashboard Settings page.

Pricing:

  • Bundler: Transaction bundle calls (non-sponsored calls) are free to use.
  • Paymaster: 10% premium on top of network fee based on your usage.

Find more information on the different billing tiers by visiting thirdweb's pricing page.