
Ayush Bherwani 是 MetaMask 的高级开发者关系经理。
阅读所有文章授予 dapp 有范围、有时限的访问权限,代表用户执行操作,无需额外签名、独立钱包或托管妥协。

我们新推出的高级权限——基于 ERC-7715 构建,是 MetaMask 智能账户套件的组成部分——让用户只需一次交互,即可精确授权 dapp 的操作范围。您的 dapp 通过会话账户在该范围内执行操作,用户的钱包始终由其自主掌控。
订阅服务、定投策略(DCA)、AI 智能体、归属计划、自动复利——如果您一直在等待一种标准化方式来构建这些功能,而无需拼凑各种变通方案,那么它来了。
加密钱包历来遵循一种简单的交互模式:每笔交易都需要用户明确签名。这意味着反复弹出确认窗口、在应用与钱包之间来回切换,以及由此产生的授权疲劳。久而久之,用户开始习惯性地不加阅读就批准请求,这与知情同意的初衷背道而驰。
此外,也没有标准方式供 dapp 向钱包请求范围化权限。缺乏这一标准,整个产品类别——订阅服务、AI 智能体、限时访问——要么难以构建,要么根本无法良好实现。
嵌入式钱包解决了部分摩擦,但也引入了新的权衡。用户最终在每个 dapp 中拥有独立余额,需要在多个地址之间分散管理资产,体验变得更加碎片化。
高级权限采用了不同的方式:一个钱包,范围化访问。
高级权限允许用户授予 dapp 代表其执行特定、有限操作的能力,无需放弃完整的钱包访问权限,也无需对每笔交易逐一签名。
以下是协议层面的工作原理:
您的 dapp 调用 wallet_requestExecutionPermissions,向用户的 MetaMask 钱包请求范围化权限。
MetaMask 显示一个人类可读的授权界面,清晰展示所请求的内容:资产、金额、有效期及相关限制条件。
用户查看请求,可选择调整参数(如果您的请求允许),然后批准。
您的 dapp 通过会话账户在已授权范围内执行操作。会话账户是一个专用账户(EOA 或智能账户),由您的 dapp 创建并控制。会话账户不持有用户资金,而是通过 ERC-7710 委托机制兑换权限,在规定限额内直接从用户的 MetaMask 账户执行交易。
举例来说,用户可以为 AI 智能体设置一个定投策略:每天最多使用 10 USDC 购买 ETH,持续 30 天。用户无需每天签署每笔交易,只需通过 MetaMask 一次性批准一个范围化权限即可。
授权前,界面会清晰列明条款、资产、金额和有效期。授权后,应用即可在规定限额内代表用户执行交易。

ERC-7715 定义了权限请求的规范与标准,以及适用于这些权限的规则。
智能账户套件在此基础上提供了四种实现层面的权限类型:
类别 | 权限类型 | 功能说明 | 示例用例 |
周期性 | erc20-token-periodic、native-token-periodic | 按周期设定代币转账限额,每个周期重置 | 订阅服务、定投策略、周期性 Gas 预算 |
流式 | erc20-token-stream、native-token-stream | 可配置起始时间、速率和上限的线性流式限额 | 归属计划、持续支付、渐进式解锁 |
撤销 | erc20-revocation | 允许 dapp 代表用户撤销 ERC-20 代币授权 | 清理过期或存在风险的授权额度 |
每种权限类型均接受相应参数,包括到期时间、人类可读的权限说明以及 isAdjustmentAllowed。完整的数据结构请参阅高级权限参考文档。
高级权限将模式从反复授权转变为基于意图的执行:用户一次性定义范围化权限,后续操作在该范围内持续执行。
自动化与周期性流程: 订阅服务、定投策略和自动复利可在一次性授权后持续运行。将这些场景映射到 erc20-token-periodic 或 native-token-periodic 权限,并设置与您的计费或执行周期相匹配的 periodDuration。
基于智能体的执行: AI 智能体可在用户定义的边界内进行交易、再平衡或执行其他操作。智能体控制会话账户的密钥,并通过委托机制执行——用户的主钱包始终不会暴露,智能体只能在已授权范围内操作,无需单独为钱包充值。
限时访问: 权限支持 startTime 和 expiry 参数,适用于归属计划、定时执行或游戏内会话操作等场景。结合流式权限可实现代币的渐进式释放。
高级权限通过智能账户套件的智能合约在链上强制执行。以下是实际意义:
范围化设计: 每个权限精确定义会话账户可访问的内容:资产、金额、时间窗口和转账类型。委托框架的条件执行器会拒绝任何超出范围的执行请求。
人类可读的授权界面: MetaMask 在用户授权前显示包含完整权限参数的详细确认界面。
用户可调整: 如果您的权限请求将 isAdjustmentAllowed 设置为 true,用户可在批准前修改参数(例如减少金额或缩短有效期)。
可撤销: 用户可随时通过 MetaMask 的"Dapp 连接"选项撤销任何有效权限。
会话账户不持有资金: 执行通过从用户智能账户兑换委托来完成。会话账户是一个签名密钥,而非资产托管点。
高级权限开发者文档:了解 ERC-7715 与 ERC-7710 如何协同工作,以及高级权限与常规委托的区别。
代表 MetaMask 用户执行操作:设置会话账户、请求权限并兑换权限。
Scaffold-ETH 2 的高级权限(ERC-7715)扩展:探索包含可运行示例的即插即用入门项目。
ERC-7715 规范:阅读 wallet_requestExecutionPermissions 的完整提案。
AI 翻译。可能包含错误。请务必核实信息。