API для торговых ботов и MCP для ИИ
Бот, написанный под Binance USD-M Futures, работает на демо-счёте BuyCrypt без переписывания: меняется только адрес API. А Claude, ChatGPT и Cursor через MCP-сервер BuyCrypt видят турниры, рейтинг трейдеров и ваш демо-счёт.
{ "symbol": "BTCUSDT", "price": "…" }
Бот торгует. Ассистент отвечает на вопросы.
API для торговых ботов
Формат запросов, подписи и ответов как у Binance USD-M Futures. Бот выставляет ордера на вашем демо-счёте BuyCrypt: цены рыночные, деньги демо.
- Те же библиотеки: binance-futures-connector, свой код на requests
- REST, приватный WebSocket по listenKey, свечи и маркировочная цена в стриме
- Ключ создаётся в приложении и работает только с одним демо-счётом
MCP для ИИ-ассистентов
Один адрес в настройках Claude, ChatGPT или Cursor, и ассистент сам берёт данные BuyCrypt, когда вы о них спрашиваете.
- Турниры, призы, таблица участников, лидеры по монетам
- Паспорт трейдера: рейтинг из 1000, уровень, стиль торговли
- Ваш демо-счёт: баланс, позиции, ордера (по ключу только для чтения)
MCP: подключите BuyCrypt к Claude, ChatGPT и Cursor
MCP — открытый стандарт, по которому ИИ-ассистенты подключают внешние данные и инструменты. Сервер BuyCrypt отдаёт ассистенту живые данные платформы. Регистрация и ключ не нужны, ключ понадобится только для вашего демо-счёта.
https://buycrypt.com/mcp
- Откройте claude.ai или приложение Claude Desktop → Customize → Connectors.
- Нажмите + Add → Add custom connector.
- Название — BuyCrypt, адрес — https://buycrypt.com/mcp, затем Continue.
- В разделе Authentication выберите No sign in и нажмите Add.
Свои коннекторы есть на всех тарифах Claude, на бесплатном — один. В командах Team и Enterprise коннектор добавляет владелец организации в Organization settings → Connectors. Для своего демо-счёта добавьте ключ в блоке Request headers этого же окна — как это сделать.
- Выполните в терминале одну команду:
claude mcp add --transport http buycrypt https://buycrypt.com/mcp
Проверка: claude mcp list — в списке появится buycrypt. Добавьте --scope user, чтобы сервер был доступен во всех проектах.
- Откройте chatgpt.com/plugins в браузере.
- Нажмите + → Add custom MCP server.
- Название — BuyCrypt, в разделе Connection выберите публичный адрес и укажите https://buycrypt.com/mcp.
- Authentication — No authentication. Подтвердите предупреждение I understand and want to continue и нажмите Create.
Свои MCP-серверы в ChatGPT добавляются только в веб-версии и доступны не на всех тарифах. Если пункта нет, его закрыл тариф или администратор рабочего пространства. Подключить свой демо-счёт в ChatGPT нельзя: он не передаёт серверу ключи. Для этого подойдут Claude, Claude Code и Cursor.
Кнопка откроет Cursor с готовой настройкой. Или вручную: добавьте в ~/.cursor/mcp.json (для всех проектов) или .cursor/mcp.json в корне проекта:
{
"mcpServers": {
"buycrypt": {
"url": "https://buycrypt.com/mcp"
}
}
}Подойдёт любой клиент с поддержкой Streamable HTTP: укажите адрес https://buycrypt.com/mcp, авторизация не нужна. Если клиент умеет запускать только локальные серверы (stdio), подключите через мост mcp-remote, нужен Node.js:
{
"mcpServers": {
"buycrypt": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://buycrypt.com/mcp"]
}
}
}Проверить сервер без ассистента: npx @modelcontextprotocol/inspector --cli https://buycrypt.com/mcp --transport http --method tools/list
Что умеет сервер
platform_overviewКакие турниры идут сейчас, какой стартует следующим, сколько трейдеров в турнирах, последние призы.
без ключаlist_tournamentsИдущие, ближайшие и завершённые турниры: монета, способ подсчёта, призовой фонд, вход, участники.
без ключаget_tournamentОдин турнир: призы по местам и таблица участников с результатами.
без ключаleaderboardЛидеры по монете за 7, 30 или 90 дней — как на странице «Топ-трейдеры».
без ключаtrader_profileПаспорт трейдера по нику: рейтинг из 1000, уровень, пять частей оценки, стиль. Только открытые профили.
без ключаmarket_tickerЦена и изменение за 24 часа по бессрочному контракту, например BTCUSDT.
без ключаdemo_accountБаланс, маржа и открытые позиции вашего демо-счёта.
ваш ключdemo_open_ordersОткрытые ордера вашего демо-счёта.
ваш ключdemo_recent_resultsПоследние результаты демо-счёта: прибыль и убыток закрытых сделок, комиссии.
ваш ключНи один инструмент не выставляет ордера, не вступает в турниры и не переводит деньги — сервер только читает.
Что спросить у ассистента
Нажмите на вопрос, чтобы скопировать его.
Так ассистент видит BuyCrypt
Ниже — настоящий ответ сервера https://buycrypt.com/mcp прямо сейчас. Ассистент получает эти же данные и пересказывает их своими словами.
Ваш демо-счёт в ассистенте
Инструменты demo_account, demo_open_orders и demo_recent_results читают ваш демо-счёт. Для них клиент передаёт серверу ваш API-ключ в двух заголовках: X-BuyCrypt-Api-Key и X-BuyCrypt-Api-Secret. Для ассистента создайте ключ только для чтения: он видит баланс, позиции и ордера, а ордер, отмену или смену плеча BuyCrypt по нему не выполнит (ответ 403). Как получить.
claude mcp add --transport http buycrypt https://buycrypt.com/mcp \ --header "X-BuyCrypt-Api-Key: ВАШ_API_KEY" \ --header "X-BuyCrypt-Api-Secret: ВАШ_API_SECRET"
{
"mcpServers": {
"buycrypt": {
"url": "https://buycrypt.com/mcp",
"headers": {
"X-BuyCrypt-Api-Key": "ВАШ_API_KEY",
"X-BuyCrypt-Api-Secret": "ВАШ_API_SECRET"
}
}
}
}- При добавлении коннектора (Customize → Connectors → Add custom connector) после адреса выберите No sign in.
- В блоке Request headers добавьте два заголовка: X-BuyCrypt-Api-Key и X-BuyCrypt-Api-Secret с вашими значениями.
- Нажмите Add. Если коннектор уже добавлен без ключа, удалите его и добавьте заново с заголовками.
Только чтение
MCP-сервер не выставляет и не отменяет ордера. Ключ нужен ему, чтобы прочитать баланс, позиции и ордера. Ключ только для чтения не даст торговать, даже если попадёт в чужие руки.
Один демо-счёт
Ключ BuyCrypt работает только с демо-счётом, для которого создан. К реальным биржевым счетам он доступа не даёт.
Отдельный ключ
Создайте для ассистента отдельный ключ только для чтения. Ключ идёт только на buycrypt.com, сервер его не сохраняет и не пишет в журналы. Отозвать его можно там же, где создавали.
API, совместимый с Binance USD-M Futures
Пути, подпись HMAC-SHA256, параметры и формат ответов — как у Binance USD-M Futures. Отличие одно: ордера исполняются на вашем демо-счёте BuyCrypt по рыночным ценам, на реальную биржу они не уходят. Так стратегию можно проверить на рынке, не рискуя деньгами.
Как начать
- Аккаунт. Войдите в веб-терминал или приложение BuyCrypt через Google или Apple. Демо-счёт появится сразу.
- Ключ. В веб-терминале или приложении: Профиль → API-ключи → ваш демо-счёт → блок API-ключи для ботов → Создать API-ключ. Скопируйте apiKey и apiSecret: секрет показывается один раз. Для ИИ-ассистента или мониторинга в веб-терминале есть кнопка Создать ключ только для чтения (для MCP).
- Адрес. В своей библиотеке укажите https://api.buycrypt.com вместо https://fapi.binance.com. Пути /fapi/v1/… остаются прежними.
- Проверка. Запросите баланс — GET /fapi/v2/balance: в ответе будет USDT вашего демо-счёта.
Что важно знать
- Только USDT-контракты и режим одной позиции (one-way); хедж-режим не поддерживается.
- Цена тикера — /fapi/v1/ticker/price. Путь /fapi/v2/ticker/price, который вызывают новые версии библиотек, пока не поддержан.
- В публичном стриме приходят свечи @kline_1m (раз в 5 с) и @markPrice (раз в секунду).
- recvWindow — 5 000 мс по умолчанию, до 60 000 мс. Сверяйте часы через /fapi/v1/time.
- Аккаунт с торговым API-ключом получает в рейтинге приложения значок 🤖: всем видно, что торгует программа.
- Права ключа: обычный ключ (READ_TRADE) читает и торгует, ключ только для чтения (READ) — только GET-запросы и listenKey. На ордер, отмену, плечо или маржу с ним — HTTP 403 и код -2015.
import os from binance.um_futures import UMFutures client = UMFutures( key=os.environ["BUYCRYPT_API_KEY"], # ключ из приложения BuyCrypt secret=os.environ["BUYCRYPT_API_SECRET"], base_url="https://api.buycrypt.com", # единственная строка, которая меняется ) print(client.balance()) # USDT демо-счёта client.change_leverage(symbol="BTCUSDT", leverage=5) order = client.new_order(symbol="BTCUSDT", side="BUY", type="MARKET", quantity=0.002) print(order["orderId"], order["status"]) print(client.get_position_risk(symbol="BTCUSDT"))
import hashlib, hmac, os, time, urllib.parse, requests API = "https://api.buycrypt.com" KEY = os.environ["BUYCRYPT_API_KEY"] SECRET = os.environ["BUYCRYPT_API_SECRET"] def signed(method, path, **params): params["timestamp"] = int(time.time() * 1000) query = urllib.parse.urlencode(params) sig = hmac.new(SECRET.encode(), query.encode(), hashlib.sha256).hexdigest() r = requests.request(method, f"{API}{path}?{query}&signature={sig}", headers={"X-MBX-APIKEY": KEY}, timeout=10) r.raise_for_status() return r.json() print(signed("GET", "/fapi/v2/balance")) print(signed("POST", "/fapi/v1/order", symbol="BTCUSDT", side="BUY", type="LIMIT", timeInForce="GTC", quantity=0.002, price=60000))
# публичные данные — без ключа curl "https://api.buycrypt.com/fapi/v1/ticker/price?symbol=BTCUSDT" curl "https://api.buycrypt.com/fapi/v1/klines?symbol=ETHUSDT&interval=1h&limit=3" # баланс демо-счёта — подписанный запрос KEY="ВАШ_API_KEY"; SECRET="ВАШ_API_SECRET" Q="timestamp=$(date +%s)000" SIG=$(printf '%s' "$Q" | openssl dgst -sha256 -hmac "$SECRET" | sed 's/^.* //') curl -H "X-MBX-APIKEY: $KEY" "https://api.buycrypt.com/fapi/v2/balance?$Q&signature=$SIG"
Методы
Базовый адрес REST — https://api.buycrypt.com. Подписанные методы требуют заголовок X-MBX-APIKEY, timestamp и signature.
Рыночные данные без ключа
Счёт и позиции подписанные
Торговля подписанные
Потоки WebSocket
Лимиты и ошибки
Подписчики для вашего бота (бета)
Бота можно зарегистрировать как публичный: пользователь нажимает «Подключить» в приложении, BuyCrypt открывает ему отдельный демо-счёт с 1 000 демо-USDT и выпускает ключ только к этому счёту. Ключ уходит на ваш вебхук событием subscription.created, и бот торгует на демо-счёте подписчика. Когда пользователь отключается, позиции закрываются, ключ перестаёт работать, вам приходит subscription.disconnected.
Боту не передаются реальные счета и ключи бирж пользователей — только ключ к отдельному демо-счёту.
Регистрация — подписанный POST /fapi/v1/bot/profiles с параметрами slug, displayName, webhookUrl (только HTTPS) и webhookSecret (от 32 символов); бот получает статус PENDING_REVIEW до проверки. Каждое событие подписано: заголовок X-BuyCrypt-Signature = HMAC-SHA256(webhookSecret, timestamp + "." + тело), время — в X-BuyCrypt-Timestamp. Доставка повторяется до 6 раз (сразу, через 10 с, 30 с, 2 мин, 10 мин, 1 ч); после 10 неудачных доставок подряд вебхук отключается — включить его снова поможет поддержка.
import hashlib, hmac, os, time WEBHOOK_SECRET = os.environ["BUYCRYPT_WEBHOOK_SECRET"] def verify(headers, raw_body: bytes) -> bool: ts = int(headers["X-BuyCrypt-Timestamp"]) if abs(time.time() * 1000 - ts) > 5 * 60 * 1000: # старше 5 минут — отклонить return False expected = hmac.new(WEBHOOK_SECRET.encode(), f"{ts}.".encode() + raw_body, hashlib.sha256).hexdigest() return hmac.compare_digest(expected, headers["X-BuyCrypt-Signature"])
Ключ BuyCrypt открывает только демо-счёт
Привязан к одному счёту
API-ключ создаётся для конкретного демо-счёта и работает только с ним. Реальные счета бирж через этот API недоступны. Ключ только для чтения не торгует и на этом счёте.
Секрет показывается один раз
Храните ключ и секрет в переменных окружения или менеджере секретов, а не в коде и не в публичных репозиториях.
Отзыв за секунду
В веб-терминале или приложении, в том же блоке «API-ключи для ботов», нажмите «Отозвать»: все запросы с этим ключом сразу получат ошибку 401.
Частые вопросы
Бот торгует реальными деньгами?
Нет. API BuyCrypt исполняет ордера на вашем демо-счёте: цены рыночные, баланс в демо-USDT. На биржу ордера не отправляются, поэтому стратегию можно проверить без риска.
Нужно ли переписывать бота под BuyCrypt?
Обычно нет. Если бот работает с Binance USD-M Futures, замените базовый адрес на https://api.buycrypt.com и подставьте ключ BuyCrypt. Пути, подпись и формат ответов те же. Проверьте, что бот не использует хедж-режим и путь /fapi/v2/ticker/price.
Где взять API-ключ?
В веб-терминале или приложении BuyCrypt: Профиль → API-ключи → ваш демо-счёт → API-ключи для ботов → Создать API-ключ. Для MCP и ИИ-ассистентов — «Создать ключ только для чтения (для MCP)» в веб-терминале: такой ключ видит счёт, но не торгует. Секрет показывается один раз — сохраните его сразу. Там же ключ можно отозвать.
Что такое MCP и зачем он нужен?
MCP (Model Context Protocol) — открытый стандарт, по которому ИИ-ассистенты подключают внешние данные. Подключив сервер https://buycrypt.com/mcp, вы можете спросить Claude, ChatGPT или Cursor о турнирах, лидерах и паспорте трейдера, и ассистент ответит по живым данным BuyCrypt.
Нужна ли регистрация, чтобы подключить MCP?
Нет. Турниры, рейтинг, паспорта трейдеров и цены доступны без ключа. Ключ нужен только для трёх инструментов, которые читают ваш демо-счёт, и хватит ключа только для чтения.
Может ли ИИ-ассистент торговать через MCP?
Нет. Все девять инструментов сервера только читают данные: ордера не выставляются и не отменяются, в турниры никто не вступает, деньги не переводятся.
Получит ли разработчик бота мои ключи от биржи?
Нет. Когда вы подключаете чужого бота, BuyCrypt открывает для него отдельный демо-счёт и выдаёт ключ только к нему. Ваши реальные счета и ключи бирж боту не передаются. Подробнее о защите данных — на странице «Безопасность».
Начните с демо-счёта
Аккаунт BuyCrypt бесплатный: демо-счёт для бота, ключ API в приложении, турниры и рейтинг, где видно, чего стоит стратегия.