This is a sample implementation of EIP-7702.
This repository provides a simple transaction example demonstrating transactions using EIP-7702.
We use web3.py to interact with the Ethereum blockchain and implement the EIP-7702 standard.
⚠️ Important notice
- This repository is experimental and for research/education only. Do NOT use it in production.
- Do NOT deploy or interact with public networks (mainnet or testnets). Use a local Hardhat network only.
- The private keys in configuration are public and for testing only. Never fund or reuse them.
- No security audit has been performed. Use at your own risk.
- Python v3.13+
- uv v0.9+ - A Python tool to manage virtual environments and dependencies.
- Node.js v24+
- npm v11+ - Node Package Manager
- What this project is: a minimal example showing how to execute transactions using EIP-7702 with
web3.pyon a local Hardhat chain. - What this project is not: a production-ready implementation, a wallet or key-management system, or a guide for deploying on public networks. Error handling, robustness, and compatibility are intentionally minimal.
- Supported network: local Hardhat only.
hardhat.config.jssetshardfork: "osaka"andchainId: 2026.- Example accounts and private keys are embedded for local testing.
- Not supported: any public network (mainnet or public testnets such as Sepolia/Goerli).
- This codebase is unaudited and may contain vulnerabilities.
- Do not reuse any keys from this repository. Never fund these keys with real assets.
- Do not run this code against public networks.
- To report a vulnerability, see SECURITY.md.
- Important: Even if a vulnerability report is submitted, maintainers may be unable to triage or fix it. There is no guarantee of response or remediation.
- The example favors clarity over completeness: simplified gas estimation, error handling, and logging.
- Behavior may change without notice; backward compatibility is not guaranteed.
- EIP or tooling changes may break the example.
Compile the smart contracts:
$ make compileRun the "one transaction" example:
$ make run-one- Best-effort maintenance only. No SLA or response guarantees.
- Issues and PRs are welcome, but acceptance is at the maintainers' discretion.
- Security vulnerability reports may not be addressed, and fixes may not be provided.
- Licensed under MIT (see LICENSE). Provided “as is,” without warranty of any kind, express or implied.
- You are responsible for compliance with applicable laws and for any use of this software.
- EIP-7702 specification: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7702.md
This project is licensed under the MIT License. See the LICENSE file for details.