BuyCrypt
Для разработчиков и ИИ-ассистентов

API для торговых ботов и MCP для ИИ

Бот, написанный под Binance USD-M Futures, работает на демо-счёте BuyCrypt без переписывания: меняется только адрес API. А Claude, ChatGPT и Cursor через MCP-сервер BuyCrypt видят турниры, рейтинг трейдеров и ваш демо-счёт.

1 строкав коде бота: другой base URL
500+бессрочных контрактов USDT
9инструментов MCP, все только читают
api.buycrypt.comживой ответ
GET https://api.buycrypt.com/fapi/v1/ticker/price?symbol=BTCUSDT
{ "symbol": "BTCUSDT", "price": "…" }
# ваш бот на Binance USD-M Futures
- base_url="https://fapi.binance.com"
+ base_url="https://api.buycrypt.com"
Два способа подключиться

Бот торгует. Ассистент отвечает на вопросы.

API для торговых ботов

Формат запросов, подписи и ответов как у Binance USD-M Futures. Бот выставляет ордера на вашем демо-счёте BuyCrypt: цены рыночные, деньги демо.

  • Те же библиотеки: binance-futures-connector, свой код на requests
  • REST, приватный WebSocket по listenKey, свечи и маркировочная цена в стриме
  • Ключ создаётся в приложении и работает только с одним демо-счётом
Документация API →

MCP для ИИ-ассистентов

Один адрес в настройках Claude, ChatGPT или Cursor, и ассистент сам берёт данные BuyCrypt, когда вы о них спрашиваете.

  • Турниры, призы, таблица участников, лидеры по монетам
  • Паспорт трейдера: рейтинг из 1000, уровень, стиль торговли
  • Ваш демо-счёт: баланс, позиции, ордера (по ключу только для чтения)
Подключить за минуту →
MCP · Model Context Protocol

MCP: подключите BuyCrypt к Claude, ChatGPT и Cursor

MCP — открытый стандарт, по которому ИИ-ассистенты подключают внешние данные и инструменты. Сервер BuyCrypt отдаёт ассистенту живые данные платформы. Регистрация и ключ не нужны, ключ понадобится только для вашего демо-счёта.

https://buycrypt.com/mcp
Streamable HTTPбез входатолько чтение
  1. Откройте claude.ai или приложение Claude Desktop → Customize → Connectors.
  2. Нажмите + Add → Add custom connector.
  3. Название — BuyCrypt, адрес — https://buycrypt.com/mcp, затем Continue.
  4. В разделе Authentication выберите No sign in и нажмите Add.

Свои коннекторы есть на всех тарифах Claude, на бесплатном — один. В командах Team и Enterprise коннектор добавляет владелец организации в Organization settings → Connectors. Для своего демо-счёта добавьте ключ в блоке Request headers этого же окна — как это сделать.

  1. Выполните в терминале одну команду:
Terminal
claude mcp add --transport http buycrypt https://buycrypt.com/mcp

Проверка: claude mcp list — в списке появится buycrypt. Добавьте --scope user, чтобы сервер был доступен во всех проектах.

  1. Откройте chatgpt.com/plugins в браузере.
  2. Нажмите + → Add custom MCP server.
  3. Название — BuyCrypt, в разделе Connection выберите публичный адрес и укажите https://buycrypt.com/mcp.
  4. Authentication — No authentication. Подтвердите предупреждение I understand and want to continue и нажмите Create.

Свои MCP-серверы в ChatGPT добавляются только в веб-версии и доступны не на всех тарифах. Если пункта нет, его закрыл тариф или администратор рабочего пространства. Подключить свой демо-счёт в ChatGPT нельзя: он не передаёт серверу ключи. Для этого подойдут Claude, Claude Code и Cursor.

Добавить в Cursor

Кнопка откроет Cursor с готовой настройкой. Или вручную: добавьте в ~/.cursor/mcp.json (для всех проектов) или .cursor/mcp.json в корне проекта:

mcp.json
{
  "mcpServers": {
    "buycrypt": {
      "url": "https://buycrypt.com/mcp"
    }
  }
}

Подойдёт любой клиент с поддержкой Streamable HTTP: укажите адрес https://buycrypt.com/mcp, авторизация не нужна. Если клиент умеет запускать только локальные серверы (stdio), подключите через мост mcp-remote, нужен Node.js:

claude_desktop_config.json и похожие
{
  "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 прямо сейчас. Ассистент получает эти же данные и пересказывает их своими словами.

Покажи топ-5 трейдеров месяца по BTC
ассистент вызывает leaderboard{"coin":"BTC","period_days":30,"limit":5}
Загружаем ответ сервера…
По вашему ключу

Ваш демо-счёт в ассистенте

Инструменты demo_account, demo_open_orders и demo_recent_results читают ваш демо-счёт. Для них клиент передаёт серверу ваш API-ключ в двух заголовках: X-BuyCrypt-Api-Key и X-BuyCrypt-Api-Secret. Для ассистента создайте ключ только для чтения: он видит баланс, позиции и ордера, а ордер, отмену или смену плеча BuyCrypt по нему не выполнит (ответ 403). Как получить.

Terminal
claude mcp add --transport http buycrypt https://buycrypt.com/mcp \
  --header "X-BuyCrypt-Api-Key: ВАШ_API_KEY" \
  --header "X-BuyCrypt-Api-Secret: ВАШ_API_SECRET"
mcp.json
{
  "mcpServers": {
    "buycrypt": {
      "url": "https://buycrypt.com/mcp",
      "headers": {
        "X-BuyCrypt-Api-Key": "ВАШ_API_KEY",
        "X-BuyCrypt-Api-Secret": "ВАШ_API_SECRET"
      }
    }
  }
}
  1. При добавлении коннектора (Customize → Connectors → Add custom connector) после адреса выберите No sign in.
  2. В блоке Request headers добавьте два заголовка: X-BuyCrypt-Api-Key и X-BuyCrypt-Api-Secret с вашими значениями.
  3. Нажмите Add. Если коннектор уже добавлен без ключа, удалите его и добавьте заново с заголовками.

Только чтение

MCP-сервер не выставляет и не отменяет ордера. Ключ нужен ему, чтобы прочитать баланс, позиции и ордера. Ключ только для чтения не даст торговать, даже если попадёт в чужие руки.

Один демо-счёт

Ключ BuyCrypt работает только с демо-счётом, для которого создан. К реальным биржевым счетам он доступа не даёт.

Отдельный ключ

Создайте для ассистента отдельный ключ только для чтения. Ключ идёт только на buycrypt.com, сервер его не сохраняет и не пишет в журналы. Отозвать его можно там же, где создавали.

API для торговых ботов

API, совместимый с Binance USD-M Futures

Пути, подпись HMAC-SHA256, параметры и формат ответов — как у Binance USD-M Futures. Отличие одно: ордера исполняются на вашем демо-счёте BuyCrypt по рыночным ценам, на реальную биржу они не уходят. Так стратегию можно проверить на рынке, не рискуя деньгами.

Как начать

  1. Аккаунт. Войдите в веб-терминал или приложение BuyCrypt через Google или Apple. Демо-счёт появится сразу.
  2. Ключ. В веб-терминале или приложении: Профиль → API-ключи → ваш демо-счёт → блок API-ключи для ботов → Создать API-ключ. Скопируйте apiKey и apiSecret: секрет показывается один раз. Для ИИ-ассистента или мониторинга в веб-терминале есть кнопка Создать ключ только для чтения (для MCP).
  3. Адрес. В своей библиотеке укажите https://api.buycrypt.com вместо https://fapi.binance.com. Пути /fapi/v1/… остаются прежними.
  4. Проверка. Запросите баланс — 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.
pip install binance-futures-connector
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"))
pip install requests
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))
bash, openssl
# публичные данные — без ключа
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.

Рыночные данные без ключа
GET/fapi/v1/ping · /fapi/v1/timeПроверка связи и время сервера в мс.
GET/fapi/v1/exchangeInfoКонтракты, фильтры цены и количества, лимиты.
GET/fapi/v1/ticker/price · /ticker/24hr · /ticker/bookTickerПоследняя цена, статистика за 24 часа, лучшие цены покупки и продажи.
GET/fapi/v1/depth · /fapi/v1/klinesСтакан и свечи.
GET/fapi/v1/premiumIndex · /fapi/v1/fundingRateМаркировочная цена, индекс и ставка финансирования.
Счёт и позиции подписанные
GET/fapi/v2/account · /fapi/v3/accountБаланс, маржа и позиции одним ответом (v1, v2 и v3 одинаковы).
GET/fapi/v2/balance · /fapi/v3/balanceБаланс демо-счёта, только USDT.
GET/fapi/v2/positionRisk · /fapi/v3/positionRiskОткрытые позиции: цена входа, маркировочная цена, нереализованный результат, цена ликвидации.
GET/fapi/v1/userTrades · /fapi/v1/incomeСделки по символу и история результатов: прибыль и убыток, комиссии.
GET/fapi/v1/commissionRate · /fapi/v1/leverageBracketКомиссия по символу и уровни плеча.
Торговля подписанные
POST/fapi/v1/orderНовый ордер: MARKET, LIMIT, STOP, STOP_MARKET, TAKE_PROFIT, TAKE_PROFIT_MARKET, TRAILING_STOP_MARKET; reduceOnly, closePosition, timeInForce, newClientOrderId.
GET/fapi/v1/order · /openOrders · /allOrdersОдин ордер, открытые ордера, история.
PUT/fapi/v1/orderИзменить лимитный ордер.
DELETE/fapi/v1/order · /allOpenOrdersОтменить один ордер или все по символу.
POST/fapi/v1/batchOrdersНесколько ордеров одним запросом; DELETE — отмена списком.
POST/fapi/v1/algoOrderУсловные ордера (стоп, тейк-профит, трейлинг); GET /openAlgoOrders, /allAlgoOrders, DELETE /algoOrder, /algoOpenOrders.
POST/fapi/v1/leverage · /fapi/v1/marginTypeПлечо и тип маржи по символу.
GET/fapi/v1/positionSide/dualВсегда dualSidePosition: false — режим одной позиции.
Потоки WebSocket
POST/fapi/v1/listenKeyКлюч приватного потока на 60 минут; PUT продлевает, DELETE закрывает.
WSwss://api.buycrypt.com/fapi/ws/<listenKey>События вашего счёта: ORDER_TRADE_UPDATE, ACCOUNT_UPDATE, MARGIN_CALL — в формате Binance.
WSwss://api.buycrypt.com/fapi/ws-market/btcusdt@markPriceПубличный поток одного рынка: @markPrice и @kline_1m.
WSwss://api.buycrypt.com/stream?streams=btcusdt@markPrice/ethusdt@kline_1mНесколько потоков в одном соединении, ответы в обёртке {"stream", "data"}.
Лимиты и ошибки
1 мин2 400 веса · 1 200 подписанных чтенийНа один API-ключ. В ответах — заголовки X-MBX-USED-WEIGHT-1M и X-MBX-ORDER-COUNT-10S.
10 с300 ордеровПри превышении — HTTP 429 и Retry-After.
ERR-1021 · -1022 · -2014 · -2015Время вне recvWindow · неверная подпись · неверный формат ключа · ключ отозван или неверен (HTTP 401), у ключа только чтение, а запрос торговый (HTTP 403).
ERR-1102 · -2010 · -2011 · -2019Нет обязательного параметра · ордер отклонён · ордер не найден · не хватает маржи.
Подписчики для вашего бота (бета)

Бота можно зарегистрировать как публичный: пользователь нажимает «Подключить» в приложении, 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 неудачных доставок подряд вебхук отключается — включить его снова поможет поддержка.

Проверка подписи вебхука, Python
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 в приложении, турниры и рейтинг, где видно, чего стоит стратегия.