For the complete documentation index, see llms.txt. This page is also available as markdown.

Choosing an infra provider

Archived version

You are viewing @zerodev/sdk v5.3.x documentation. View the latest documentation.

ZeroDev is compatible with any account abstraction infra provider. Check out these guides for integrating with a specific provider:

Read on to learn how to integrate with a custom provider.

Interop with Bundlers

For the most part, bundlers are perfectly interoperable between different providers. You simply specify the bundler RPC when you construct a Kernel client:

import { createKernelAccountClient } from "@zerodev/sdk"
import { http } from "viem"

const kernelClient = createKernelAccountClient({
  // other options...

  transport: http('BUNDLER_RPC'),
})

Interop with Paymasters

Paymasters are not perfectly interoperable between providers. To integrate with a paymaster, you need to implement the sponsorUserOperation function:

import { createKernelAccountClient } from "@zerodev/sdk"

const kernelClient = createKernelAccountClient({
  // other options...

  sponsorUserOperation: async ({ userOperation }) => {
    // return a UserOperation with the `paymasterAndData` field filled
  },
})

Check out Permissionless's documentation for integrating with a custom paymaster.

On this page