ERC-4337 智能合约钱包是如何工作的?
使用账户抽象(ERC-4337)的智能合约钱包创建的是由智能合约管理的钱包,而不是像 EOA 钱包(外部拥有账户)那样由单一私钥管理的钱包。
智能合约钱包的可编程特性使得开发各种新用例成为可能。通过在不牺牲安全性或匿名性的前提下降低复杂性,智能合约钱包将有助于推动下一波区块链用户的入场。
想要在你的应用中添加嵌入式智能合约钱包?使用我们企业级的 Embedded Accounts 和垂直整合的 AA 基础设施,让用户无需助记词、Gas 或摩擦即可完成入场。
什么是智能合约钱包?
智能合约钱包使用智能合约来存储和管理数字资产(例如加密货币、NFT 等)。智能合约钱包是账户抽象的基础:账户抽象是指将各种 Ethereum 账户类型统一为单一类型的过程,做法是将账户的控制权从网络中“抽象”出来,改由智能合约定义。
一些使用 ERC-4337 的智能合约钱包示例:
- Soul Wallet
- Candide
- UniPass
- Castle
- Openfort
不使用 ERC-4337 的两个主要智能合约钱包是 Safe 和 Argent。
什么是合约账户(CA)?
合约账户也称为智能合约,包含用于管理各方之间信息交换的代码。合约账户被用于每一个 DeFi 协议、NFT 系列或 ERC-20 代币中。
合约的全部业务逻辑和状态变量都存储在链上。由于智能合约的状态和代码存储在链上,部署它的外部拥有账户必须支付一笔费用。
注意:在 web3 编程中,存在一种“智能合约工厂”模式,即一个合约可以通过预定义的接口部署其他合约。即便在这种情况下,发起该交易的仍必须是 EOA,并由 EOA 支付费用。
合约账户与**外部拥有账户(EOA)**在工作方式上有何不同?
智能合约账户与 EOA 账户的主要区别在于,智能合约账户可以包含逻辑。由于只有 EOA 账户才能发起交易,智能合约账户依赖 Bundler 的 EOA 账户将用户操作打包成一笔提交到区块链上的单一交易。
在当前的 Ethereum 协议下,无论是合约调用还是价值转移,EOA 都是唯一能够发起交易的账户类型。即使是一个合约账户调用另一个合约账户,交易的发起来源始终是某个外部拥有账户。
以下是合约账户与 EOA 账户的对比:
那么,既然智能合约钱包无法自行发起交易,它们是如何执行交易的呢?
ERC-4337 智能合约钱包的工作原理
由于智能合约钱包无法自行发起交易,它们必须由一个 EOA 钱包来调用。这一流程由多个账户抽象基础设施提供商(例如 Bundler)和智能合约(例如 EntryPoint)共同支持。
智能合约钱包交易的典型流程如下:
- 用户想要执行一个 UserOperation
- UserOperation 被发送到一个“替代内存池”(alternative mempool)
- 一个拥有 EOA 钱包的 Bundler 将所有 UserOperation 打包并发送给 EntryPoint 合约
- EntryPoint 合约对所有 UserOperation 进行验证并执行
- 打包这些 UserOperation 的 EOA 钱包会由用户的钱包或 Paymaster 偿还其代垫的 ETH

虽然从技术角度理解智能合约钱包的工作原理可能有一定难度,但对最终用户而言,智能合约钱包相比 EOA 钱包提供了许多改进,例如可编程性以及支持社交恢复等功能。
了解智能合约钱包工作原理的更多资源
有关账户抽象各组成部分如何工作的更多信息,请阅读我们的系列文章《你也能发明账户抽象》("You Could Have Invented Account Abstraction"),作者是 Alchemy 账户抽象基础设施工程团队的 David Philipson。
常见问题
什么是智能合约钱包?
智能合约钱包使用智能合约(而非单一私钥)来存储和管理加密货币、NFT 等数字资产,是账户抽象的基础。
ERC-4337 智能合约钱包如何工作?
ERC-4337 钱包的流程是:用户创建 UserOperation,将其发送到一个替代内存池,Bundler 收集这些操作并提交给 EntryPoint 合约进行验证和执行,随后由钱包或 Paymaster 偿还费用。
智能合约账户和 EOA 账户有什么区别?
智能合约账户包含可编程逻辑,但不能自行发起交易;而 EOA 账户可以发起交易,但不具备可编程特性。
什么是 UserOperation?
UserOperation 是用户创建的交易请求,会被发送到一个替代内存池,供 Bundler 收集后通过 EntryPoint 合约进行处理。
Bundler 在 ERC-4337 中扮演什么角色?
Bundler 是拥有 EOA 钱包的节点,它们从替代内存池中收集 UserOperation,将其打包在一起,并提交给 EntryPoint 合约进行验证和执行。
什么是 EntryPoint 合约?
EntryPoint 合约是一个链上智能合约,用于验证并执行 Bundler 提交的打包 UserOperation。
智能合约钱包需要支付 Gas 费吗?
智能合约钱包可以使用 Paymaster 来赞助 Gas 费,从而实现无 Gas 交易,用户无需直接支付 Gas。
能否举例说明 ERC-4337 智能合约钱包?
例如 Soul Wallet、Candide、UniPass、Castle 和 Openfort;而 Safe 和 Argent 则是不使用 ERC-4337 的智能合约钱包。
相关概览
钱包2026年9月2日
智能体钱包:AI 智能体的会话与权限模型
AI 智能体如何在不持有私钥的情况下获得受限且可撤销的钱包访问权限:会话、委托签名与即时撤销。
钱包2026年7月29日
别再把私钥粘贴进 Cursor 了:如何给你的编码 agent 配一个钱包
给你的编码 agent 配一个钱包,而不必把私钥交给它。了解 Alchemy CLI agent 钱包如何使用限定范围的会话,让 agent 无需在 .env 中存放私钥即可完成交易。
钱包2026年6月24日
什么是 crypto bundler?
crypto bundler 将多笔交易或操作合并为一次链上提交,应用于 batching、MEV、rollup、代币发行和账户抽象等场景。

构建区块链应用
Alchemy 将最强大的 Web3 开发者产品和工具与资源、社区及专业支持结合在一起。