BuyCrypt
Cho nhà phát triển và trợ lý AI

API cho bot giao dịch và MCP cho AI

Bot viết cho Binance USD-M Futures chạy trên tài khoản demo BuyCrypt mà không cần viết lại: chỉ đổi địa chỉ API. Còn Claude, ChatGPT và Cursor qua máy chủ MCP của BuyCrypt sẽ thấy các giải đấu, xếp hạng trader và tài khoản demo của bạn.

1 dòngtrong code của bot: base URL khác
500+hợp đồng vĩnh cửu USDT
9công cụ MCP, tất cả chỉ đọc
api.buycrypt.comphản hồi trực tiếp
GET https://api.buycrypt.com/fapi/v1/ticker/price?symbol=BTCUSDT
{ "symbol": "BTCUSDT", "price": "…" }
# bot của bạn trên Binance USD-M Futures
- base_url="https://fapi.binance.com"
+ base_url="https://api.buycrypt.com"
Hai cách kết nối

Bot giao dịch. Trợ lý trả lời câu hỏi.

API cho bot giao dịch

Định dạng yêu cầu, chữ ký và phản hồi giống Binance USD-M Futures. Bot đặt lệnh trên tài khoản demo BuyCrypt của bạn: giá thị trường, tiền demo.

  • Vẫn các thư viện đó: binance-futures-connector, code riêng của bạn dùng requests
  • REST, WebSocket riêng qua listenKey, nến và giá đánh dấu trong luồng
  • Khóa được tạo trong ứng dụng và chỉ hoạt động với một tài khoản demo
Tài liệu API →

MCP cho trợ lý AI

Một địa chỉ trong cài đặt Claude, ChatGPT hoặc Cursor, và trợ lý tự lấy dữ liệu BuyCrypt khi bạn hỏi.

  • Giải đấu, giải thưởng, bảng người tham gia, người dẫn đầu theo từng coin
  • Hộ chiếu trader: điểm xếp hạng trên 1000, cấp độ, phong cách giao dịch
  • Tài khoản demo của bạn: số dư, vị thế, lệnh (bằng khóa chỉ đọc)
Kết nối trong một phút →
MCP · Model Context Protocol

MCP: kết nối BuyCrypt với Claude, ChatGPT và Cursor

MCP là tiêu chuẩn mở để trợ lý AI kết nối dữ liệu và công cụ bên ngoài. Máy chủ BuyCrypt cung cấp cho trợ lý dữ liệu trực tiếp của nền tảng. Không cần đăng ký hay khóa, khóa chỉ cần cho tài khoản demo của bạn.

https://buycrypt.com/mcp
Streamable HTTPkhông cần đăng nhậpchỉ đọc
  1. Mở claude.ai hoặc ứng dụng Claude Desktop → Customize → Connectors.
  2. Nhấn + Add → Add custom connector.
  3. Tên — BuyCrypt, địa chỉ — https://buycrypt.com/mcp, sau đó Continue.
  4. Trong mục Authentication, chọn No sign in và nhấn Add.

Connector tùy chỉnh có trên mọi gói của Claude, gói miễn phí được một connector. Trong nhóm Team và Enterprise, chủ sở hữu tổ chức thêm connector tại Organization settings → Connectors. Để dùng tài khoản demo của bạn, thêm khóa trong mục Request headers của cùng cửa sổ — cách thực hiện.

  1. Chạy một lệnh trong terminal:
Terminal
claude mcp add --transport http buycrypt https://buycrypt.com/mcp

Kiểm tra: claude mcp list — buycrypt sẽ xuất hiện trong danh sách. Thêm --scope user để máy chủ dùng được trong mọi dự án.

  1. Mở chatgpt.com/plugins trong trình duyệt.
  2. Nhấn + → Add custom MCP server.
  3. Tên — BuyCrypt, trong mục Connection chọn địa chỉ công khai và nhập https://buycrypt.com/mcp.
  4. Authentication — No authentication. Xác nhận cảnh báo I understand and want to continue và nhấn Create.

Máy chủ MCP tùy chỉnh trong ChatGPT chỉ thêm được trên phiên bản web và không có ở mọi gói. Nếu không thấy mục này, gói của bạn hoặc quản trị viên workspace đã tắt nó. Không thể kết nối tài khoản demo của bạn trong ChatGPT: nó không gửi khóa cho máy chủ. Để làm việc này, hãy dùng Claude, Claude Code và Cursor.

Thêm vào Cursor

Nút này mở Cursor với cấu hình có sẵn. Hoặc làm thủ công: thêm vào ~/.cursor/mcp.json (cho mọi dự án) hoặc .cursor/mcp.json ở thư mục gốc của dự án:

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

Bất kỳ ứng dụng nào hỗ trợ Streamable HTTP đều được: nhập địa chỉ https://buycrypt.com/mcp, không cần xác thực. Nếu ứng dụng chỉ chạy được máy chủ cục bộ (stdio), hãy kết nối qua cầu nối mcp-remote, cần Node.js:

claude_desktop_config.json và các tệp tương tự
{
  "mcpServers": {
    "buycrypt": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://buycrypt.com/mcp"]
    }
  }
}

Kiểm tra máy chủ không cần trợ lý: npx @modelcontextprotocol/inspector --cli https://buycrypt.com/mcp --transport http --method tools/list

Máy chủ làm được gì

platform_overview

Giải đấu nào đang diễn ra, giải nào bắt đầu tiếp theo, bao nhiêu trader đang thi đấu, các giải thưởng gần nhất.

không cần khóa
list_tournaments

Giải đấu đang diễn ra, sắp tới và đã kết thúc: coin, cách tính điểm, quỹ giải thưởng, phí tham gia, người tham gia.

không cần khóa
get_tournament

Một giải đấu: giải thưởng theo thứ hạng và bảng người tham gia kèm kết quả.

không cần khóa
leaderboard

Người dẫn đầu theo coin trong 7, 30 hoặc 90 ngày — như trên trang «Top trader».

không cần khóa
trader_profile

Hộ chiếu trader theo nickname: điểm xếp hạng trên 1000, cấp độ, năm thành phần đánh giá, phong cách. Chỉ hồ sơ công khai.

không cần khóa
market_ticker

Giá và biến động trong 24 giờ của hợp đồng vĩnh cửu, ví dụ BTCUSDT.

không cần khóa
demo_account

Số dư, ký quỹ và vị thế đang mở của tài khoản demo của bạn.

khóa của bạn
demo_open_orders

Lệnh đang mở của tài khoản demo của bạn.

khóa của bạn
demo_recent_results

Kết quả gần đây của tài khoản demo: lời và lỗ của các giao dịch đã đóng, phí.

khóa của bạn

Không công cụ nào đặt lệnh, tham gia giải đấu hay chuyển tiền — máy chủ chỉ đọc.

Hỏi trợ lý điều gì

Nhấn vào câu hỏi để sao chép.

Ví dụ trực tiếp

Trợ lý nhìn thấy BuyCrypt thế này

Bên dưới là phản hồi thật của máy chủ https://buycrypt.com/mcp ngay lúc này. Trợ lý nhận đúng dữ liệu này và diễn đạt lại bằng lời của mình.

Cho tôi xem top 5 trader của tháng theo BTC
trợ lý gọi leaderboard{"coin":"BTC","period_days":30,"limit":5}
Đang tải phản hồi của máy chủ…
Theo khóa của bạn

Tài khoản demo của bạn trong trợ lý

Các công cụ demo_account, demo_open_orders và demo_recent_results đọc tài khoản demo của bạn. Để dùng chúng, client gửi khóa API của bạn đến máy chủ qua hai header: X-BuyCrypt-Api-Key và X-BuyCrypt-Api-Secret. Hãy tạo cho trợ lý một khóa chỉ đọc: khóa này xem được số dư, vị thế và lệnh, nhưng BuyCrypt sẽ không đặt lệnh, hủy lệnh hay đổi đòn bẩy bằng khóa này (phản hồi 403). Cách lấy khóa.

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. Khi thêm connector (Customize → Connectors → Add custom connector), sau khi nhập địa chỉ hãy chọn No sign in.
  2. Trong mục Request headers, thêm hai header: X-BuyCrypt-Api-Key và X-BuyCrypt-Api-Secret với giá trị của bạn.
  3. Nhấn Add. Nếu connector đã được thêm mà không có khóa, hãy xóa nó và thêm lại kèm header.

Chỉ đọc

Máy chủ MCP không đặt và không hủy lệnh. Nó cần khóa để đọc số dư, vị thế và lệnh. Khóa chỉ đọc không cho phép giao dịch, kể cả khi rơi vào tay người khác.

Một tài khoản demo

Khóa BuyCrypt chỉ hoạt động với tài khoản demo mà nó được tạo cho. Nó không cấp quyền truy cập vào tài khoản sàn thật.

Khóa riêng

Hãy tạo cho trợ lý một khóa chỉ đọc riêng. Khóa chỉ được gửi đến buycrypt.com, máy chủ không lưu và không ghi khóa vào nhật ký. Bạn có thể thu hồi khóa ngay tại nơi đã tạo.

API cho bot giao dịch

API tương thích Binance USD-M Futures

Đường dẫn, chữ ký HMAC-SHA256, tham số và định dạng phản hồi — giống Binance USD-M Futures. Chỉ khác một điều: lệnh được khớp trên tài khoản demo BuyCrypt của bạn theo giá thị trường, không được gửi đến sàn thật. Nhờ vậy bạn có thể thử chiến lược trên thị trường mà không mạo hiểm tiền.

Cách bắt đầu

  1. Tài khoản. Đăng nhập vào web terminal hoặc ứng dụng BuyCrypt bằng Google hoặc Apple. Tài khoản demo có ngay.
  2. Khóa. Trong web terminal hoặc ứng dụng: Hồ sơ → Khóa API → tài khoản demo của bạn → mục Bot API keys → Generate API key. Sao chép apiKey và apiSecret: khóa bí mật chỉ hiển thị một lần. Với trợ lý AI hoặc công cụ giám sát, web terminal có nút Generate read-only key (for MCP).
  3. Địa chỉ. Trong thư viện của bạn, nhập https://api.buycrypt.com thay cho https://fapi.binance.com. Các đường dẫn /fapi/v1/… giữ nguyên.
  4. Kiểm tra. Yêu cầu số dư — GET /fapi/v2/balance: phản hồi sẽ có USDT của tài khoản demo.

Những điều cần biết

  • Chỉ hợp đồng USDT và chế độ một vị thế (one-way); không hỗ trợ chế độ hedge.
  • Giá ticker — /fapi/v1/ticker/price. Đường dẫn /fapi/v2/ticker/price mà các phiên bản thư viện mới gọi hiện chưa được hỗ trợ.
  • Trong luồng công khai có nến @kline_1m (mỗi 5 giây) và @markPrice (mỗi giây).
  • recvWindow — mặc định 5.000 ms, tối đa 60.000 ms. Đồng bộ đồng hồ qua /fapi/v1/time.
  • Tài khoản có khóa API giao dịch sẽ có biểu tượng 🤖 trên bảng xếp hạng trong ứng dụng: ai cũng thấy tài khoản này do chương trình giao dịch.
  • Quyền của khóa: khóa thường (READ_TRADE) đọc và giao dịch, khóa chỉ đọc (READ) chỉ dùng được cho yêu cầu GET và listenKey. Nếu dùng khóa này để đặt lệnh, hủy lệnh, đổi đòn bẩy hoặc ký quỹ, bạn sẽ nhận HTTP 403 và mã -2015.
pip install binance-futures-connector
import os
from binance.um_futures import UMFutures

client = UMFutures(
    key=os.environ["BUYCRYPT_API_KEY"],        # khóa từ ứng dụng BuyCrypt
    secret=os.environ["BUYCRYPT_API_SECRET"],
    base_url="https://api.buycrypt.com",      # dòng duy nhất cần thay đổi
)

print(client.balance())                             # USDT của tài khoản 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
# dữ liệu công khai — không cần khóa
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"

# số dư tài khoản demo — yêu cầu có chữ ký
KEY="YOUR_API_KEY"; SECRET="YOUR_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"

Phương thức

Địa chỉ gốc REST — https://api.buycrypt.com. Các phương thức có chữ ký cần header X-MBX-APIKEY, timestamp và signature.

Dữ liệu thị trường không cần khóa
GET/fapi/v1/ping · /fapi/v1/timeKiểm tra kết nối và thời gian máy chủ tính bằng ms.
GET/fapi/v1/exchangeInfoHợp đồng, bộ lọc giá và khối lượng, giới hạn.
GET/fapi/v1/ticker/price · /ticker/24hr · /ticker/bookTickerGiá gần nhất, thống kê 24 giờ, giá mua và bán tốt nhất.
GET/fapi/v1/depth · /fapi/v1/klinesSổ lệnh và nến.
GET/fapi/v1/premiumIndex · /fapi/v1/fundingRateGiá đánh dấu, chỉ số và tỷ lệ funding.
Tài khoản và vị thế có chữ ký
GET/fapi/v2/account · /fapi/v3/accountSố dư, ký quỹ và vị thế trong một phản hồi (v1, v2 và v3 như nhau).
GET/fapi/v2/balance · /fapi/v3/balanceSố dư tài khoản demo, chỉ USDT.
GET/fapi/v2/positionRisk · /fapi/v3/positionRiskVị thế đang mở: giá vào, giá đánh dấu, lãi/lỗ chưa thực hiện, giá thanh lý.
GET/fapi/v1/userTrades · /fapi/v1/incomeGiao dịch theo mã và lịch sử kết quả: lời và lỗ, phí.
GET/fapi/v1/commissionRate · /fapi/v1/leverageBracketPhí theo mã và các mức đòn bẩy.
Giao dịch có chữ ký
POST/fapi/v1/orderLệnh mới: MARKET, LIMIT, STOP, STOP_MARKET, TAKE_PROFIT, TAKE_PROFIT_MARKET, TRAILING_STOP_MARKET; reduceOnly, closePosition, timeInForce, newClientOrderId.
GET/fapi/v1/order · /openOrders · /allOrdersMột lệnh, lệnh đang mở, lịch sử.
PUT/fapi/v1/orderSửa lệnh limit.
DELETE/fapi/v1/order · /allOpenOrdersHủy một lệnh hoặc mọi lệnh theo mã.
POST/fapi/v1/batchOrdersNhiều lệnh trong một yêu cầu; DELETE — hủy theo danh sách.
POST/fapi/v1/algoOrderLệnh điều kiện (stop, take profit, trailing); GET /openAlgoOrders, /allAlgoOrders, DELETE /algoOrder, /algoOpenOrders.
POST/fapi/v1/leverage · /fapi/v1/marginTypeĐòn bẩy và loại ký quỹ theo mã.
GET/fapi/v1/positionSide/dualLuôn dualSidePosition: false — chế độ một vị thế.
Luồng WebSocket
POST/fapi/v1/listenKeyKhóa luồng riêng có hạn 60 phút; PUT gia hạn, DELETE đóng.
WSwss://api.buycrypt.com/fapi/ws/<listenKey>Sự kiện tài khoản của bạn: ORDER_TRADE_UPDATE, ACCOUNT_UPDATE, MARGIN_CALL — theo định dạng Binance.
WSwss://api.buycrypt.com/fapi/ws-market/btcusdt@markPriceLuồng công khai của một thị trường: @markPrice và @kline_1m.
WSwss://api.buycrypt.com/stream?streams=btcusdt@markPrice/ethusdt@kline_1mNhiều luồng trong một kết nối, phản hồi được bọc trong {"stream", "data"}.
Giới hạn và lỗi
1 phút2.400 trọng số · 1.200 lượt đọc có chữ kýTrên mỗi API key. Phản hồi có header X-MBX-USED-WEIGHT-1M và X-MBX-ORDER-COUNT-10S.
10 giây300 lệnhKhi vượt giới hạn — HTTP 429 và Retry-After.
ERR-1021 · -1022 · -2014 · -2015Thời gian nằm ngoài recvWindow · chữ ký sai · định dạng khóa sai · khóa đã bị thu hồi hoặc không đúng (HTTP 401), khóa chỉ đọc nhưng yêu cầu là giao dịch (HTTP 403).
ERR-1102 · -2010 · -2011 · -2019Thiếu tham số bắt buộc · lệnh bị từ chối · không tìm thấy lệnh · không đủ ký quỹ.
Người đăng ký cho bot của bạn (beta)

Bot có thể được đăng ký là công khai: người dùng nhấn «Kết nối» trong ứng dụng, BuyCrypt mở cho họ một tài khoản demo riêng với 1.000 USDT demo và cấp khóa chỉ cho tài khoản này. Khóa được gửi đến webhook của bạn qua sự kiện subscription.created, và bot giao dịch trên tài khoản demo của người đăng ký. Khi người dùng ngắt kết nối, vị thế được đóng, khóa ngừng hoạt động và bạn nhận được subscription.disconnected.

Bot không nhận tài khoản thật và khóa sàn của người dùng — chỉ nhận khóa của một tài khoản demo riêng.

Đăng ký — yêu cầu có chữ ký POST /fapi/v1/bot/profiles với các tham số slug, displayName, webhookUrl (chỉ HTTPS) và webhookSecret (từ 32 ký tự); bot ở trạng thái PENDING_REVIEW cho đến khi được duyệt. Mỗi sự kiện đều có chữ ký: header X-BuyCrypt-Signature = HMAC-SHA256(webhookSecret, timestamp + "." + body), thời gian nằm trong X-BuyCrypt-Timestamp. Việc gửi được thử lại tối đa 6 lần (ngay lập tức, sau 10 giây, 30 giây, 2 phút, 10 phút, 1 giờ); sau 10 lần gửi thất bại liên tiếp, webhook bị tắt — bộ phận hỗ trợ sẽ giúp bật lại.

Kiểm tra chữ ký webhook, 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:   # cũ hơn 5 phút — từ chối
        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"])
Khóa và bảo mật

Khóa BuyCrypt chỉ mở tài khoản demo

Gắn với một tài khoản

Khóa API được tạo cho một tài khoản demo cụ thể và chỉ hoạt động với tài khoản đó. API này không truy cập được tài khoản thật trên các sàn. Khóa chỉ đọc cũng không giao dịch được trên tài khoản này.

Secret chỉ hiển thị một lần

Lưu key và secret trong biến môi trường hoặc trình quản lý bí mật, không để trong code hay trong kho mã công khai.

Thu hồi trong một giây

Trong web terminal hoặc ứng dụng, tại cùng mục “Bot API keys”, nhấn “Revoke”: mọi yêu cầu dùng khóa này sẽ lập tức nhận lỗi 401.

Câu hỏi

Câu hỏi thường gặp

Bot có giao dịch bằng tiền thật không?

Không. API BuyCrypt khớp lệnh trên tài khoản demo của bạn: giá thị trường, số dư bằng USDT demo. Lệnh không được gửi đến sàn, nên có thể thử chiến lược mà không có rủi ro.

Có cần viết lại bot cho BuyCrypt không?

Thường là không. Nếu bot làm việc với Binance USD-M Futures, hãy thay địa chỉ gốc bằng https://api.buycrypt.com và dùng khóa BuyCrypt. Đường dẫn, chữ ký và định dạng phản hồi giữ nguyên. Hãy kiểm tra để bot không dùng chế độ hedge và đường dẫn /fapi/v2/ticker/price.

Lấy API key ở đâu?

Trong web terminal hoặc ứng dụng BuyCrypt: Hồ sơ → Khóa API → tài khoản demo của bạn → Bot API keys → Generate API key. Với MCP và trợ lý AI, dùng “Generate read-only key (for MCP)” trong web terminal: khóa này xem được tài khoản nhưng không giao dịch. Khóa bí mật chỉ hiển thị một lần, hãy lưu lại ngay. Bạn cũng có thể thu hồi khóa tại đó.

MCP là gì và để làm gì?

MCP (Model Context Protocol) là tiêu chuẩn mở để trợ lý AI kết nối dữ liệu bên ngoài. Sau khi kết nối máy chủ https://buycrypt.com/mcp, bạn có thể hỏi Claude, ChatGPT hoặc Cursor về giải đấu, người dẫn đầu và hộ chiếu trader, và trợ lý sẽ trả lời theo dữ liệu trực tiếp của BuyCrypt.

Có cần đăng ký để kết nối MCP không?

Không. Giải đấu, bảng xếp hạng, hộ chiếu trader và giá đều xem được mà không cần khóa. Khóa chỉ cần cho ba công cụ đọc tài khoản demo của bạn, và khóa chỉ đọc là đủ.

Trợ lý AI có thể giao dịch qua MCP không?

Không. Cả chín công cụ của máy chủ đều chỉ đọc dữ liệu: không đặt hay hủy lệnh, không tham gia giải đấu, không chuyển tiền.

Nhà phát triển bot có nhận được khóa sàn của tôi không?

Không. Khi bạn kết nối bot của người khác, BuyCrypt mở cho bot một tài khoản demo riêng và chỉ cấp khóa cho tài khoản đó. Tài khoản thật và khóa sàn của bạn không được chuyển cho bot. Chi tiết về bảo vệ dữ liệu có trên trang «Bảo mật».

Bắt đầu với tài khoản demo

Tài khoản BuyCrypt miễn phí: tài khoản demo cho bot, API key trong ứng dụng, giải đấu và bảng xếp hạng cho thấy chiến lược đáng giá đến đâu.