BuyCrypt
Dla deweloperów i asystentów AI

API dla botów tradingowych i MCP dla AI

Bot napisany pod Binance USD-M Futures działa na koncie demo BuyCrypt bez przepisywania: zmienia się tylko adres API. A Claude, ChatGPT i Cursor przez serwer MCP BuyCrypt widzą turnieje, rating traderów i Twoje konto demo.

1 linijkaw kodzie bota: inny base URL
500+kontraktów bezterminowych USDT
9narzędzi MCP, wszystkie tylko do odczytu
api.buycrypt.comodpowiedź na żywo
GET https://api.buycrypt.com/fapi/v1/ticker/price?symbol=BTCUSDT
{ "symbol": "BTCUSDT", "price": "…" }
# Twój bot na Binance USD-M Futures
- base_url="https://fapi.binance.com"
+ base_url="https://api.buycrypt.com"
Dwa sposoby podłączenia

Bot handluje. Asystent odpowiada na pytania.

API dla botów tradingowych

Format zapytań, podpisów i odpowiedzi jak w Binance USD-M Futures. Bot składa zlecenia na Twoim koncie demo BuyCrypt: ceny rynkowe, pieniądze demo.

  • Te same biblioteki: binance-futures-connector, własny kod na requests
  • REST, prywatny WebSocket przez listenKey, świece i cena mark w strumieniu
  • Klucz tworzy się w aplikacji i działa tylko z jednym kontem demo
Dokumentacja API →

MCP dla asystentów AI

Jeden adres w ustawieniach Claude, ChatGPT lub Cursor, a asystent sam pobiera dane BuyCrypt, gdy o nie zapytasz.

  • Turnieje, nagrody, tabela uczestników, liderzy według monet
  • Paszport tradera: rating na 1000, poziom, styl handlu
  • Twoje konto demo: saldo, pozycje, zlecenia (przez klucz tylko do odczytu)
Podłącz w minutę →
MCP · Model Context Protocol

MCP: podłącz BuyCrypt do Claude, ChatGPT i Cursor

MCP to otwarty standard, według którego asystenci AI podłączają zewnętrzne dane i narzędzia. Serwer BuyCrypt przekazuje asystentowi dane platformy na żywo. Rejestracja i klucz nie są potrzebne, klucz przyda się tylko do Twojego konta demo.

https://buycrypt.com/mcp
Streamable HTTPbez logowaniatylko odczyt
  1. Otwórz claude.ai lub aplikację Claude Desktop → Customize → Connectors.
  2. Naciśnij + Add → Add custom connector.
  3. Nazwa — BuyCrypt, adres — https://buycrypt.com/mcp, następnie Continue.
  4. W sekcji Authentication wybierz No sign in i naciśnij Add.

Własne konektory są dostępne we wszystkich planach Claude, w darmowym — jeden. W zespołach Team i Enterprise konektor dodaje właściciel organizacji w Organization settings → Connectors. Aby podłączyć swoje konto demo, dodaj klucz w bloku Request headers w tym samym oknie — jak to zrobić.

  1. Wykonaj w terminalu jedno polecenie:
Terminal
claude mcp add --transport http buycrypt https://buycrypt.com/mcp

Sprawdzenie: claude mcp list — na liście pojawi się buycrypt. Dodaj --scope user, aby serwer był dostępny we wszystkich projektach.

  1. Otwórz chatgpt.com/plugins w przeglądarce.
  2. Naciśnij + → Add custom MCP server.
  3. Nazwa — BuyCrypt, w sekcji Connection wybierz adres publiczny i podaj https://buycrypt.com/mcp.
  4. Authentication — No authentication. Potwierdź ostrzeżenie I understand and want to continue i naciśnij Create.

Własne serwery MCP w ChatGPT dodaje się tylko w wersji webowej i nie są dostępne we wszystkich planach. Jeśli tej opcji nie ma, zablokował ją plan lub administrator przestrzeni roboczej. Podłączenie własnego konta demo w ChatGPT nie jest możliwe: nie przekazuje on serwerowi kluczy. Do tego nadają się Claude, Claude Code i Cursor.

Dodaj do Cursor

Przycisk otworzy Cursor z gotową konfiguracją. Albo ręcznie: dodaj do ~/.cursor/mcp.json (dla wszystkich projektów) lub .cursor/mcp.json w katalogu głównym projektu:

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

Pasuje każdy klient z obsługą Streamable HTTP: podaj adres https://buycrypt.com/mcp, autoryzacja nie jest potrzebna. Jeśli klient potrafi uruchamiać tylko lokalne serwery (stdio), podłącz go przez most mcp-remote, potrzebny jest Node.js:

claude_desktop_config.json i podobne
{
  "mcpServers": {
    "buycrypt": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://buycrypt.com/mcp"]
    }
  }
}

Sprawdź serwer bez asystenta: npx @modelcontextprotocol/inspector --cli https://buycrypt.com/mcp --transport http --method tools/list

Co potrafi serwer

platform_overview

Jakie turnieje trwają teraz, który startuje następny, ilu traderów jest w turniejach, ostatnie nagrody.

bez klucza
list_tournaments

Trwające, najbliższe i zakończone turnieje: moneta, sposób liczenia, pula nagród, wejście, uczestnicy.

bez klucza
get_tournament

Jeden turniej: nagrody według miejsc i tabela uczestników z wynikami.

bez klucza
leaderboard

Liderzy według monety za 7, 30 lub 90 dni — jak na stronie „Najlepsi traderzy”.

bez klucza
trader_profile

Paszport tradera według nicku: rating na 1000, poziom, pięć składników oceny, styl. Tylko profile publiczne.

bez klucza
market_ticker

Cena i zmiana w ciągu 24 godzin dla kontraktu bezterminowego, np. BTCUSDT.

bez klucza
demo_account

Saldo, depozyt zabezpieczający i otwarte pozycje Twojego konta demo.

Twój klucz
demo_open_orders

Otwarte zlecenia Twojego konta demo.

Twój klucz
demo_recent_results

Ostatnie wyniki konta demo: zysk i strata zamkniętych transakcji, prowizje.

Twój klucz

Żadne narzędzie nie składa zleceń, nie dołącza do turniejów i nie przelewa pieniędzy — serwer tylko odczytuje.

O co zapytać asystenta

Kliknij pytanie, aby je skopiować.

Przykład na żywo

Tak asystent widzi BuyCrypt

Poniżej prawdziwa odpowiedź serwera https://buycrypt.com/mcp w tej chwili. Asystent otrzymuje te same dane i opowiada je własnymi słowami.

Pokaż top 5 traderów miesiąca na BTC
asystent wywołuje leaderboard{"coin":"BTC","period_days":30,"limit":5}
Wczytujemy odpowiedź serwera…
Z Twoim kluczem

Twoje konto demo w asystencie

Narzędzia demo_account, demo_open_orders i demo_recent_results odczytują Twoje konto demo. Do ich działania klient przekazuje serwerowi Twój klucz API w dwóch nagłówkach: X-BuyCrypt-Api-Key i X-BuyCrypt-Api-Secret. Dla asystenta utwórz klucz tylko do odczytu: widzi saldo, pozycje i zlecenia, ale BuyCrypt nie wykona za jego pomocą zlecenia, anulowania ani zmiany dźwigni (odpowiedź 403). Jak go uzyskać.

Terminal
claude mcp add --transport http buycrypt https://buycrypt.com/mcp \
  --header "X-BuyCrypt-Api-Key: TWOJ_API_KEY" \
  --header "X-BuyCrypt-Api-Secret: TWOJ_API_SECRET"
mcp.json
{
  "mcpServers": {
    "buycrypt": {
      "url": "https://buycrypt.com/mcp",
      "headers": {
        "X-BuyCrypt-Api-Key": "TWOJ_API_KEY",
        "X-BuyCrypt-Api-Secret": "TWOJ_API_SECRET"
      }
    }
  }
}
  1. Przy dodawaniu konektora (Customize → Connectors → Add custom connector) po adresie wybierz No sign in.
  2. W bloku Request headers dodaj dwa nagłówki: X-BuyCrypt-Api-Key i X-BuyCrypt-Api-Secret ze swoimi wartościami.
  3. Naciśnij Add. Jeśli konektor został już dodany bez klucza, usuń go i dodaj ponownie z nagłówkami.

Tylko odczyt

Serwer MCP nie składa ani nie anuluje zleceń. Klucz jest mu potrzebny do odczytu salda, pozycji i zleceń. Kluczem tylko do odczytu nie da się handlować, nawet jeśli trafi w niepowołane ręce.

Jedno konto demo

Klucz BuyCrypt działa tylko z kontem demo, dla którego został utworzony. Nie daje dostępu do prawdziwych kont giełdowych.

Osobny klucz

Utwórz dla asystenta osobny klucz tylko do odczytu. Klucz trafia wyłącznie do buycrypt.com, a serwer go nie przechowuje i nie zapisuje w logach. Unieważnić go można tam, gdzie został utworzony.

API dla botów tradingowych

API zgodne z Binance USD-M Futures

Ścieżki, podpis HMAC-SHA256, parametry i format odpowiedzi — jak w Binance USD-M Futures. Różnica jest jedna: zlecenia są realizowane na Twoim koncie demo BuyCrypt po cenach rynkowych i nie trafiają na prawdziwą giełdę. Dzięki temu strategię można sprawdzić na rynku, nie ryzykując pieniędzy.

Jak zacząć

  1. Konto. Zaloguj się do terminalu webowego lub aplikacji BuyCrypt przez Google lub Apple. Konto demo pojawi się od razu.
  2. Klucz. W terminalu webowym lub aplikacji: Profil → Klucze API → Twoje konto demo → sekcja Bot API keys → Generate API key. Skopiuj apiKey i apiSecret: sekret jest pokazywany tylko raz. Dla asystenta AI lub monitoringu w terminalu webowym jest przycisk Generate read-only key (for MCP).
  3. Adres. W swojej bibliotece podaj https://api.buycrypt.com zamiast https://fapi.binance.com. Ścieżki /fapi/v1/… pozostają bez zmian.
  4. Sprawdzenie. Zapytaj o saldo — GET /fapi/v2/balance: w odpowiedzi będą USDT Twojego konta demo.

Co warto wiedzieć

  • Tylko kontrakty USDT i tryb jednej pozycji (one-way); tryb hedge nie jest obsługiwany.
  • Cena tickera — /fapi/v1/ticker/price. Ścieżka /fapi/v2/ticker/price, którą wywołują nowe wersje bibliotek, nie jest jeszcze obsługiwana.
  • W publicznym strumieniu przychodzą świece @kline_1m (co 5 s) i @markPrice (co sekundę).
  • recvWindow — domyślnie 5 000 ms, do 60 000 ms. Synchronizuj zegar przez /fapi/v1/time.
  • Konto z handlowym kluczem API dostaje w rankingu aplikacji ikonę 🤖: każdy widzi, że handluje program.
  • Uprawnienia klucza: zwykły klucz (READ_TRADE) odczytuje i handluje, klucz tylko do odczytu (READ) — tylko żądania GET i listenKey. Zlecenie, anulowanie, zmiana dźwigni lub depozytu zabezpieczającego z takim kluczem kończą się odpowiedzią HTTP 403 z kodem -2015.
pip install binance-futures-connector
import os
from binance.um_futures import UMFutures

client = UMFutures(
    key=os.environ["BUYCRYPT_API_KEY"],        # klucz z aplikacji BuyCrypt
    secret=os.environ["BUYCRYPT_API_SECRET"],
    base_url="https://api.buycrypt.com",      # jedyna linijka, która się zmienia
)

print(client.balance())                             # USDT konta demo
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
# dane publiczne — bez klucza
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"

# saldo konta demo — podpisane zapytanie
KEY="TWOJ_API_KEY"; SECRET="TWOJ_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"

Metody

Adres bazowy REST — https://api.buycrypt.com. Metody podpisane wymagają nagłówka X-MBX-APIKEY, timestamp i signature.

Dane rynkowe bez klucza
GET/fapi/v1/ping · /fapi/v1/timeSprawdzenie połączenia i czas serwera w ms.
GET/fapi/v1/exchangeInfoKontrakty, filtry ceny i ilości, limity.
GET/fapi/v1/ticker/price · /ticker/24hr · /ticker/bookTickerOstatnia cena, statystyki 24-godzinne, najlepsze ceny kupna i sprzedaży.
GET/fapi/v1/depth · /fapi/v1/klinesArkusz zleceń i świece.
GET/fapi/v1/premiumIndex · /fapi/v1/fundingRateCena mark, indeks i stopa finansowania.
Konto i pozycje podpisane
GET/fapi/v2/account · /fapi/v3/accountSaldo, depozyt zabezpieczający i pozycje w jednej odpowiedzi (v1, v2 i v3 są takie same).
GET/fapi/v2/balance · /fapi/v3/balanceSaldo konta demo, tylko USDT.
GET/fapi/v2/positionRisk · /fapi/v3/positionRiskOtwarte pozycje: cena wejścia, cena mark, niezrealizowany wynik, cena likwidacji.
GET/fapi/v1/userTrades · /fapi/v1/incomeTransakcje według symbolu i historia wyników: zysk i strata, prowizje.
GET/fapi/v1/commissionRate · /fapi/v1/leverageBracketProwizja według symbolu i poziomy dźwigni.
Handel podpisane
POST/fapi/v1/orderNowe zlecenie: MARKET, LIMIT, STOP, STOP_MARKET, TAKE_PROFIT, TAKE_PROFIT_MARKET, TRAILING_STOP_MARKET; reduceOnly, closePosition, timeInForce, newClientOrderId.
GET/fapi/v1/order · /openOrders · /allOrdersJedno zlecenie, otwarte zlecenia, historia.
PUT/fapi/v1/orderZmiana zlecenia limit.
DELETE/fapi/v1/order · /allOpenOrdersAnulowanie jednego zlecenia lub wszystkich dla symbolu.
POST/fapi/v1/batchOrdersKilka zleceń jednym zapytaniem; DELETE — anulowanie listą.
POST/fapi/v1/algoOrderZlecenia warunkowe (stop, take profit, trailing); GET /openAlgoOrders, /allAlgoOrders, DELETE /algoOrder, /algoOpenOrders.
POST/fapi/v1/leverage · /fapi/v1/marginTypeDźwignia i typ depozytu zabezpieczającego dla symbolu.
GET/fapi/v1/positionSide/dualZawsze dualSidePosition: false — tryb jednej pozycji.
Strumienie WebSocket
POST/fapi/v1/listenKeyKlucz prywatnego strumienia na 60 minut; PUT przedłuża, DELETE zamyka.
WSwss://api.buycrypt.com/fapi/ws/<listenKey>Zdarzenia Twojego konta: ORDER_TRADE_UPDATE, ACCOUNT_UPDATE, MARGIN_CALL — w formacie Binance.
WSwss://api.buycrypt.com/fapi/ws-market/btcusdt@markPricePubliczny strumień jednego rynku: @markPrice i @kline_1m.
WSwss://api.buycrypt.com/stream?streams=btcusdt@markPrice/ethusdt@kline_1mKilka strumieni w jednym połączeniu, odpowiedzi w opakowaniu {"stream", "data"}.
Limity i błędy
1 min2 400 wagi · 1 200 podpisanych odczytówNa jeden klucz API. W odpowiedziach — nagłówki X-MBX-USED-WEIGHT-1M i X-MBX-ORDER-COUNT-10S.
10 s300 zleceńPo przekroczeniu — HTTP 429 i Retry-After.
ERR-1021 · -1022 · -2014 · -2015Czas poza recvWindow · nieprawidłowy podpis · nieprawidłowy format klucza · klucz unieważniony lub nieprawidłowy (HTTP 401), klucz tylko do odczytu przy żądaniu handlowym (HTTP 403).
ERR-1102 · -2010 · -2011 · -2019Brak wymaganego parametru · zlecenie odrzucone · zlecenia nie znaleziono · za mało depozytu zabezpieczającego.
Subskrybenci dla Twojego bota (beta)

Bota można zarejestrować jako publicznego: użytkownik naciska „Podłącz” w aplikacji, BuyCrypt otwiera mu osobne konto demo z 1 000 demo USDT i wydaje klucz tylko do tego konta. Klucz trafia na Twój webhook w zdarzeniu subscription.created, a bot handluje na koncie demo subskrybenta. Gdy użytkownik się odłącza, pozycje są zamykane, klucz przestaje działać, a Ty otrzymujesz subscription.disconnected.

Bot nie otrzymuje prawdziwych kont ani kluczy giełdowych użytkowników — tylko klucz do osobnego konta demo.

Rejestracja — podpisane POST /fapi/v1/bot/profiles z parametrami slug, displayName, webhookUrl (tylko HTTPS) i webhookSecret (od 32 znaków); bot otrzymuje status PENDING_REVIEW do czasu weryfikacji. Każde zdarzenie jest podpisane: nagłówek X-BuyCrypt-Signature = HMAC-SHA256(webhookSecret, timestamp + "." + treść), czas — w X-BuyCrypt-Timestamp. Dostarczenie jest ponawiane do 6 razy (od razu, po 10 s, 30 s, 2 min, 10 min, 1 godz.); po 10 nieudanych dostarczeniach z rzędu webhook jest wyłączany — ponownie włączy go wsparcie.

Weryfikacja podpisu webhooka, 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:   # starsze niż 5 minut — odrzuć
        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"])
Klucze i bezpieczeństwo

Klucz BuyCrypt otwiera tylko konto demo

Przypisany do jednego konta

Klucz API tworzy się dla konkretnego konta demo i działa tylko z nim. Prawdziwe konta na giełdach nie są dostępne przez to API. Klucz tylko do odczytu nie handluje także na tym koncie.

Sekret jest pokazywany raz

Przechowuj klucz i sekret w zmiennych środowiskowych lub menedżerze sekretów, a nie w kodzie ani w publicznych repozytoriach.

Odwołanie w sekundę

W terminalu webowym lub aplikacji, w tej samej sekcji „Bot API keys”, naciśnij „Revoke”: wszystkie żądania z tym kluczem od razu dostaną błąd 401.

Pytania

Częste pytania

Czy bot handluje prawdziwymi pieniędzmi?

Nie. API BuyCrypt realizuje zlecenia na Twoim koncie demo: ceny rynkowe, saldo w demo USDT. Zlecenia nie są wysyłane na giełdę, więc strategię można sprawdzić bez ryzyka.

Czy trzeba przepisywać bota pod BuyCrypt?

Zwykle nie. Jeśli bot działa z Binance USD-M Futures, zmień adres bazowy na https://api.buycrypt.com i podstaw klucz BuyCrypt. Ścieżki, podpis i format odpowiedzi są te same. Sprawdź, czy bot nie używa trybu hedge i ścieżki /fapi/v2/ticker/price.

Skąd wziąć klucz API?

W terminalu webowym lub aplikacji BuyCrypt: Profil → Klucze API → Twoje konto demo → Bot API keys → Generate API key. Dla MCP i asystentów AI — „Generate read-only key (for MCP)” w terminalu webowym: taki klucz widzi konto, ale nie handluje. Sekret jest pokazywany tylko raz — zapisz go od razu. Tam też można unieważnić klucz.

Czym jest MCP i do czego służy?

MCP (Model Context Protocol) to otwarty standard, według którego asystenci AI podłączają zewnętrzne dane. Po podłączeniu serwera https://buycrypt.com/mcp możesz zapytać Claude, ChatGPT lub Cursor o turnieje, liderów i paszport tradera, a asystent odpowie na podstawie danych BuyCrypt na żywo.

Czy do podłączenia MCP potrzebna jest rejestracja?

Nie. Turnieje, rating, paszporty traderów i ceny są dostępne bez klucza. Klucz jest potrzebny tylko do trzech narzędzi, które odczytują Twoje konto demo, i wystarczy klucz tylko do odczytu.

Czy asystent AI może handlować przez MCP?

Nie. Wszystkie dziewięć narzędzi serwera tylko odczytuje dane: zlecenia nie są składane ani anulowane, nikt nie dołącza do turniejów, pieniądze nie są przelewane.

Czy twórca bota dostanie moje klucze giełdowe?

Nie. Gdy podłączasz cudzego bota, BuyCrypt otwiera dla niego osobne konto demo i wydaje klucz tylko do niego. Twoje prawdziwe konta i klucze giełdowe nie są przekazywane botowi. Więcej o ochronie danych — na stronie „Bezpieczeństwo”.

Zacznij od konta demo

Konto BuyCrypt jest darmowe: konto demo dla bota, klucz API w aplikacji, turnieje i ranking, w którym widać, ile jest warta strategia.