June 20, 2023

Вывод с бирж скриптом

Всем привет, теперь вы можете выводить практически со всех популярных бирж, на некоторых биржах не требуется подтверждений и внесения кошельков в белый список:

  • Binance - без белых списков, выводит на все
  • Mexc - без белых списков, выводит на все
  • Kucoin - без белых списков, выводит на все

А вот на некоторых все же потребуется добавлять кошельки в белый список, для вывода

  • Gate - выводит только на кошельки в белом списке
  • OKX - выводит только на кошельки в белом списке
  • Huobi - выводит только на кошельки в белом списке

Ссылка на скрипт

Сам скрипт находится : https://github.com/th0masi/all-cex-withdrawal/archive/refs/heads/main.zip

Файлы софта: main.py и wallets.txt, папка network не является обязательной, в ней находятся txt файлы, в которые я спарсил:
название монеты:ID сети: комиссия за вывод для каждой биржи, тут важен ID сети, т.к. для разных бирж ID одной и той же сети указываются по разному

Как работает скрипт?

Софт отправляет API запросы бирже через популярную библиотеку ccxt для python. Информацию о библиотеке можете найти в интернете.Чтобы софт работал вам нужно указать API-ключи для бирж, их можно сгенерировать на самой бирже.При генерации укажите обязательно IP с которого будете отправлять запросы, можете указать IP свой сети (узнать можно здесь) и IP своего прокси (если используете его). **Ссылки для генерации ключей в самом начале поста!
**
После генерации вам дадут API-Key, API-Secret Key. На биржах OKX и Kucoin вас попросят также ввести дополнительно пароль. В момент создания ключа обязательно выбирайте возможность выводить и вписывайте свой IP.

Указать все ключи (либо ключи бирж, которые собираетесь использовать) вы можете в main.py

Настройки софта

Настроить софт можно прямо в главном файле main.py

Большинство пунктов я думаю понятны, но хочу кое что прояснить:

network - это скорее не название сети а именно ID сети на бирже и у разных бирж они разные, поэтому вы можете их найти и проверить в папке network проекта. Там я спарсил все монеты, id сетей и комиссии на вывод. Внимание, он чувствителен к регистру!

proxy_server - это прокси, они используются для доступа к OKX, если ваш основной IP не блочится (а именно с него посылаются запросы), то нужно удалить строку 'proxies': proxies, в функции okx_withdraw

Как запустить софт

Для работы кода в первую очередь вам нужно установить Python версии **3.10.10
**на официальном сайте. *Внизу страницы будет таблица с ссылками.

*Я бы рекомендовал вам так же установить Pycharm, как самый удобный IDE для запуска, редактирования и кодинга в целом.

Вы можете посмотреть видео как его скачать, установить, запустить. После установки вам нужно будет создать новый проект.

При создании проекта убедитесь что у вас Python310 в **Base interpreter

**После создания проекта, поместите файл main.py с гитхаба и создайте файл wallets.txt с номерами кошельков **(не приватники!)

Файл автоматически отобразится здесь, нажмите его чтобы открыть
**

Теперь вы можете полностью настроить скрипт под себя и внести сюда свои API-ключи

После этого вам нужно установить библиотеку ccxt (для работы с API бирж)
Переходим в терминал и вводим команду pip install ccxt

Теперь еще раз проверьте все ключи, правильность заполненных данных, адреса кошельков для вывода в файле wallets.txt и после этого можете запускать софт кнопкой в правом верхнем углу, либо комбинацией Shift+F10

После этого у вас появится лог выполнения:

______________________________________________________________________________


FAQ - ОТВЕТЫ НА ВОПРОСЫ ПО ОШИБКАМ

Для начала убедитесь что у вас установлена версия python 3.10.10, проверить версию можно командой python --version

В Pycharm её нужно вводить в терминале:

В командной строке тоже самое:

Если установлена иная версия, скачайте и установите с офф сайта 3.10.10:

В конце не забудьте поставить галку на PATH

FAQ

 {«msg":"Request header OK-ACCESS-KEY can not be empty.","code":"50103"}

Ошибка связана с подключением к прокси. Убедитесь что прокси настроены правильно, вы добавили и указали их в нужном формате http/https

okx GET https://www.okx.com/api/v5/asset/currencies

Ошибка связана с невозможностью подключится к API OKX (скорее всего вы из РФ, а у окекса блокировка ру-ip). Поэтому используйте proxy!

[OKx] Не удалось вывести 2.35 FTM: okx {"code":"51000","data":[],"msg":"Parameter chainName  error"}

Все ошибки где связанные с chainName/network имеют несколько причин.
Первая и основная - вы неверно указали название сети. Используйте названия из github
Вторая - ошибка связана с ccxt и неправильно переданными параметрами. Это ошибка на стороне библиотеки и уже известны подобные ошибки при работе с mexc (когда название сети состоит из двух с разделением пробела) и bybit. Решение: стоит ждать фикса со стороны ccxt.

Ошибка: не могу получить сумму комиссии, проверьте значения symbolWithdraw и network

Это ошибка свойственна только для OKx из-за того что при обращении к API нужно самому передавать значение комиссии для вывода (дурка), скорее всего у вас проблема все так же связана с использованием прокси.

Если вы не используйте прокси удалите все строки 'proxies': proxies, . Они есть в функциях okx_withdrawal и get_withdrawal_fee (можно просто через замену заметить их на пустые значения или закоментить)

okx {"code":"58207","data":[],"msg":"Withdrawal address is not whitelisted for verification exemption"}

Вам нужно добавить адреса в белый список, чтобы вывести средства на них через API.

[Errno 2] No such file or directory: 'wallets.txt'

Софт не может найти файл с кошельками. Файл wallets.txt должен находится рядом с main.py (в корневой папке проекта)