eip-reference

Provides canonical interfaces, signatures, and implementation patterns for Ethereum EIP and ERC standards.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? AI agents and developers frequently produce incorrect Ethereum code due to stale or hallucinated knowledge of EIP/ERC standards — wrong function signatures, missing chainId in EIP-712 domains, unsafe ERC-20 approvals, and confused account abstraction flows. This Skill supplies verified interface definitions, behavioral rules, and the common misconceptions that cause bugs. ## Core Features & Use Cases - Canonical Interface Reference: Copy-paste Solidity interfaces for ERC-20, ERC-721, ERC-1155, ERC-4626, ERC-2981, ERC-1271, ERC-4337, and more, with function selectors and ERC-165 interface IDs. - On-Demand Spec Lookup: Fetch any EIP or ERC specification directly from the ethereum/EIPs and ethereum/ERCs repositories when a standard is not covered inline. - Implementation Gotchas: Documents the failure modes that break real code — approve race conditions, USDT zero-first approval, first-depositor vault attacks, permit front-running, and domain separator replay. - Use Case: When implementing an ERC-4626 vault or verifying an EIP-712 signature, load this Skill to get the exact interface, correct rounding rules, and a working viem signing example instead of guessing from memory. ## Quick Start Ask the agent to show the correct ERC-4626 interface and explain how to prevent the first-depositor inflation attack.

Frequently Asked Questions about eip-reference

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

FAQPage Schema
How do I look up an EIP or ERC standard not covered in the reference?

Fetch the raw markdown spec from the official repositories: ERCs at raw.githubusercontent.com/ethereum/ERCs/master/ERCS/erc-{number}.md and EIPs at raw.githubusercontent.com/ethereum/EIPs/master/EIPS/eip-{number}.md. Try the ERC repo first since token standards are more common.

What is the difference between an EIP and an ERC?

An EIP covers the entire Ethereum proposal process including protocol-level changes, while an ERC is the subset defining application-layer standards like tokens and signatures. ERC-20 and EIP-20 refer to the same proposal; chain-level changes like EIP-1559 are never ERCs.

Why does my ERC-20 approve transaction fail on USDT?

USDT reverts when you call approve with a nonzero value while the current allowance is already nonzero. Reset the allowance to 0 first, or use OpenZeppelin SafeERC20 forceApprove which handles this pattern automatically.

Does ERC-20 support ERC-165 interface detection?

No. ERC-20 predates ERC-165, so most ERC-20 tokens do not implement supportsInterface. Detect ERC-20 tokens with a try/catch call to balanceOf or totalSupply instead of relying on interface detection.

Why does EIP-712 signature verification fail after a chain fork?

The domain separator was cached at deployment with the original chainId, so signatures from the other fork become valid or invalid unexpectedly. Recompute the separator when block.chainid changes, or use OpenZeppelin's EIP712 base contract which handles this automatically.

What changed between ERC-4337 EntryPoint v0.6 and v0.7?

v0.7 packs gas limits and fees into bytes32 fields, renames the struct to PackedUserOperation, adds paymaster gas limits to paymasterAndData, and uses a new EntryPoint address. v0.6 accounts cannot be mixed with a v0.7 EntryPoint.