Как дать ИИ-агенту ограниченный доступ к криптокошельку
ИИ-агенту, который торгует за вас, нужна возможность двигать ваши токены. Обычный способ дать её — отдать приватный ключ, то есть отдать всё, что у вас есть, во всех сетях и навсегда. Hopivia использует другую модель: агент получает лимит, который держит смарт-контракт, а не ключ.
Почему приватный ключ не подходит боту
Приватный ключ нельзя ограничить. Тот, у кого он есть, может отправить любой токен в любом количестве на любой адрес, а отозвать его можно только переездом всех средств на новый кошелёк. Для бота это плохо по трём причинам:
- Код бота — самое слабое звено. Ошибка, утёкшая переменная окружения или подмена инструкции ИИ-агенту раскрывают ключ, а с ним и весь кошелёк.
- Область действия не сузить. Ключу нельзя сказать «только USDT, только 50 в день». API-ключи бирж можно ограничить торговлей, но они живут на централизованной бирже, которая держит ваши средства.
- Отзыв медленный и дорогой. Смена ключа — это новый кошелёк и перевод каждого актива.
Что значит «ограниченный доступ» в Hopivia
Делегированный доступ — это смарт-контракт между агентом и вашим кошельком. Вы, владелец кошелька, записываете лимит для собственного адреса агента:
- Какие токены агент может продавать и какие получать. Нативная монета сети разрешена как результат всегда.
- Сколько в день каждого токена, считая по календарным суткам UTC.
- До какого числа. После даты окончания лимит перестаёт действовать сам.
- Куда уходит результат. Всегда на ваш адрес. Агент не может его подменить.
- Отзыв. Одна транзакция убирает токен, агента или все лимиты разом.
Агент торгует со своего кошелька и сам платит за газ. Он никогда не держит ваш приватный ключ и ваши средства: контракт забирает входящий токен из вашего кошелька, меняет его на одной из разрешённых бирж и отправляет результат вам в той же транзакции.
Как это работает по шагам
- Откройте раздел ИИ-агенты на Hopivia, подключите кошелёк и укажите адрес агента, токен, дневной лимит и дату окончания.
- Подтвердите две транзакции: разрешение контракту на токен, ограниченное «дневной лимит × дни до окончания», и сам лимит.
- Дайте агенту адрес контракта. Он спрашивает у API Hopivia лучший маршрут и вызывает функцию
swapконтракта со своего кошелька. - Следите за лимитами на той же странице: сколько потрачено сегодня, когда счётчик обнулится, когда лимит истечёт. Убирайте или отзывайте в любой момент.
Что агент может и чего не может
| Действие | Возможно? |
|---|---|
| Продать разрешённый токен за другой разрешённый токен или монету сети | Да, в пределах дневного лимита |
| Продать больше дневного лимита | Нет, контракт откатит транзакцию |
| Торговать после даты окончания | Нет |
| Купить токен, который вы не разрешили | Нет |
| Отправить результат куда-то, кроме вашего кошелька | Нет |
| Использовать биржу вне списка контракта | Нет |
| Двигать средства без лимита для своего адреса | Нет |
| Подписать сообщение или транзакцию от вашего имени | Нет, у него никогда нет вашего ключа |
От чего лимит защищает, честно
Лимит ограничивает ущерб, а не делает плохого агента хорошим. Если агент выберет плохой маршрут или неудачный момент, максимум потерь — дневной лимит каждого разрешённого токена, каждый день, пока вы не отзовёте доступ. Ставьте лимит равным сумме, которую готовы потерять за один день, разрешайте только нужные стратегии токены и задавайте срок по длине эксперимента, а не «навсегда».
Где это доступно
Делегированный доступ разворачивается по сетям по очереди. На странице ИИ-агентов перечислены сети, где контракт уже работает, и его адреса. У контракта нет владельца и админ-функций, а список бирж, которыми он пользуется, фиксируется при деплое.
Вопросы и ответы
Агент видит мой приватный ключ?
Нет. Агент работает со своего кошелька. Ваш кошелёк подписывает только две транзакции настройки, а потом изменения лимитов.
Может ли агент вывести мои токены себе?
Нет. Результат каждого обмена уходит владельцу кошелька. Адрес агента фигурирует только как вызывающий.
Что происходит на следующий день?
Счётчик обнуляется в 00:00 UTC. Если агент потратил 40 из лимита 100 USDT, на следующий день он снова может продать 100 USDT.
Что если я снижу лимит посреди дня?
Потраченное сегодня остаётся учтённым. При потраченных 60 и лимите, сниженном до 70, агенту до полуночи UTC остаётся 10.
Это то же самое, что разрешение токена в MetaMask?
Отчасти. Владелец даёт контракту делегирования обычное разрешение ERC-20, но Hopivia ставит его равным «лимит × дни», а не безлимитным, и сам контракт следит, кто, на что и сколько в день может его использовать.
Можно задать разовую сумму вместо лимита в день?
Да. На странице агентов переключите лимит с «В день» на «Разово (всего)». Разрешение контракту тогда ставится ровно на эту сумму: как только агент её продаст, лимит исчерпан, даже если дата окончания ещё не наступила.
У бота ещё нет кошелька. Что ему дать?
Свой адрес боту нужен только чтобы подписывать сделки; ваши средства туда не переезжают. Если кошелька у бота нет, страница агентов создаст его: скопируйте приватный ключ в настройки бота (он показывается один раз и нигде не хранится) и переведите на адрес немного монеты сети на газ.
Обновлено: