Pimlico
Learn how to integrate Pimlico’s account abstraction infrastructure with Capsule Signer using permissionless.js
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
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);