Introduction

Pimlico is an account abstraction infrastructure platform. Leverage Pimlico’s paymasters and bundlers to create smart accounts for your application. Pimlico’s core product is permissionless.js which is a TypeScript library built on viem for building with ERC-4337 smart accounts, bundlers, paymasters, and user operations. Permissionless.js focuses on having no dependencies, maximum viem compatibility and a small bundle size. Permissionless.js also supports the major ERC-4337 smart accounts including Safe, Kernel, Biconomy, and SimpleAccount.

Getting Started

Get started with Permissionless.js by following these steps. Follow these steps to create a Capsule signer.

Connecting Pimlico to a Capsule

After creating a Capsule signer, you will have access to a CapsuleWeb3Provider object that you can use to create a SmartAccountSigner object

Pimlico Integration
import Capsule from "@usecapsule/web-sdk";
import { createCapsuleViemClient } from "@usecapsule/viem-v2-integration";
import { walletClientToSmartAccountSigner } from "permissionless";
import { http } from "viem";
import { sepolia } from "viem/chains";

// Param options here will be specific to your project.  See the Capsule docs for more info.
const capsule = new Capsule(env, apiKey);

// Convert a Capsule viem client to a SmartAccountSigner
// Follow the Capsule docs for more instructions on creating the Viem client https://docs.usecapsule.com/integration-guide/signing-transactions
const viemClient = createCapsuleViemClient(capsule, {
  chain: sepolia,
  transport: http("https://rpc.ankr.com/eth_sepolia"),
});

const smartAccountSigner = walletClientToSmartAccountSigner(viemClient);

Use with permissionless.js