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

Use a Smart Wallet as a Signer

ZeroDev supports using one smart wallet (kernel account) as a signer for another kernel account.

Integration Example

Here's how to use one kernel account as a validator for another kernel account:

import { signerToSmartAccountValidator } from "@zerodev/smart-account-validator"


// Create the first kernel account (this will be our signer)
const signerKernelAccount = await createKernelAccount(publicClient, {
  // Configure with your preferred validator (e.g., ECDSA, WebAuthn, etc.)
  plugins: {
    sudo: ecdsaValidator,
  },
  entryPoint,
  kernelVersion
})

// Create a validator using the first kernel account as a signer
const validator = await signerToSmartAccountValidator(publicClient, {
  entryPoint,
  kernelVersion,
  signer: signerKernelAccount,
  smartAccountType: "OTHER"
})

// You can now use this Validator to create a Kernel account

Starter Template

An example of a starter template for using a Safe smart wallet as a signer is available here.

On this page