API-ключи биржи: как подключить бота и не потерять депозит
API-ключ биржи: какие права выдать роботу, как ограничить доступ по IP и что делать, если секрет утёк. Пошаговая инструкция.
API-ключ биржи: какие права выдать роботу, как ограничить доступ по IP и что делать, если секрет утёк. Пошаговая инструкция.
Я подключала торгового бота к бирже три раза, и на втором чуть не отдала 3 000 долларов на ровном месте. Дело было не в стратегии. Знакомая программистка собирала мне скрипт, я вставила API-ключ в файл на сервере, а через сутки пришло письмо о входе в аккаунт с незнакомого адреса. Тогда обошлось: ключ был только на чтение, и чужой человек мог разве что посмотреть мой баланс. После этого я перечитала документацию и поняла: API-ключ — не пароль, а пропуск в аккаунт, и количество прав в нём выбираю я сама.
API-ключ — это две строки символов: публичный key и секрет secret. Их выдаёт биржа в разделе управления API (у Binance — «API Management», у Bybit — «API»). Секрет показывается один раз: если потеряла — не восстанавливается, придётся создавать новый. Ключи нужны торговым роботам, портфельным трекерам, налоговым сервисам и терминалам вроде TradingView, которые отправляют ордера на биржу.
Первое, что стоит сделать до создания ключа, — открыть отдельный субаккаунт под робота и положить туда сумму, которую не страшно потерять. На основном счёте держи остальное: даже аккуратно настроенный ключ всё равно остаётся ключом.
В панели создания ключа обычно три галочки: Read (чтение), Spot & Margin Trade (торговля), Withdrawals (вывод средств). Галочку вывода снимай всегда. Пока она включена, утечка ключа означает потерю всего, что лежит на счёте: злоумышленник не будет разбираться в стратегиях, он просто переведёт монеты на свой адрес и обменяет их на бирже с низким KYC-порогом. Ни один торговый робот, ни один терминал и ни один налоговый сервис не нуждается в праве вывода.
Второе правило того же шага: имя ключа. Пиши в поле не «key», а конкретно — «бот-сетка», «налоговый отчёт». Через полгода это спасает: в списке видно, какой ключ чем занят, и можно удалить только лишний.
В той же форме есть поле «Restrict access to trusted IPs only». Внеси туда адрес сервера, на котором работает бот. Ключ будет работать только с этого адреса, и украденная копия бесполезна для чужого компьютера.
Что нужно понимать: ограничение работает только со статичным адресом. Домашний интернет меняет IP раз в сутки или при перезагрузке роутера, и ключ начнёт выдавать ошибку авторизации. Под бота берут виртуальный сервер (VPS) за 5–10 долларов в месяц: там адрес постоянный. Если бот запускается с домашнего компьютера, ограничение по IP либо не ставь, либо переезжай на сервер.
Ключ для робота — это отдельный ключ, а не тот, что подключает портфельный трекер. Разделяй по назначению:
| Право | Что даёт | Кому выдавать |
|---|---|---|
| Read | балансы, история ордеров, сделки | трекеру, налоговому сервису |
| Spot Trade | выставление и отмена ордеров | своему роботу |
| Margin Trade | торговля с плечом на заёмные | роботу только при стратегии с плечом |
| Futures | контракты и плечо | почти никогда |
| Transfer | переводы между кошельками аккаунта | никогда |
| Withdraw | вывод монет наружу | никогда |
Два ключа вместо одного — правильная схема: read-only для аналитики и trade-only для бота. Если утечёт первый, торговать с него нельзя физически.
Секрет нельзя держать в заметках телефона, в переписке и на скриншотах: на изображении он читается сразу, а мессенджеры хранят историю годами. Рабочий вариант — файл .env на том же VPS рядом с ботом, права доступа 600 (читаешь только ты) и исключение из репозитория через .gitignore. Если репозиторий публичный на GitHub, проверь его на утечки: сканеры обходят публичный код и находят строки вида api_secret за минуты.
Отдельно про фишинг под API. Выглядит он буднично: сайт-клон или телеграм-бот предлагает «подключить ключ и проверить стратегию бесплатно». Ключ с правом торговли в чужих руках — это готовый способ вынести депозит без единого перевода: сначала открываются позиции с плечом на максимум, потом пары с тонкой ликвидностью раскачиваются в нужную сторону. Схема занимает минуты, и биржа в таких случаях почти никогда не компенсирует убыток.
Даже без права вывода бот может навредить: накрутить комиссий, открыть лишнее плечо, зависнуть с открытой позицией на выходные. Поэтому к ключу добавь три ограничителя:
Про комиссии считай заранее, они съедают больше, чем кажется. 200 сделок в месяц по 500 долларов дают оборот 100 000 долларов, а по тейкерской ставке 0,05% это 50 долларов в месяц и 600 в год. У активной сетки, которая делает 50 сделок в день по 200 долларов, оборот за месяц — 300 000, то есть 150 долларов комиссий. Частые маленькие сделки дороже редких крупных: разница оседает в кармане биржи.
Раз в три месяца меняю ключи: создаю новый, переподключаю сервис, старый удаляю. Ключ с урезанными правами не даёт полной защиты — он даёт время заметить проблему.
Если секрет утёк или есть подозрение, порядок действий такой: удалить ключ в кабинете, сменить пароль от биржи, закрыть все активные сессии, проверить адреса для вывода и включить двухфакторную авторизацию. Удаление ключа срабатывает мгновенно, и именно оно закрывает доступ — всё остальное можно делать спокойно после. Если ключ был с правом вывода, монеты стоит увести в холодный кошелёк или хотя бы на другой аккаунт.
.env с правами 600 или в менеджере паролей, не в чатах и не в скриншотах.