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: YOUR_API_KEY" \
  --header "X-BuyCrypt-Api-Secret: YOUR_API_SECRET"
mcp.json
{
  "mcpServers": {
    "buycrypt": {
      "url": "https://buycrypt.com/mcp",
      "headers": {
        "X-BuyCrypt-Api-Key": "YOUR_API_KEY",
        "X-BuyCrypt-Api-Secret": "YOUR_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-ключі → ваш демо-рахунок → блок Bot API keys → Generate API key. Скопіюйте apiKey і apiSecret: секрет показується лише один раз. Для ШІ-асистента або моніторингу у вебтерміналі є кнопка Generate read-only key (for 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 недоступні. Ключ лише для читання не торгує й на цьому рахунку.

Секрет показується один раз

Зберігайте ключ і секрет у змінних середовища або менеджері секретів, а не в коді й не в публічних репозиторіях.

Відкликання за секунду

У вебтерміналі або застосунку, у тому ж блоці «Bot API keys», натисніть «Revoke»: усі запити з цим ключем одразу отримають помилку 401.

Запитання

Часті запитання

Бот торгує реальними грошима?

Ні. API BuyCrypt виконує ордери на вашому демо-рахунку: ціни ринкові, баланс у демо-USDT. На біржу ордери не надсилаються, тож стратегію можна перевірити без ризику.

Чи треба переписувати бота під BuyCrypt?

Зазвичай ні. Якщо бот працює з Binance USD-M Futures, замініть базову адресу на https://api.buycrypt.com і підставте ключ BuyCrypt. Шляхи, підпис і формат відповідей ті самі. Перевірте, що бот не використовує хедж-режим і шлях /fapi/v2/ticker/price.

Де взяти API-ключ?

У вебтерміналі або застосунку BuyCrypt: Профіль → API-ключі → ваш демо-рахунок → Bot API keys → Generate API key. Для MCP та ШІ-асистентів — «Generate read-only key (for MCP)» у вебтерміналі: такий ключ бачить рахунок, але не торгує. Секрет показується лише один раз — збережіть його одразу. Там само ключ можна відкликати.

Що таке MCP і навіщо він потрібен?

MCP (Model Context Protocol) — відкритий стандарт, за яким ШІ-асистенти підключають зовнішні дані. Підключивши сервер https://buycrypt.com/mcp, ви можете запитати Claude, ChatGPT або Cursor про турніри, лідерів і паспорт трейдера, і асистент відповість за живими даними BuyCrypt.

Чи потрібна реєстрація, щоб підключити MCP?

Ні. Турніри, рейтинг, паспорти трейдерів і ціни доступні без ключа. Ключ потрібен лише для трьох інструментів, які читають ваш демо-рахунок, і вистачить ключа лише для читання.

Чи може ШІ-асистент торгувати через MCP?

Ні. Усі дев’ять інструментів сервера лише читають дані: ордери не виставляються і не скасовуються, у турніри ніхто не вступає, гроші не переказуються.

Чи отримає розробник бота мої ключі від біржі?

Ні. Коли ви підключаєте чужого бота, BuyCrypt відкриває для нього окремий демо-рахунок і видає ключ лише до нього. Ваші реальні рахунки та ключі бірж боту не передаються. Докладніше про захист даних — на сторінці «Безпека».

Почніть із демо-рахунку

Акаунт BuyCrypt безкоштовний: демо-рахунок для бота, ключ API в застосунку, турніри й рейтинг, де видно, чого варта стратегія.