account-abstraction

Implements ERC-4337 and EIP-7702 smart accounts with bundlers, paymasters, and session keys.

6|20|Updated Mar 14, 2026
One-click install
npx skills add https://github.com/andresdefi/cryptoskills --skill account-abstraction-andresdefi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: account-abstraction
Source: https://github.com/andresdefi/cryptoskills/tree/main/skills/account-abstraction
Command: npx skills add https://github.com/andresdefi/cryptoskills --skill account-abstraction-andresdefi

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? AI agents and developers frequently have outdated or incorrect knowledge about Ethereum account abstraction, leading to wrong EntryPoint versions, hallucinated contract addresses, broken UserOperation encoding, and failed gas sponsorship setups. This Skill provides verified, current reference material for ERC-4337 and EIP-7702 so integrations work on the first attempt. ## Core Features & Use Cases - ERC-4337 Reference: EntryPoint v0.7 architecture, packed UserOperation struct, validation/execution lifecycle, bundler RPC methods, and verified contract addresses across all EVM chains. - EIP-7702 Delegation: Type 0x04 transaction flows for upgrading existing EOAs in place, including combined 4337+7702 patterns with viem's experimental API. - Paymaster & Session Key Patterns: Solidity implementations of verifying and ERC-20 paymasters, plus ZeroDev Kernel session keys with scoped on-chain constraints (ERC-7579). - Use Case: You are building a gasless onboarding flow for a new dApp. Use this Skill to select the right stack (permissionless.js + Pimlico), create a smart account client, sponsor gas via a paymaster, and debug any AA-series error codes that arise. ## Quick Start Ask the agent to create a SimpleAccount smart account client with permissionless.js and Pimlico on Sepolia and send a sponsored UserOperation.

Frequently Asked Questions about account-abstraction

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a smart account with permissionless.js?

Use toSimpleSmartAccount from permissionless/accounts with a public client, owner signer, and entryPoint07Address, then wrap it in createSmartAccountClient with a bundler transport. The account deploys automatically on the first UserOperation via initCode.

What is the difference between ERC-4337 and EIP-7702?

ERC-4337 is off-chain infrastructure (EntryPoint, bundlers, paymasters) processing UserOperations, while EIP-7702 is a protocol-level mechanism letting EOAs delegate execution to smart contract code via Type 0x04 transactions. They are complementary and often combined.

Does EIP-7702 replace ERC-4337?

No. EIP-7702 makes an existing EOA programmable but provides no bundling or gas sponsorship. ERC-4337 supplies the bundler and paymaster infrastructure, so a complete gasless stack typically uses both together.

Why does my UserOperation fail with AA24 signature error?

AA24 means signature verification failed in the account's validateUserOp. Common causes are targeting the wrong EntryPoint version (v0.6 vs v0.7 hash differently), signing with the wrong chain ID, or a signer that does not match the account owner.

How do session keys work with ZeroDev Kernel?

Session keys are ephemeral key pairs registered through a permission validator module with on-chain constraints like contract whitelists, function selectors, value limits, and time windows. The Kernel account enforces these constraints during validateUserOp, and the owner can revoke them by disabling the plugin.

Can users pay gas in ERC-20 tokens instead of ETH?

Yes, an ERC-20 paymaster holds an ETH deposit in the EntryPoint and charges the user's tokens in postOp at a markup. The smart account must approve the paymaster to spend the payment token before the first token-paid UserOperation.