MetaMask推出了高级权限功能,该功能基于ERC-7715标准和MetaMask智能账户工具包构建,允许用户授予去中心化应用(DApp)在特定范围和时间限制内代表其执行操作的权限。这解决了频繁签名和权限疲劳问题,增强了安全性,并为订阅、DCA策略和AI代理等复杂应用场景提供了标准化的构建方式。
授予 dapp 有范围限制、有时间限制的访问权限,使其能够在无需额外签名、独立钱包或权衡托管的情况下代用户执行操作。

我们新推出的高级权限(Advanced Permissions)——基于 ERC-7715 构建并作为 MetaMask Smart Accounts Kit 的一部分——允许用户在单次交互中精确批准 dapp 可以执行的操作。你的 dapp 通过 Session Account 在该范围内执行。用户的钱包始终由其掌控。
订阅、DCA、AI Agent、归属(vesting)、自动复利:如果你一直在等待一种标准的方法来构建这些功能,而不需要拼凑变通方案,那么这就是你要找的。
加密钱包在历史上遵循一种简单的交互模型,即每笔交易都需要显式的用户签名。这意味着重复的弹出窗口、应用与钱包之间的切换以及审批疲劳。久而久之,用户开始习惯性地在不阅读内容的情况下批准请求,这与知情同意背道而驰。
过去也没有一种标准的方法让 dapp 向钱包请求有范围限制的权限。没有这种标准,整个产品类别——订阅、AI Agent、有时间限制的访问——仍然难以或无法很好地构建。
嵌入式钱包解决了一些摩擦,但它们引入了不同的权衡。用户最终在每个 dapp 中拥有独立的余额,在多个地址之间注资和管理资产。体验变得更加支离破碎。
高级权限采取了一种不同的方法:一个钱包,有范围限制的访问。
高级权限允许用户授予 dapp 代表其执行特定、受限操作的能力,而无需放弃完整的钱包访问权限或为每笔交易签名。
以下是它在协议层面的工作原理:
wallet_requestExecutionPermissions,向用户的 MetaMask 钱包请求有范围限制的权限。例如,用户可以为 AI Agent 设置 DCA 策略,在 30 天内每天花费最多 10 USDC 购买 ETH。用户无需每天签署每笔交易,而是通过 MetaMask 批准单个有范围限制的权限。
界面在批准前清晰地勾勒出条款、资产、金额和持续时间。一旦获得授权,应用程序即可在定义的限制内代表用户执行交易。

ERC-7715 定义了应请求权限的规范和标准,以及应应用于这些权限的规则。Smart Accounts Kit 在此基础上构建了四种实现级别的权限类型:
| 类别 | 权限类型 | 作用 | 示例用例 |
|---|---|---|---|
| 定期 | erc20-token-periodic, native-token-periodic |
每个周期的 Token 转移配额;每个周期重置 | 订阅、DCA 策略、循环 Gas 预算 |
| 流式 | erc20-token-stream, native-token-stream |
具有可配置开始时间、速率和上限的线性流式配额 | 归属、持续支付、逐渐解锁 |
| 撤销 | erc20-revocation |
允许 dapp 代表用户撤销 ERC-20 Token 批准 | 清理陈旧或有风险的批准(approve)配额 |
每种权限类型都接受相应的参数,包括 expiry(过期时间)、人类可读的权限理由以及 isAdjustmentAllowed(是否允许调整)。
高级权限将模型从重复批准转变为基于意图的执行:用户一次性定义有范围限制的权限,操作将在一段时间内在该范围内执行。
erc20-token-periodic 或 native-token-periodic 权限,并设置与你的计费或执行周期匹配的 periodDuration。startTime 和 expiry 参数,支持归属计划、定时执行或会话内游戏操作等用例。结合流式权限进行 Token 的渐进式释放。高级权限通过 Smart Accounts Kit 的智能合约在链上强制执行。这在实践中意味着:
isAdjustmentAllowed: true,用户可以在批准前修改参数(例如,减少金额或缩短持续时间)。wallet_requestExecutionPermissions 的完整提案。Smart Accounts Kit 的限制执行器会在链上验证每次执行。如果 Session Account 尝试执行授权范围之外的操作,交易将被拒绝。
Session Key 授予临时的、有范围限制的访问权限以代表用户执行操作,但受托人在会话过期前在固定边界内操作。
高级权限在两个方面更进一步:
是的,如果权限请求包含 isAdjustmentAllowed: true。MetaMask UI 允许用户在批准前调整金额、持续时间、过期时间和开始时间等参数。
用户可以随时直接通过 MetaMask 撤销任何活动权限。
高级权限需要 MetaMask Smart Account。如果用户的账户尚未升级,流程将自动提示他们在继续之前升级到 Smart Account。
ERC-20 批准向合约地址授予无限的支出权限,没有时间限制或每周期限制。高级权限按资产、金额、时间窗口和转移模式划分范围,并以通俗易懂的语言向用户显示。
任何支持 EIP-7702 的链都可以用来测试高级权限,包括:
不,授予高级权限是 ERC-712 签名,而不是链上交易。这也让 dapp 能够为用户抽象 Gas 成本。
- 原文链接: metamask.io/zh-CN/news/i...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!