account-abstraction

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

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires permissionless, viem, @zerodev/sdk, @zerodev/ecdsa-validator, @zerodev/permissions.

What problem does it solve? AI agents and developers frequently produce outdated or incorrect account abstraction code — mixing up EntryPoint v0.6 and v0.7 UserOp formats, assuming EIP-7702 replaces ERC-4337, or hallucinating contract addresses — leading to failed UserOperations and lost debugging time. ## Core Features & Use Cases - Unified ERC-4337 + EIP-7702 Reference: Covers EntryPoint v0.7 architecture, the UserOperation lifecycle, Type 0x04 delegation transactions, and combined flows where EOAs gain smart account capabilities without address migration. - Paymaster and Session Key Patterns: Provides Solidity implementations for verifying and ERC-20 paymasters, plus ZeroDev Kernel session keys with on-chain constraint enforcement via ERC-7579 validators. - SDK Guidance and Working Examples: Includes permissionless.js and ZeroDev setup code, an SDK comparison matrix, EntryPoint addresses across chains, an AA error-code reference, and a troubleshooting checklist. - Use Case: Build a gasless onboarding flow where a new user's smart account is deployed on first UserOp, gas is sponsored by a Pimlico paymaster, and a session key later handles in-game actions scoped to specific contracts. ## Quick Start Ask the agent to create a SimpleAccount smart account client with permissionless.js on Sepolia and send a sponsored UserOperation using a Pimlico bundler and paymaster.

Frequently Asked Questions about account-abstraction

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

FAQPage Schema
How do I send a UserOperation with permissionless.js?

Create a smart account with toSimpleSmartAccount, wrap it in createSmartAccountClient with a bundler transport, then call sendTransaction. The SDK handles initCode for first-time deployment and gas estimation through the bundler.

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. They are complementary and often combined.

Does EIP-7702 require users to migrate to a new wallet address?

No. A single Type 0x04 transaction sets a delegation designator on the existing EOA, making it behave like a smart account while keeping the same address, balances, and history. The EOA can clear delegation at any time.

Why does my UserOp 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 on 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. Invalid usage is rejected during validation, and the owner can revoke keys by disabling the validator 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 for the payment token before the first ERC-20-paid UserOp.