Разработка автоматизации транзакций через Safe{Wallet}

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Разработка автоматизации транзакций через Safe{Wallet}
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1258
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1170
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    873
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1092
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    830

Разработка автоматизации транзакций через Safe{Wallet}

Safe{Wallet} (бывший Gnosis Safe) — стандарт de facto для мультисиг-кошельков в Web3. Любой серьёзный DeFi-протокол, DAO-казна или корпоративный крипто-кошелёк использует Safe. Но ручное собирание подписей от 3 из 5 владельцев на каждую рутинную транзакцию — это боль. Автоматизация через Safe решает это: Keeper выполняет транзакции по условию или расписанию, не нарушая безопасность мультисига.

Два механизма автоматизации

Safe Modules

Safe Module — смарт-контракт, которому Safe-кошелёк явно делегирует право выполнять транзакции без сбора подписей владельцев. Module включается через enableModule(address module) — это требует обычного мультисиг-голосования. Но после включения module может вызывать execTransactionFromModule напрямую.

Это мощно и опасно. Скомпрометированный Module — это полный доступ к средствам Safe без каких-либо защит мультисига. Поэтому правильная архитектура Module включает:

  • Явный whitelist разрешённых действий (конкретные контракты, конкретные функции, максимальные суммы)
  • Timelock: транзакция анонсируется, выполняется через N часов
  • Возможность отключения Module через мультисиг

Zodiac Module Framework от Gnosis — набор готовых модулей: RolesModule (ролевая система с детальными разрешениями), DelayModule (timelock), ExitModule (позволяет участникам DAO выйти с пропорциональной долей). Для кастомной автоматизации RolesModule — правильный выбор: задаём роль "Keeper", даём ей право вызывать конкретные функции на конкретных контрактах с конкретными лимитами.

Safe Transaction Service + Relay

Альтернативный подход: backend-сервис формирует транзакцию, получает необходимое количество подписей от владельцев (асинхронно через Safe Transaction Service API), и когда threshold достигнут — relay-сервис отправляет транзакцию on-chain.

Этот подход не требует Module, безопаснее (мультисиг сохраняется полностью), но требует human-in-the-loop для подписания. Подходит для полуавтоматических процессов: система определяет, что нужна транзакция → уведомляет владельцев → они подписывают → execution автоматический.

Интеграция с Gelato и Chainlink Automation

Для полностью автоматических транзакций по расписанию — интеграция Safe Module с Keeper-сетью:

Gelato Safe Module — готовый Module от Gelato, который позволяет настроить автоматические транзакции из Safe по расписанию или по on-chain условию. Gelato берёт газ из своего баланса (1Balance), Safe не тратит ETH на газ напрямую.

Chainlink Automation + кастомный Module: Chainlink Keeper вызывает функцию Module, которая проверяет условие и инициирует транзакцию через execTransactionFromModule. Более гибко, но требует разработки Module.

Разработка кастомного Automation Module

Базовая структура Module:

contract AutomationModule is Module {
    ISafe public safe;
    
    function executeScheduled(bytes calldata data) external onlyKeeper {
        require(block.timestamp >= nextExecution, "Too early");
        require(safe.execTransactionFromModule(
            target, value, data, Enum.Operation.Call
        ), "Module transaction failed");
        nextExecution = block.timestamp + interval;
    }
}

Важные детали: onlyKeeper — проверка, что вызывает авторизованный Keeper, а не произвольный адрес. Enum.Operation.Call vs Enum.Operation.DelegateCall — для большинства случаев нужен Call. DelegateCall выполняет код в контексте Safe — крайне опасно для автоматизации.

Типичные кейсы автоматизации

Автоматический rebalance DeFi-позиций. Safe держит ликвидность в нескольких протоколах. Раз в неделю Keeper проверяет allocation и вызывает транзакцию ребалансировки через Module.

Выплата грантов по DAO-расписанию. DAO одобрила грант в 10 ETH, выплачиваемый по 1 ETH в месяц. Module хранит параметры гранта, Keeper вызывает ежемесячно.

Sweep из hot wallet в Safe. Горячий кошелёк накапливает средства, Keeper переводит в Safe при достижении порога.

Сроки

Настройка существующего Zodiac Module (RolesModule + Gelato) для типовой автоматизации — 1-2 рабочих дня. Разработка кастомного Automation Module с конкретной бизнес-логикой — 3-5 дней.

Стоимость рассчитывается после обсуждения структуры Safe (количество владельцев, threshold, целевые транзакции).