
Аюш Бхервани — старший менеджер по работе с разработчиками в MetaMask.
Читать все статьиПредоставляйте dapp-ам ограниченный по времени доступ для выполнения действий от имени пользователей без лишних подписей, отдельных кошельков или компромиссов с хранением.

Наши недавно запущенные Advanced Permissions — созданные на основе ERC-7715 и входящие в состав MetaMask Smart Accounts Kit — позволяют пользователям точно определить, что dapp может делать, в рамках одного взаимодействия. Ваш dapp выполняет действия в пределах этой области через сессионный аккаунт. Кошелёк пользователя остаётся под его контролем.
Подписки, DCA, AI-агенты, вестинг, автокомпаундинг: если вы ждали стандартного способа создавать всё это без нагромождения обходных решений — он перед вами.
Исторически криптокошельки следовали простой модели взаимодействия, при которой каждая транзакция требовала явной подписи пользователя. Это означало бесконечные всплывающие окна, переключение между приложением и кошельком и усталость от подтверждений. Со временем пользователи начали машинально одобрять запросы, не читая их, — что прямо противоположно осознанному согласию.
Кроме того, не существовало стандартного способа для dapp запрашивать у кошелька разрешения с ограниченной областью действия. Без него целые категории продуктов — подписки, AI-агенты, доступ с ограничением по времени — оставались сложными или вовсе невозможными для качественной реализации.
Встроенные кошельки решали часть этих проблем, но вносили другой компромисс. Пользователи получали отдельные балансы для каждого dapp и были вынуждены пополнять и управлять активами на множестве адресов. Опыт становился всё более фрагментированным.
Advanced Permissions предлагают иной подход: один кошелёк, ограниченный доступ.
Advanced Permissions позволяют пользователям предоставлять dapp возможность выполнять конкретные, ограниченные действия от их имени — без передачи полного доступа к кошельку и без подписи каждой транзакции.
Вот как это работает на уровне протокола:
Ваш dapp вызывает wallet_requestExecutionPermissions, запрашивая ограниченное разрешение у кошелька MetaMask пользователя.
MetaMask отображает понятный человеку экран подтверждения, показывающий именно то, что запрашивается: актив, сумму, срок действия и любые ограничения.
Пользователь изучает запрос, при необходимости корректирует параметры (если ваш запрос это допускает) и подтверждает.
Ваш dapp выполняет действия в рамках предоставленной области через сессионный аккаунт — специально созданный аккаунт (EOA или смарт-аккаунт), который ваш dapp создаёт и контролирует. Сессионный аккаунт никогда не хранит средства пользователя. Он реализует разрешения через делегирование ERC-7710, выполняя транзакции непосредственно из MetaMask-аккаунта пользователя в пределах установленных лимитов.
Например, пользователь может настроить DCA-стратегию для AI-агента: тратить до 10 USDC в день на покупку ETH в течение 30 дней. Вместо того чтобы подписывать каждую транзакцию ежедневно, пользователь одобряет единственное ограниченное разрешение через MetaMask.
Интерфейс чётко отображает условия — актив, сумму и срок действия — до подтверждения. После предоставления разрешения приложение может выполнять транзакции от имени пользователя в пределах установленных лимитов.

ERC-7715 определяет спецификации и стандарты для запрашиваемых разрешений и правил, применяемых к ним.
Smart Accounts Kit расширяет это четырьмя типами разрешений на уровне реализации:
Категория | Типы разрешений | Что делает | Примеры использования |
Периодические | erc20-token-periodic, native-token-periodic | Лимит на переводы токенов за период; сбрасывается каждый период | Подписки, DCA-стратегии, регулярные газовые бюджеты |
Потоковые | erc20-token-stream, native-token-stream | Линейный потоковый лимит с настраиваемым началом, скоростью и максимумом | Вестинг, непрерывные платежи, постепенная разблокировка |
Отзыв | erc20-revocation | Позволяет dapp отзывать одобрения ERC-20 токенов от имени пользователя | Очистка устаревших или рискованных разрешений approve |
Каждый тип разрешения принимает соответствующие параметры с expiry, понятным человеку обоснованием разрешения и isAdjustmentAllowed. Полную схему см. в справочнике Advanced Permissions.
Advanced Permissions меняют модель с повторных подтверждений на выполнение на основе намерений: пользователь один раз определяет ограниченные разрешения, и действия выполняются в их рамках с течением времени.
Автоматизированные и повторяющиеся процессы: Подписки, DCA-стратегии и автокомпаундинг могут работать после однократного подтверждения. Сопоставьте их с разрешениями erc20-token-periodic или native-token-periodic с periodDuration, соответствующим вашему циклу выставления счётов или выполнения.
Выполнение через агентов: AI-агенты могут торговать, перебалансировать или совершать действия в пределах границ, определённых пользователем. Агент контролирует ключ сессионного аккаунта и выполняет действия через делегирование — основной кошелёк пользователя никогда не раскрывается, а агент может работать только в рамках предоставленной области. Отдельное пополнение кошелька не требуется.
Доступ с ограничением по времени: Разрешения принимают параметры startTime и expiry, поддерживая такие сценарии, как расписания вестинга, запланированные выполнения или игровые действия в рамках сессии. Комбинируйте с потоковыми разрешениями для постепенного выпуска токенов.
Advanced Permissions применяются на блокчейне через смарт-контракты Smart Accounts Kit. Вот что это означает на практике:
Ограниченная область по замыслу: Каждое разрешение точно определяет, к чему сессионный аккаунт может получить доступ: актив, сумму, временное окно и тип перевода. Enforcers оговорок Delegation Framework отклоняют любое выполнение, выходящее за пределы области.
Понятное человеку подтверждение: MetaMask отображает расширенный интерфейс подтверждения с полными параметрами разрешения до того, как пользователь что-либо предоставит.
Настраивается пользователем: Если в вашем запросе разрешения установлено isAdjustmentAllowed: true, пользователи могут изменить параметры (например, уменьшить сумму или сократить срок действия) перед подтверждением.
Отзываемые: Пользователи могут отозвать любое активное разрешение в любое время через опцию «Подключения dapp» в MetaMask.
Сессионные аккаунты не хранят средства: Выполнение происходит через реализацию делегирования из Smart Account пользователя. Сессионный аккаунт является ключом подписи, а не точкой хранения.
Документация для разработчиков Advanced Permissions: Узнайте, как ERC-7715 и ERC-7710 работают вместе и чем Advanced Permissions отличается от обычных делегирований.
Выполнение действий от имени пользователя MetaMask: Настройте сессионный аккаунт, запросите разрешения и реализуйте их.
Расширение Advanced Permissions (ERC-7715) для Scaffold-ETH 2: Изучите готовый стартовый проект с рабочим примером.
Спецификация ERC-7715: Прочитайте полное предложение для wallet_requestExecutionPermissions.
Переведено ИИ. Может содержать ошибки. Пожалуйста, всегда проверяйте информацию.