API Crypto

39 endpoint · Chung · Công cụ · Alpha · Dữ liệu thô

Cập nhật lần cuối 2026-10
URL gốc
https://api.blave.org
Xác thực
Gửi header api-key + secret-key trong mọi request
Quyền truy cập
API plan or Blave Agent plan
Giới hạn tần suất
500 request / 5 phút cho mỗi key và mỗi IP

Quy ước

Dùng chung cho mọi endpoint crypto get_alpha / get_exposure:

  • period — khung thời gian nến, {n}min / {n}h / {n}d ({n}m được đọc là phút). Các giá trị được ghi trong tài liệu là 5min, 15min, 1h, 4h, 8h, 1d; chỉ báo nào có mức tối thiểu thô hơn sẽ ghi rõ trong mục của nó. period bị thiếu hoặc không phân tích được sẽ trả về 403 {"error": "period is required"} (400 với unusual_movement và liquidation).
  • start_date / end_date — YYYY-MM-DD (UTC). end_date mặc định là hôm nay; start_date mặc định là end_date − 365 ngày. Khoảng dài hơn 365 ngày sẽ âm thầm bị cắt (start_date được dời về end_date − 365 ngày). Ngày sai định dạng không được kiểm tra và kết thúc bằng 500 — hãy luôn gửi YYYY-MM-DD.
  • symbol — hợp đồng vĩnh cửu Binance USDT-M, ví dụ BTCUSDT; BTC, btc, BTC/USDT, BTC-USDT cũng được chấp nhận (token trần sẽ được nối thêm USDT). Các endpoint get_symbols liệt kê những symbol được hỗ trợ.
  • Chỉ các nến đã đóng được trả về — nến cuối cùng đang hình thành bị loại bỏ.
  • Phản hồi là {"data": {"timestamp": [...], "alpha": [...], ...}} — các mảng song song, mỗi nến một phần tử. timestamp là giây Unix (UTC), nhãn của nến.
  • Với lịch sử dài hơn 365 ngày, hãy gửi mỗi năm một request rồi nối lại.

Object stat — được trả về bởi các chỉ báo có liệt kê nó trong mục của mình. Đây là một mô hình logistic khớp trên dữ liệu một năm qua của chỉ báo này đối với symbol, so với biến động giá 24h kế tiếp:

TrườngKiểuMô tả
up_probfloatXác suất giá tăng trong 24h dựa trên giá trị chỉ báo mới nhất (0–1)
avg_up_returnfloatLợi suất 24h trung bình của các lần tăng trong quá khứ (số thập phân, 0.02 = +2%)
avg_down_returnfloatLợi suất 24h trung bình của các lần giảm trong quá khứ (số thập phân, giá trị âm)
return_ratiofloat-avg_up_return / avg_down_return
exp_valuefloatup_prob × avg_up_return + (1 − up_prob) × avg_down_return
is_data_sufficientboolfalse khi symbol có chưa đến một năm lịch sử — khi đó đừng dựa vào các trường còn lại

Khi không có dữ liệu, object quay về up_prob 0.5 và các giá trị không.

Giá hiện tại

GET/price
Dữ liệu từ
Chỉ có snapshot (không có lịch sử)
Tần suất cập nhật
Cache máy chủ 5 giây

Tham số

TênMô tảGiá trị hợp lệMặc định
symbol
string · queryBắt buộc
Token hoặc cặp USDTBTCUSDT hoặc BTC (không phân biệt hoa thường)

Ví dụ

Python
response = requests.get(f"{BASE_URL}/price", headers=headers, params={"symbol": "BTCUSDT"}, timeout=30)print(response.json())# {"symbol": "BTC", "price": 75838.2, "change_24h": -0.01739}

Phản hồi

Một object phẳng.

TrườngKiểuĐơn vịMô tả
symbolstring—Token không kèm USDT (ví dụ BTC, kể cả khi gửi BTCUSDT)
pricefloatUSDTGiá mới nhất
change_24hfloatsố thập phânThay đổi 24h dưới dạng tỷ lệ (0.025 = +2.5%)

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "symbol is required"}Thiếu symbol
404{"error": "symbol <SYMBOL> not found"}Không có giá cho token đó

Ghi chú

  • Nguồn giá, theo thứ tự dự phòng: hợp đồng vĩnh cửu Binance USDT-M → Binance giao ngay → hợp đồng vĩnh cửu BingX.
  • change_24h thường lấy từ cùng sàn với price, nhưng hai giá trị được cache riêng (mỗi giá trị 5 giây), nên có thể lệch nhau trong chốc lát.

Bảng Alpha

GET/alpha_table
Dữ liệu từ
Chỉ có snapshot (giá trị mới nhất của từng symbol)
Tần suất cập nhật
Mỗi 5 phút

Tham số

Không có.

Ví dụ

Python
response = requests.get(f"{BASE_URL}/alpha_table", headers=headers, timeout=60)body = response.json()row = body["data"]["0G"]   # one token out of the 716 keys this response carried# {"holder_concentration": {"-": 0.9267}, "holder_concentration_chg": {"15min": -0.0118, "1h": 0.0075, "24h": 0.4723, "3d": -0.1852, "30d": "", ...},#  "funding_rate": {"binance": 0.005, "bybit": 0.005, "okx": 0.005, "pionex": "", ...},#  "liquidation": {"15min": 0.0, "1h": -0.2665, "24h": -0.5637, "1min": "", ...},#  "market_cap": {"-": 42204386.29}, "market_cap_percentile": {"-": 56.55},#  "price": {"-": 0.1832}, "price_change": {"15min": -0.00215, "24h": -0.05792, ...},#  "statistics": {"up_prob": 0.4277, "exp_value": -0.00478, "is_data_sufficient": false, ...}, ...}# (shape captured from a live response; `""` marks insufficient data)

Phản hồi

{"data": {<TOKEN>: {...}}, "fields": [...], "note": {...}}.

data có key là token (BTC, 1INCH, …). Mỗi token ánh xạ tên chỉ báo → {param: value} ("-" khi chỉ báo không có tham số). "" = không đủ dữ liệu. Ngoài các chỉ báo còn có:

KeyMô tả
statisticsup_prob (xác suất giá tăng trong 24h), exp_value (lợi suất kỳ vọng), avg_up_return, avg_down_return, return_ratio, is_data_sufficient
price{"-": 70000} — giá hiện tại
price_change{"15min": ..., "1h": ..., "24h": ...} — % thay đổi
market_cap{"-": 1234567890} — vốn hóa thị trường tính bằng USD
market_cap_percentile{"-": 85.3} — phân vị trong số tất cả coin được niêm yết
funding_rate{"binance": -0.01, ...} — theo từng sàn
oi_imbalance{"-": 0.12} — mất cân bằng OI (chi tiết đầy đủ: /oi_imbalance/get_overview_data)

fields — mỗi chỉ báo một mục: id, name (key dùng trong data), param (tên tham số hoặc null), name_en, name_zh.

note — key là id chỉ báo: một danh sách các dải giá trị {min, max, note: {en, zh}, direction: {en, zh}, color, background_color} dùng để gắn nhãn cho một giá trị (ví dụ max: -3 → "Overly Bearish").

Lỗi

Chỉ có các lỗi dùng chung.

Ghi chú

  • Hãy dùng endpoint này trước tiên cho mọi bộ lọc hoặc bảng xếp hạng nhiều coin — một request bao phủ mọi symbol.
  • Luôn kiểm tra statistics.is_data_sufficient trước khi dùng statistics.
  • Luôn lấy dữ liệu mới; đừng dùng lại phản hồi trước đó.

Kline (OHLCV)

GET/kline
Dữ liệu từ
2020-01-01, hoặc ngày niêm yết của hợp đồng nếu muộn hơn
Tần suất cập nhật
Trong khoảng một phút sau mỗi lần đóng nến

Phạm vi. Mọi hợp đồng vĩnh cửu Binance USDⓈ-M có symbol kết thúc bằng USDT — 740 hợp đồng tính đến tháng 10 năm 2026, gồm cả cổ phiếu token hóa, hàng hóa và các hợp đồng vĩnh cửu USDT khác thuộc TradFi. Cả 740 hợp đồng đều có toàn bộ lịch sử 1 phút được lưu phía máy chủ, từ 2020-01-01 hoặc từ ngày niêm yết. Hợp đồng vĩnh cửu mới niêm yết có thể truy vấn được sau khoảng 5–10 phút kể từ khi niêm yết.

Không hỗ trợ: các hợp đồng định giá bằng USDC, USD1, U hoặc BTC (ví dụ BTCUSDC, ETHBTC) và hợp đồng giao hàng theo quý — những hợp đồng này trả về lỗi 400 unknown symbol or no data bên dưới. Hợp đồng đã hủy niêm yết không được bảo đảm: có thể trả về phần lịch sử còn được lưu hoặc chính 400 đó (những hợp đồng hủy niêm yết trước tháng 10 năm 2026 không có lịch sử 1min–4min).

Tham số

TênMô tảGiá trị hợp lệMặc định
symbol
string · queryBắt buộc
Hợp đồng vĩnh cửu USDT Binance USDⓈ-M. Token trần sẽ được nối thêm USDT; token trần chỉ tồn tại dưới dạng có tiền tố hệ số nhân sẽ được quy về dạng đó (PEPE → 1000PEPEUSDT)BTCUSDT; cũng chấp nhận BTC, btc, BTC/USDT, BTC-USDT
period
string · queryBắt buộc
Khung thời gian nến. Chấp nhận mọi khung tính bằng số phút nguyên, không chỉ các ví dụ được liệt kê{n}min / {n}h / {n}d, tối thiểu 1min (ví dụ 1min, 3min, 15min, 2h, 1d, 7d). {n}m được đọc là phút (15m = 15min)
start_date
string · query
Ngày đầu tiên, bao gồm cả ngày đóYYYY-MM-DD (UTC)end_date − 365 ngày (period ≥ 5min); end_date − 30 ngày (period < 5min)
end_date
string · query
Ngày cuối cùng, bao gồm cả ngày đó (các nến đến hết ngày UTC đó)YYYY-MM-DD (UTC)hiện tại

Cửa sổ mỗi request: period ≥ 5min → tối đa 365 ngày; khoảng dài hơn sẽ âm thầm bị cắt (start_date được dời về end_date − 365 ngày, không báo lỗi). Period < 5min → tối đa 30 ngày; khoảng dài hơn trả về 400.

Ví dụ

Python
params = {"symbol": "BTCUSDT", "period": "1h", "start_date": "2026-10-01", "end_date": "2026-10-02"}response = requests.get(f"{BASE_URL}/kline", headers=headers, params=params, timeout=60)data = response.json()# [{"time": 1790812800.0, "open": 83576.8, "high": 83612.6, "low": 83370.0, "close": 83460.0, "volume": 3123.991}, ...]

Phản hồi

Một mảng JSON trần (không bọc trong {"data": ...}), tăng dần theo thời gian.

TrườngKiểuĐơn vịMô tả
timefloatGiây Unix (UTC)Thời điểm mở nến
open / high / low / closefloatđồng định giá (USDT)Giá
volumefloat | nulltài sản cơ sởKhối lượng giao dịch; null khi nguồn không có khối lượng cho nến đó

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
403{"error": "symbol is required"}Thiếu symbol
403{"error": "period is required"}Thiếu period hoặc không phân tích được
400{"error": "minimum supported period is 1min"}period dưới một phút
400{"error": "periods below 5min must be a whole number of minutes"}e.g. 90s
400{"error": "date range exceeds max 30 days for periods below 5min"}Period < 5min và khoảng > 30 ngày
400{"error": "invalid date format, expected YYYY-MM-DD"}start_date / end_date sai định dạng
400{"error": "unknown symbol or no data: <symbol>"}Symbol không được hỗ trợ (xem Không hỗ trợ) hoặc không phải hợp đồng có thật, ví dụ BTCUSDC, ETHBTC, lỗi gõ nhầm. <symbol> trả lại giá trị bạn đã gửi. Không phải lỗi tạm thời — đừng thử lại

Ghi chú

  • Cửa sổ nằm hoàn toàn trước ngày niêm yết của một hợp đồng được hỗ trợ trả về 200 kèm [], không phải lỗi.
  • Ở 1min, mọi nến được trả về đều đã đóng. Khung dài hơn có thể kết thúc bằng một nến chưa hoàn chỉnh khi end_date là hôm nay — nến đó được dựng từ các nến đã đóng tính đến lúc đó (lúc 07:09 UTC, nến 1h 07:00 chứa 07:00–07:05); hãy bỏ nó nếu bạn chỉ cần nến đã đóng.
  • Với lịch sử dài hơn một cửa sổ, hãy gửi mỗi cửa sổ một request rồi nối lại (ví dụ 3 năm 5min = 3 request; 1 năm 1min = 13 request, mỗi request ≤30 ngày).
  • Cả 740 hợp đồng vĩnh cửu USDT đều có toàn bộ lịch sử 1 phút trên đĩa, nên request sâu được trả lời từ dữ liệu đã lưu — không có lần lấy đầu tiên chậm.
  • Ngày bắt đầu áp dụng cho mọi khung thời gian, kể cả 1min.
  • Nến 1 phút đã đóng mới nhất thường có trong vòng một phút kế tiếp; trong một số ít trường hợp suy giảm, các nến mới nhất có thể trễ khoảng 5–10 phút.
  • Cache máy chủ: 30 giây (1min), 300 giây (1h / 4h / 1d), 60 giây (mọi khung khác); chỉ 5 giây khi nến đã đóng mới nhất chưa về.

Hướng thị trường

GET/market_direction/get_alpha
Dữ liệu từ
2024-12-27
Tần suất cập nhật
Mỗi 5 phút

Tham số

Không có symbol: alpha là một chuỗi duy nhất cho toàn thị trường, không phải theo từng coin. BTCUSDT chỉ được dùng nội bộ để căn nến; nó không được trả về và không làm thay đổi alpha. Xem Quy ước chỉ báo crypto.

TênMô tảGiá trị hợp lệMặc định
period
string · queryBắt buộc
Khung thời gian nến1h, 4h, 8h, 1d (tối thiểu 1h)
start_date
string · query
Ngày bắt đầuYYYY-MM-DDend_date − 365 ngày
end_date
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
params = {"period": "1h", "start_date": "2026-09-13", "end_date": "2026-09-15"}response = requests.get(f"{BASE_URL}/market_direction/get_alpha", headers=headers, params=params, timeout=60)# {"data": {"alpha": [-0.5195979478976323, -0.5223392571665055, -0.5612490182062327, ...],#           "timestamp": [1789257600.0, 1789261200.0, 1789264800.0, ...]}}   # 72 bars

Phản hồi

{"data": {"timestamp": [...], "alpha": [...]}}. Không có stat.

TrườngKiểuMô tả
timestampfloat[]Giây Unix (UTC)
alphafloat[]Giá trị hướng thị trường

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
403{"error": "period is required"}Thiếu period hoặc không phân tích được

Ghi chú

  • Một chuỗi toàn thị trường, không có chiều symbol; 2024-12-27 là nến 1d sớm nhất được trả về.

Điều kiện đã lưu của bộ lọc

GET/screener/get_saved_conditions
Dữ liệu từ
—
Tần suất cập nhật
Thời gian thực

Tham số

Không có.

Ví dụ

Python
response = requests.get(f"{BASE_URL}/screener/get_saved_conditions", headers=headers, timeout=30)conditions = response.json()["data"]

Phản hồi

{"data": {<condition_id>: {...}}}, key là id điều kiện (key chuỗi JSON, ví dụ "12"; hãy gửi lại dưới dạng số nguyên condition_id). Chỉ gồm các điều kiện của chính tài khoản này.

TrườngKiểuMô tả
filtersobject[]Các bộ lọc của điều kiện, kết hợp bằng AND: indicator_id (int), indicator_name ({"en", "zh"}), param (string; "-" = mặc định của chỉ báo), operator_id (int), operator_symbol (string, ví dụ >), value (ngưỡng)
notestringTên bạn đã đặt cho điều kiện khi lưu
name_en / name_zhstring | nullChỉ có ở điều kiện chính thức / cộng đồng; với điều kiện của riêng bạn, giá trị sẽ rỗng hoặc null, hãy đọc note thay thế
description_en / description_zhstring | nullChỉ có ở điều kiện chính thức / cộng đồng; có thể rỗng hoặc null

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
403{"error": "unsupported api feature"}Key không gắn với tài khoản người dùng

Ghi chú

  • Mỗi request đọc trực tiếp các điều kiện đã lưu của tài khoản.

Kết quả điều kiện của bộ lọc

GET/screener/get_saved_condition_result
Dữ liệu từ
Snapshot (các giá trị alpha hiện tại)
Tần suất cập nhật
Mỗi 5 phút

Tham số

TênMô tảGiá trị hợp lệMặc định
condition_id
int · queryBắt buộc
Điều kiện cần chạyMột id lấy từ get_saved_conditions

Ví dụ

Python
response = requests.get(f"{BASE_URL}/screener/get_saved_condition_result", headers=headers,                        params={"condition_id": 12}, timeout=60)

Phản hồi

{"data": {"alpha_names": [...], "symbols": [...]}}.

TrườngKiểuMô tả
alpha_namesobject[]Mỗi chỉ báo lọc khác nhau một mục, theo thứ tự bộ lọc: en / zh (tên hiển thị, kèm tham số trong ngoặc đơn nếu có), name (key chỉ báo), type, url; thêm value_format, value_decimals, polarity khi chỉ báo có định nghĩa
symbolsobject[]Các token thỏa mãn mọi bộ lọc
symbols[].symbolstringToken không kèm USDT (ví dụ BTC)
symbols[].idintId token (0 khi không xác định)
symbols[].user_selectedboolToken nằm trong danh sách theo dõi của tài khoản
symbols[].pricefloatGiá mới nhất tính bằng USDT (cùng feed với /price; 0 khi không có)
symbols[].24h_chgfloatThay đổi 24h dưới dạng tỷ lệ (0.025 = +2.5%)
symbols[].alphasfloat[]Giá trị của token cho từng chỉ báo lọc, song song với alpha_names
symbols[].alpha_notesobject[]Theo từng chỉ báo: indicator_id, color, direction, note (thêm background_color khi có quy tắc khớp; color là null và các chuỗi rỗng khi không có quy tắc nào khớp)

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "Missing parameter: condition_id is required."}Thiếu
400{"error": "Invalid parameter: condition_id must be an integer."}Không phải số nguyên
404{"error": "Invalid condition_id: <id> not found for user."}Không thuộc các điều kiện của tài khoản này
403{"error": "unsupported api feature"}Key không gắn với tài khoản người dùng

Danh sách symbol của Tập trung nắm giữ

GET/holder_concentration/get_symbols
Dữ liệu từ
—
Tần suất cập nhật
Cache máy chủ 10 phút

Tham số

Không có.

Ví dụ

Python
symbols = requests.get(f"{BASE_URL}/holder_concentration/get_symbols", headers=headers, timeout=30).json()["data"]

Phản hồi

{"data": ["BNBUSDT", "BTCUSDT", ...]}, đã sắp xếp.

Lỗi

Chỉ có các lỗi dùng chung.

Ghi chú

  • Hiện tại mọi endpoint crypto */get_symbols đều trả về cùng một danh sách symbol Binance USDT-M.
  • Danh sách được lấy từ snapshot hợp đồng mở Binance USDT-M mới nhất.

Tập trung nắm giữ

GET/holder_concentration/get_alpha
Dữ liệu từ
2021-05-11 (BTCUSDT)
Tần suất cập nhật
Mỗi 5 phút

Tham số

Xem Quy ước chỉ báo crypto.

TênMô tảGiá trị hợp lệMặc định
symbol
string · queryBắt buộc
Mãe.g. BTCUSDT
period
string · queryBắt buộc
Khung thời gian nến5min, 15min, 1h, 4h, 8h, 1d
start_date
string · query
Ngày bắt đầuYYYY-MM-DDend_date − 365 ngày
end_date
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
params = {"symbol": "BTCUSDT", "period": "1h", "start_date": "2026-09-13", "end_date": "2026-09-15"}response = requests.get(f"{BASE_URL}/holder_concentration/get_alpha", headers=headers, params=params, timeout=60)# {"data": {"alpha": [-1.1931909718306861, -1.2035898186867282, -1.2037004015202886, ...],#           "timestamp": [1789257600.0, 1789261200.0, 1789264800.0, ...],#           "stat": {"up_prob": 0.509739818557561, "exp_value": -0.00051954905018229,#                    "avg_up_return": 0.015512131150026753, "avg_down_return": -0.017188220228787618,#                    "return_ratio": 0.9024861762037658, "is_data_sufficient": true}}}   # 72 bars

Phản hồi

{"data": {"timestamp": [...], "alpha": [...], "stat": {...}}}.

TrườngKiểuMô tả
timestampfloat[]Giây Unix (UTC)
alphafloat[]Z-score của log tỷ lệ tài khoản long/short so với trung bình 30 ngày của nó, đảo dấu — càng cao = càng tập trung
statobjectXem Object stat

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
403{"error": "symbol is required"} / {"error": "period is required"}Thiếu tham số

Ghi chú

  • Chỉ bao phủ Binance — dựng trên tỷ lệ tài khoản long/short toàn cầu của Binance.
  • 2021-05-11 là nến 1d đầu tiên của BTCUSDT; các symbol khác có thể bắt đầu muộn hơn.

Funding Rate

GET/funding_rate/get_alpha
Dữ liệu từ
2025-09-30 (BTCUSDT)
Tần suất cập nhật
Mỗi 5 phút

Tham số

Xem Quy ước chỉ báo crypto.

TênMô tảGiá trị hợp lệMặc định
symbol
string · queryBắt buộc
Symbol (dạng Binance, bất kể sàn nào)e.g. BTCUSDT
period
string · queryBắt buộc
Khung thời gian nến5min, 15min, 1h, 4h, 8h, 1d
exchange
string · query
Đọc funding rate hợp đồng vĩnh cửu của sàn nào; mọi giá trị khác trả về 400binance, okx, bingx, bybitbinance
start_date
string · query
Ngày bắt đầuYYYY-MM-DDend_date − 365 ngày
end_date
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
params = {"symbol": "BTCUSDT", "period": "1h", "start_date": "2026-09-13", "end_date": "2026-09-15"}response = requests.get(f"{BASE_URL}/funding_rate/get_alpha", headers=headers, params=params, timeout=60)# {"data": {"timestamp": [1789257600.0, 1789261200.0, 1789264800.0, ...],#           "alpha": [0.005064, 0.006165, 0.007765, ...],#           "close": [77239.5, 77285.5, 77263.9, ...],#           "stat": {"up_prob": 0.5009438427095587, "exp_value": -0.0008769555139270298,#                    "is_data_sufficient": false, ...}}}   # 72 bars

Phản hồi

{"data": {"timestamp": [...], "alpha": [...], "close": [...], "stat": {...}}}.

TrườngKiểuĐơn vịMô tả
timestampfloat[]Giây Unix (UTC)Nhãn nến
alphafloat[]phần trămFunding rate × 100 (0.01 = 0.01%); dương = long trả short
closefloat[]USDTGiá đóng cửa hợp đồng vĩnh cửu
statobject—Xem Object stat

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
403{"error": "symbol is required"} / {"error": "period is required"}Thiếu tham số
400{"error": "exchange must be one of binance, okx, bingx, bybit"}exchange nằm ngoài danh sách

Ghi chú

  • 2025-09-30 là nến 1d đầu tiên của BTCUSDT; các symbol khác có thể bắt đầu muộn hơn, và exchange=bybit bắt đầu muộn hơn — hãy đọc timestamp đầu tiên.

Danh sách symbol của Tâm lý thị trường

GET/market_sentiment/get_symbols
Dữ liệu từ
—
Tần suất cập nhật
Cache máy chủ 10 phút

Tham số

Không có.

Ví dụ

Python
symbols = requests.get(f"{BASE_URL}/market_sentiment/get_symbols", headers=headers, timeout=30).json()["data"]

Phản hồi

{"data": ["BNBUSDT", "BTCUSDT", ...]}, đã sắp xếp.

Lỗi

Chỉ có các lỗi dùng chung.

Ghi chú

  • Danh sách được lấy từ snapshot hợp đồng mở Binance USDT-M mới nhất.

Tâm lý thị trường

GET/market_sentiment/get_alpha
Dữ liệu từ
2020-01-01 (BTCUSDT)
Tần suất cập nhật
Mỗi 5 phút

Tham số

Xem Quy ước chỉ báo crypto.

TênMô tảGiá trị hợp lệMặc định
symbol
string · queryBắt buộc
Mãe.g. BTCUSDT
period
string · queryBắt buộc
Khung thời gian nến5min, 15min, 1h, 4h, 8h, 1d
start_date
string · query
Ngày bắt đầuYYYY-MM-DDend_date − 365 ngày
end_date
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
params = {"symbol": "BTCUSDT", "period": "1h", "start_date": "2025-01-01", "end_date": "2025-03-01"}response = requests.get(f"{BASE_URL}/market_sentiment/get_alpha", headers=headers, params=params, timeout=60)

Phản hồi

{"data": {"timestamp": [...], "alpha": [...], "stat": {...}}}.

TrườngKiểuMô tả
timestampfloat[]Giây Unix (UTC)
alphafloat[]Giá trị tâm lý thị trường
statobjectXem Object stat

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
403{"error": "symbol is required"} / {"error": "period is required"}Thiếu tham số

Ghi chú

  • 2020-01-01 là nến 1d đầu tiên của BTCUSDT; các symbol khác có thể bắt đầu muộn hơn.

Thiếu hụt vốn

GET/capital_shortage/get_alpha
Dữ liệu từ
2023-12-09
Tần suất cập nhật
Mỗi 5 phút

Tham số

Không có symbol; toàn thị trường. Xem Quy ước chỉ báo crypto.

TênMô tảGiá trị hợp lệMặc định
period
string · queryBắt buộc
Khung thời gian nến — 5min và 15min đều trả về dữ liệu5min, 15min, 1h, 4h, 8h, 1d
start_date
string · query
Ngày bắt đầuYYYY-MM-DDend_date − 365 ngày
end_date
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
params = {"period": "1h", "start_date": "2025-01-01", "end_date": "2025-03-01"}response = requests.get(f"{BASE_URL}/capital_shortage/get_alpha", headers=headers, params=params, timeout=60)

Phản hồi

{"data": {"timestamp": [...], "alpha": [...], "stat": {...}}}.

TrườngKiểuMô tả
timestampfloat[]Giây Unix (UTC)
alphafloat[]Giá trị thiếu hụt vốn
statobjectXem Object stat (tính so với BTC)

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
403{"error": "period is required"}Thiếu tham số

Ghi chú

  • Chỉ bao phủ Binance — toàn thị trường, từ APR cho vay USDT của Binance.
  • Một chuỗi toàn thị trường, không có chiều symbol; 2023-12-09 là nến 1d đầu tiên.

Lịch sử Luân chuyển ngành

GET/sector_rotation/get_history_data
Dữ liệu từ
365 ngày gần nhất (theo ngày)
Tần suất cập nhật
Khoảng mỗi giờ

Tham số

Không có.

Ví dụ

Python
response = requests.get(f"{BASE_URL}/sector_rotation/get_history_data", headers=headers, timeout=60)# {"data": {"alpha": {"AI": {"data": [0.0, 0.04377017039444864, 0.04922749428543449, ...],#                           "name_en": "AI", "name_zh": "人工智能"},#                     "BNB Eco": {"data": [0.0, 0.008847752133756215, ...],#                                 "name_en": "BNB Eco", "name_zh": "BNB 生態"}, ...},#           "timestamp": [1757980800.0, 1758067200.0, 1758153600.0, ...]}}   # 51 sectors, 366 points

Phản hồi

{"data": {"alpha": {<sector>: {"data": [...], "name_en": ..., "name_zh": ...}}, "timestamp": [...]}}. timestamp nằm cạnh alpha ở cấp cao nhất của data, không nằm trong từng ngành; đó là trục thời gian chung cho mọi chuỗi ngành.

TrườngKiểuMô tả
timestampfloat[]Giây Unix (UTC), mỗi điểm một giá trị — 366 điểm theo ngày trong phản hồi quan sát được
alpha.<sector>.datafloat[]Chuỗi của ngành, cùng độ dài và thứ tự với timestamp (366); phần tử đầu tiên là 0.0
alpha.<sector>.name_en / name_zhstringTên hiển thị của ngành

Lỗi

Chỉ có các lỗi dùng chung.

Ghi chú

  • Chuỗi là một cửa sổ theo ngày của một năm gần nhất (366 điểm theo ngày), và mọi ngành đều bắt đầu ở 0.0. Không có tham số nào, và mỗi lần dựng lại chỉ tính lại 365 ngày gần nhất, nên không tồn tại lịch sử dài hơn.
  • Được dựng lại bởi một job theo lịch, các lần dựng lại cách nhau 50–60 phút; phục vụ từ đầu ra của job, không có thêm cache máy chủ.

Tổng quan Luân chuyển ngành

GET/sector_rotation/get_overview_data
Dữ liệu từ
Snapshot
Tần suất cập nhật
Khoảng mỗi giờ

Tham số

Không có.

Ví dụ

Python
data = requests.get(f"{BASE_URL}/sector_rotation/get_overview_data", headers=headers, timeout=60).json()["data"]# {"AI": {"name_en": "AI", "name_zh": "人工智能",#         "data": {"1h": {"pct_change": 0.0076}, "8h": ..., "90d": ...},#         "symbols": {"0G": {"id": 38337, "data": {"1h": {"pct_change": 0.0061}, ...}}, ...}}, ...}

Phản hồi

{"data": {<sector>: {"name_en", "name_zh", "data", "symbols"}}} (~48 ngành).

TrườngMô tả
data{<timeframe>: {"pct_change": float}} cho 1h, 8h, 24h, 3d, 7d, 30d, 90d; pct_change là số thập phân (0.0061 = +0.61%)
symbols{<token>: {"id": int, "data": {<timeframe>: {"pct_change": float}}}} — chi tiết theo từng token

Lỗi

Chỉ có các lỗi dùng chung.

Ghi chú

  • Được dựng lại bởi một job theo lịch, các lần dựng lại cách nhau 50–60 phút; phục vụ từ đầu ra của job, không có thêm cache máy chủ.

Mất cân bằng OI

GET/oi_imbalance/get_overview_data
Dữ liệu từ
Snapshot
Tần suất cập nhật
Mỗi 5 phút

Tham số

Không có.

Ví dụ

Python
data = requests.get(f"{BASE_URL}/oi_imbalance/get_overview_data", headers=headers, timeout=60).json()["data"]# [{"token": "TSLA", "token_id": 39618, "token_price": 313.33, "token_chg": 0.031,#   "market_cap": 40415.98, "oi_total": 59916616.78, "alpha": 1482.5}, ...]

Phản hồi

{"data": [...]}, sắp xếp giảm dần theo alpha.

TrườngKiểuĐơn vịMô tả
tokenstring—Token
token_idint—Id token của Blave
token_pricefloatUSDGiá
token_chgfloatsố thập phânThay đổi giá
market_capfloatUSDVốn hóa thị trường
oi_totalfloatUSDOI hợp đồng tương lai cộng trên Binance / OKX / BingX
alphafloattỷ lệoi_total / market_cap — cao = OI dồn nén so với quy mô (rủi ro squeeze / biến động)

Lỗi

Chỉ có các lỗi dùng chung.

Ghi chú

  • oi_imbalance của /alpha_table chỉ mang giá trị alpha cuối cùng; endpoint này có bảng đầy đủ.
  • Cache máy chủ: 5 phút.

Danh sách symbol của Săn cá voi

GET/whale_hunter/get_symbols
Dữ liệu từ
—
Tần suất cập nhật
Cache máy chủ 10 phút

Tham số

Không có.

Ví dụ

Python
symbols = requests.get(f"{BASE_URL}/whale_hunter/get_symbols", headers=headers, timeout=30).json()["data"]

Phản hồi

{"data": ["BNBUSDT", "BTCUSDT", ...]}, đã sắp xếp.

Lỗi

Chỉ có các lỗi dùng chung.

Ghi chú

  • Danh sách được lấy từ snapshot hợp đồng mở Binance USDT-M mới nhất.

Săn cá voi

GET/whale_hunter/get_alpha
Dữ liệu từ
2021-12-01 (BTCUSDT)
Tần suất cập nhật
Mỗi 5 phút

Tham số

Xem Quy ước chỉ báo crypto.

TênMô tảGiá trị hợp lệMặc định
symbol
string · queryBắt buộc
Mãe.g. BTCUSDT
period
string · queryBắt buộc
Khung thời gian nến5min, 15min, 1h, 4h, 8h, 1d
timeframe
string · query
Cửa sổ cuốn chiếu mà dòng tiền được cộng dồn15min, 1h, 4h, 8h, 24h, 3d24h
score_type
string · query
Thay đổi hợp đồng mở hoặc khối lượngscore_oi, score_volumescore_oi
start_date
string · query
Ngày bắt đầuYYYY-MM-DDend_date − 365 ngày
end_date
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
params = {"symbol": "BTCUSDT", "period": "1h", "timeframe": "24h", "score_type": "score_oi"}response = requests.get(f"{BASE_URL}/whale_hunter/get_alpha", headers=headers, params=params, timeout=60)

Phản hồi

{"data": {"timestamp": [...], "alpha": [...], "stat": {...}}}.

TrườngKiểuMô tả
timestampfloat[]Giây Unix (UTC)
alphafloat[]Z-score của thay đổi OI (hoặc khối lượng) cộng dồn theo timeframe so với trung bình 30 ngày của nó
statobjectXem Object stat

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
403{"error": "symbol is required"} / {"error": "period is required"}Thiếu tham số
403{"error": "Invalid score_type"}score_type không được phép

Ghi chú

  • Chỉ bao phủ Binance — hợp đồng mở và khối lượng của hợp đồng vĩnh cửu USDT-M.
  • timeframe không được kiểm tra phía máy chủ. Đã thử một giá trị ngoài danh sách, 2h, và nó trả về 200 kèm dữ liệu. Đó chỉ là một lần quan sát — không chứng minh rằng mọi {n}h đều hoạt động. Hãy dùng các giá trị được liệt kê, trừ khi bạn tự xác minh giá trị mình cần.
  • 2021-12-01 là nến 1d đầu tiên của BTCUSDT; các symbol khác có thể bắt đầu muộn hơn.

Danh sách symbol của Cường độ Taker

GET/taker_intensity/get_symbols
Dữ liệu từ
—
Tần suất cập nhật
Cache máy chủ 10 phút

Tham số

Không có.

Ví dụ

Python
symbols = requests.get(f"{BASE_URL}/taker_intensity/get_symbols", headers=headers, timeout=30).json()["data"]

Phản hồi

{"data": ["BNBUSDT", "BTCUSDT", ...]}, đã sắp xếp.

Lỗi

Chỉ có các lỗi dùng chung.

Ghi chú

  • Danh sách được lấy từ snapshot hợp đồng mở Binance USDT-M mới nhất.

Cường độ Taker

GET/taker_intensity/get_alpha
Dữ liệu từ
2020-01-01 (BTCUSDT)
Tần suất cập nhật
Mỗi 5 phút

Tham số

Xem Quy ước chỉ báo crypto.

TênMô tảGiá trị hợp lệMặc định
symbol
string · queryBắt buộc
Mãe.g. BTCUSDT
period
string · queryBắt buộc
Khung thời gian nến5min, 15min, 1h, 4h, 8h, 1d
timeframe
string · query
Cửa sổ cuốn chiếu15min, 1h, 4h, 8h, 24h, 3d24h
start_date
string · query
Ngày bắt đầuYYYY-MM-DDend_date − 365 ngày
end_date
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
params = {"symbol": "BTCUSDT", "period": "1h", "timeframe": "24h", "start_date": "2025-01-01", "end_date": "2025-03-01"}response = requests.get(f"{BASE_URL}/taker_intensity/get_alpha", headers=headers, params=params, timeout=60)

Phản hồi

{"data": {"timestamp": [...], "alpha": [...], "stat": {...}}}.

TrườngKiểuMô tả
timestampfloat[]Giây Unix (UTC)
alphafloat[]Z-score của khối lượng (taker mua − taker bán) cộng dồn theo timeframe so với trung bình 30 ngày của nó; dương = mua ròng
statobjectXem Object stat

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
403{"error": "symbol is required"} / {"error": "period is required"}Thiếu tham số

Ghi chú

  • Chỉ bao phủ Binance — khối lượng taker mua/bán của hợp đồng vĩnh cửu USDT-M.
  • 2020-01-01 là nến 1d đầu tiên của BTCUSDT; các symbol khác có thể bắt đầu muộn hơn.

Danh sách symbol của Biến động bất thường

GET/unusual_movement/get_symbols
Dữ liệu từ
—
Tần suất cập nhật
Cache máy chủ 10 phút

Tham số

Không có.

Ví dụ

Python
symbols = requests.get(f"{BASE_URL}/unusual_movement/get_symbols", headers=headers, timeout=30).json()["data"]

Phản hồi

{"data": ["BNBUSDT", "BTCUSDT", ...]}, đã sắp xếp.

Lỗi

Chỉ có các lỗi dùng chung.

Ghi chú

  • Danh sách được lấy từ snapshot hợp đồng mở Binance USDT-M mới nhất.

Biến động bất thường

GET/unusual_movement/get_alpha
Dữ liệu từ
2020-01-02 (BTCUSDT)
Tần suất cập nhật
Mỗi 5 phút

Tham số

Xem Quy ước chỉ báo crypto.

TênMô tảGiá trị hợp lệMặc định
symbol
string · queryBắt buộc
Mãe.g. BTCUSDT
period
string · queryBắt buộc
Khung thời gian nến5min, 15min, 1h, 4h, 8h, 1d
timeframe
string · query
Cửa sổ đo biến động15min, 1h, 4h, 8h, 24h, 3d, 7d24h
start_date
string · query
Ngày bắt đầuYYYY-MM-DDend_date − 365 ngày
end_date
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
params = {"symbol": "BTCUSDT", "period": "1h", "timeframe": "24h"}response = requests.get(f"{BASE_URL}/unusual_movement/get_alpha", headers=headers, params=params, timeout=60)

Phản hồi

{"data": {"timestamp": [...], "alpha": [...], "close": [...], "stat": {...}}}.

TrườngKiểuMô tả
timestampfloat[]Giây Unix (UTC)
alphafloat[]Lợi suất trong timeframe chia cho độ biến động 365 ngày được quy đổi về cửa sổ đó — |alpha| lớn = giá trị ngoại lai
closefloat[]Giá đóng cửa (USDT)
statobjectXem Object stat

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "symbol is required"} / {"error": "period is required"}Thiếu tham số
500lỗi máy chủtimeframe nằm ngoài danh sách cho phép

Ghi chú

  • Chỉ bao phủ Binance — giá hợp đồng vĩnh cửu USDT-M.
  • 2020-01-02 là nến 1d đầu tiên của BTCUSDT; các symbol khác có thể bắt đầu muộn hơn.

Danh sách symbol của Squeeze Momentum

GET/squeeze_momentum/get_symbols
Dữ liệu từ
—
Tần suất cập nhật
Cache máy chủ 10 phút

Tham số

Không có.

Ví dụ

Python
symbols = requests.get(f"{BASE_URL}/squeeze_momentum/get_symbols", headers=headers, timeout=30).json()["data"]

Phản hồi

{"data": ["BNBUSDT", "BTCUSDT", ...]}, đã sắp xếp.

Lỗi

Chỉ có các lỗi dùng chung.

Ghi chú

  • Danh sách được lấy từ snapshot hợp đồng mở Binance USDT-M mới nhất.

Squeeze Momentum

GET/squeeze_momentum/get_alpha
Dữ liệu từ
2020-02-09 (BTCUSDT)
Tần suất cập nhật
Nến ngày

Tham số

Không có period; cố định ở 1d. Xem Quy ước chỉ báo crypto.

TênMô tảGiá trị hợp lệMặc định
symbol
string · queryBắt buộc
Mãe.g. BTCUSDT
start_date
string · query
Ngày bắt đầuYYYY-MM-DDend_date − 365 ngày
end_date
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
params = {"symbol": "BTCUSDT", "start_date": "2025-01-01", "end_date": "2025-03-01"}response = requests.get(f"{BASE_URL}/squeeze_momentum/get_alpha", headers=headers, params=params, timeout=60)# {"data": {"alpha": [-0.2256, ...], "scolor": ["black", ...], "timestamp": [...], "stat": {...}}}

Phản hồi

{"data": {"timestamp": [...], "alpha": [...], "scolor": [...], "stat": {...}}}.

TrườngKiểuMô tả
timestampfloat[]Giây Unix (UTC), theo ngày
alphafloat[]Giá trị momentum
scolorstring[]black = squeeze đang bật (Bollinger Bands nằm trong Keltner Channels), grey = squeeze tắt
statobjectXem Object stat

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
403{"error": "symbol is required"}Thiếu tham số

Ghi chú

  • Chỉ bao phủ Binance — giá hợp đồng vĩnh cửu USDT-M.
  • Chuỗi có phần đệm: các dòng BTCUSDT có từ 2020-01-01, nhưng alpha là 0.0 cho đến 2020-02-09. Request bắt đầu sớm hơn ngày Dữ liệu từ sẽ trả về các dòng đệm đó — chúng là phần lấp chỗ trống, không phải tín hiệu. Hãy bỏ các số không ở đầu, hoặc bắt đầu từ ngày Dữ liệu từ.
  • 2020-02-09 là alpha khác không đầu tiên của BTCUSDT; các symbol khác có thể bắt đầu muộn hơn.

Mức phơi nhiễm của trader hàng đầu Blave

GET/blave_top_trader/get_exposure
Dữ liệu từ
2025-03-03
Tần suất cập nhật
Mỗi 5 phút

Tham số

Không có symbol: alpha là một chuỗi duy nhất cho toàn thị trường, không phải theo từng coin. BTCUSDT chỉ được dùng nội bộ để căn nến; nó không được trả về và không làm thay đổi alpha. Xem Quy ước chỉ báo crypto.

TênMô tảGiá trị hợp lệMặc định
period
string · queryBắt buộc
Khung thời gian nến1h, 4h, 8h, 1d
start_date
string · query
Ngày bắt đầuYYYY-MM-DDend_date − 365 ngày
end_date
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
params = {"period": "1h", "start_date": "2025-05-01", "end_date": "2025-07-01"}response = requests.get(f"{BASE_URL}/blave_top_trader/get_exposure", headers=headers, params=params, timeout=60)# {"data": {"alpha": [34.32, 40.52, ...], "timestamp": [1747130400.0, ...]}}

Phản hồi

{"data": {"timestamp": [...], "alpha": [...]}}. Không có stat.

TrườngKiểuMô tả
timestampfloat[]Giây Unix (UTC)
alphafloat[]Mức phơi nhiễm ròng của các trader hàng đầu Blave (top 10% theo tài sản tài khoản) — trung vị, trên các trader đó, của vị thế danh nghĩa ròng ÷ tài sản của chính từng trader, ×100 (dương = long ròng). Là tỷ lệ thô, không phải z-score

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
403{"error": "period is required"}Thiếu tham số

Ghi chú

  • Một chuỗi toàn thị trường bao phủ mọi coin mà các trader này nắm giữ; không có chiều symbol.

Danh sách symbol của Thanh lý

GET/liquidation/get_symbols
Dữ liệu từ
—
Tần suất cập nhật
Cache máy chủ 10 phút

Tham số

Không có.

Ví dụ

Python
symbols = requests.get(f"{BASE_URL}/liquidation/get_symbols", headers=headers, timeout=30).json()["data"]

Phản hồi

{"data": ["BNBUSDT", "BTCUSDT", ...]}, đã sắp xếp.

Lỗi

Chỉ có các lỗi dùng chung.

Ghi chú

  • Danh sách được lấy từ snapshot hợp đồng mở Binance USDT-M mới nhất.

Thanh lý

GET/liquidation/get_alpha
Dữ liệu từ
2023-01-01 với BTC/ETH; các symbol khác có thể bắt đầu muộn hơn
Tần suất cập nhật
Mỗi 5 phút

Tham số

Xem Quy ước chỉ báo crypto.

TênMô tảGiá trị hợp lệMặc định
symbol
string · queryBắt buộc
Mãe.g. BTCUSDT
period
string · queryBắt buộc
Khung thời gian nến5min, 15min, 1h, 4h, 8h, 1d
timeframe
string · query
Cửa sổ cuốn chiếu15min, 1h, 4h, 8h, 24h, 3d24h
start_date
string · query
Ngày bắt đầuYYYY-MM-DDend_date − 365 ngày
end_date
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
params = {"symbol": "BTCUSDT", "period": "1h", "timeframe": "24h"}response = requests.get(f"{BASE_URL}/liquidation/get_alpha", headers=headers, params=params, timeout=60)

Phản hồi

{"data": {"timestamp": [...], "alpha": [...], "stat": {...}}}.

TrườngKiểuMô tả
timestampfloat[]Giây Unix (UTC)
alphafloat[](thanh lý short − thanh lý long, tính bằng coin) cộng dồn theo timeframe ÷ độ lệch chuẩn cuốn chiếu 30 ngày của nó; không trừ trung bình. > 0 = short bị thanh lý nhiều hơn long, < 0 = long nhiều hơn
statobjectXem Object stat

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "symbol is required"} / {"error": "period is required"}Thiếu tham số

Ghi chú

  • Chuỗi có phần đệm: các dòng BTCUSDT có từ 2020-01-01, nhưng alpha là 0.0 cho đến 2023-01-01. Request bắt đầu sớm hơn ngày Dữ liệu từ sẽ trả về các dòng đệm đó — chúng là phần lấp chỗ trống, không phải tín hiệu. Hãy bỏ các số không ở đầu, hoặc bắt đầu từ ngày Dữ liệu từ. Các symbol ngoài BTC/ETH còn chuyển sang khác không muộn hơn nữa, nên hãy kiểm tra theo từng symbol.

Bản đồ thanh lý

GET/liquidation/get_map
Dữ liệu từ
Snapshot
Tần suất cập nhật
Cache máy chủ 5 giây

Tham số

TênMô tảGiá trị hợp lệMặc định
symbol
string · queryBắt buộc
Mãe.g. BTCUSDT
price_max
float · query
Cận trên của trục giágiákhoảng do máy chủ chọn
price_min
float · query
Cận dưới của trục giágiákhoảng do máy chủ chọn

Ví dụ

Python
response = requests.get(f"{BASE_URL}/liquidation/get_map", headers=headers, params={"symbol": "BTCUSDT"}, timeout=60)# {"data": {"price": 77554.1, "labels": [54287.9, ...], "oi_value": [57693.86, ...],#           "cumsum": [1543109619.0, ...], "liquidation": {"24h": {"buy_liq": [...], "sell_liq": [...]}}}}

Phản hồi

{"data": {"price", "labels", "oi_value", "cumsum", "liquidation"}}.

TrườngKiểuĐơn vịMô tả
pricefloatUSDTGiá hiện tại
labelsfloat[]USDT200 vùng giá
oi_valuefloat[]USDPhân bổ ước tính hợp đồng mở Binance vào từng vùng giá (ước tính của mô hình, không phải vị thế thật)
cumsumfloat[]USDMức phơi nhiễm thanh lý lũy kế qua các vùng giá
liquidationobjectUSD{"24h": {"buy_liq": [...], "sell_liq": [...]}} — các lệnh thanh lý cưỡng chế thực tế trên Binance trong 24 giờ qua theo từng vùng giá, mỗi giá trị được chia cho giả định cố định 0.3 về thị phần Binance: buy_liq = thanh lý short, sell_liq = thanh lý long

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "symbol is required"}Thiếu tham số

Thay đổi bản đồ thanh lý

GET/liquidation/get_map_change
Dữ liệu từ
24 giờ gần nhất
Tần suất cập nhật
Tính theo từng request

Tham số

TênMô tảGiá trị hợp lệMặc định
symbol
string · queryBắt buộc
Mãe.g. BTCUSDT
price_max
float · query
Cận trên của trục giágiákhoảng do máy chủ chọn
price_min
float · query
Cận dưới của trục giágiákhoảng do máy chủ chọn

Ví dụ

Python
response = requests.get(f"{BASE_URL}/liquidation/get_map_change", headers=headers, params={"symbol": "BTCUSDT"}, timeout=60)# {"data": {"price": 77554.1, "labels": [54287.9, ...], "hist_0_1h": [0.0, ...], "hist_1_8h": [...], "hist_8_24h": [...]}}

Phản hồi

{"data": {"price", "labels", "hist_0_1h", "hist_1_8h", "hist_8_24h"}}.

TrườngKiểuĐơn vịMô tả
pricefloatUSDTGiá hiện tại
labelsfloat[]USDT200 vùng giá (cạnh dưới)
hist_0_1hfloat[]USDMức phơi nhiễm thanh lý ước tính mới trong 0–1 giờ qua, theo từng vùng giá: chênh lệch dương giữa các snapshot bản đồ của mô hình, không phải thanh lý thực tế
hist_1_8hfloat[]USD1–8 giờ qua
hist_8_24hfloat[]USD8–24 giờ qua

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "symbol is required"}Thiếu tham số

Ghi chú

  • Mỗi request dựng lại bản đồ hiện tại (cache máy chủ 5 giây) và so sánh với các snapshot bản đồ đã lưu từ khoảng 1 giờ, 8 giờ và 24 giờ trước. Snapshot được lưu mỗi 30 phút cho mọi symbol, cộng thêm ở mỗi request bản đồ.

Thanh lý theo coin

GET/liquidation/get_coin
Dữ liệu từ
Snapshot (24 giờ gần nhất)
Tần suất cập nhật
Mỗi 5 phút

Các lệnh thanh lý cưỡng chế của một coin trên mọi feed sàn mà Blave thu thập: bốn cửa sổ cuốn chiếu kèm phân tách theo từng sàn, một chuỗi theo giờ gồm 24 điểm, và ghi chú về độ phủ của từng feed. Đây là dòng thanh lý thực tế (giống đầu vào của get_alpha), không phải ước tính của mô hình đằng sau get_map.

Tham số

TênMô tảGiá trị hợp lệMặc định
symbol
string · queryBắt buộc
Coin. Hậu tố đồng định giá bị loại bỏ; symbol trong phản hồi là tên coin đã chuẩn hóaBTC, BTCUSDT, btc, BTC-USDT-SWAP, BTC_USDT (≤ 32 ký tự)

Ví dụ

Phản hồi

{"data": {"symbol", "rank", "updated_at", "windows", "exchanges", "detail_complete", "series"}}.

TrườngKiểuĐơn vịMô tả
symbolstring—Tên coin đã chuẩn hóa, ví dụ BTC
rankint / null—Vị trí trong top 50 coin theo tổng 24 giờ trên các sàn; null khi nằm ngoài top 50 hoặc không có sự kiện nào
updated_atstring / nullISO 8601 UTCThời điểm của bucket 5 phút mới nhất được dùng
windowsobject—Key là các chuỗi "1", "4", "12", "24" (giờ). Mỗi key là một cửa sổ cuốn chiếu kết thúc ở bucket 5 phút mới nhất, với các trường bên dưới
windows.<h>.total_liq_usd / long_liq_usd / short_liq_usdfloatUSDCộng trên các sàn; long = vị thế long bị thanh lý (giá giảm), short = vị thế short bị thanh lý (giá tăng)
windows.<h>.long_pct / short_pctfloat / nulltỷ lệ 0–1Tỷ trọng trong tổng của cửa sổ; null khi tổng của cửa sổ bằng 0
windows.<h>.covered_hoursfloathSố giờ của cửa sổ thực sự có bucket (< h ngay sau khi collector khởi động lại)
windows.<h>.by_exchangeobjectUSD{exchange: {total_liq_usd, long_liq_usd, short_liq_usd}}. Sàn không có sự kiện nào trong cửa sổ thì không có key — hãy đọc exchanges[] để phân biệt "feed còn sống, coin này yên ắng" với "không có feed"
exchanges[]object[]—Mỗi feed một dòng (hiện có sáu feed, có mặt kể cả khi không có sự kiện), sắp xếp giảm dần theo tổng 24 giờ, rồi theo thứ tự danh sách
exchanges[].exchangestring—binance, bybit, gate, okx, htx, bitfinex
exchanges[].listedbool / null—Sàn đó có niêm yết hợp đồng vĩnh cửu ký quỹ bằng USDT cho coin này hay không; null khi không lấy được danh sách hợp đồng (Bitfinex luôn là null)
exchanges[].last_event_atstring / nullISO 8601 UTCBucket mới nhất nhận được từ feed đó (bất kỳ coin nào); null nếu chưa từng nhận được
exchanges[].price_basisstring—Giá dùng để quy đổi sang USD: trade_avg, bankruptcy, unverified
exchanges[].coveragestring—Mức độ đầy đủ của feed: full, full_unstated, sampled_1s, aggregated_1s, sampled_undisclosed
exchanges[].time_basisstring—event — chia bucket theo timestamp của chính sự kiện
detail_completebool—false khi coin có thể đã bị cắt khỏi danh sách chi tiết đầy đủ theo từng bucket (các feed giữ top 100 coin cho mỗi bucket 5 phút): khi đó windows có thể đếm thiếu. Các coin thuộc top 50 gần như luôn là true
series.bucket_secondsintsLuôn là 3600
series.pointsobject[]—Luôn có 24 mục, cũ nhất → mới nhất, theo giờ đồng hồ; mục cuối là giờ hiện tại tính đến updated_at (snapshot được dựng lại mỗi 5 phút, nên có thể chậm hơn request vài phút). Mỗi mục là {ts, long_liq_usd, short_liq_usd}; các giờ không có sự kiện là 0, không bao giờ bị thiếu

windows["24"] là cùng khung cuốn chiếu với ma trận sàn, nên cùng một coin hiển thị cùng con số 24 giờ ở đó. series tính theo giờ đồng hồ, nên Σ points ≠ windows["24"] là có chủ đích: lấy tổng từ windows, lấy diễn biến theo thời gian từ series.

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "symbol is required"}symbol bị thiếu, để trống, dài hơn 32 ký tự, hoặc không còn gì sau khi loại bỏ hậu tố đồng định giá (ví dụ symbol=USDT)
404{"error": "<SYMBOL> is not a collected symbol"}Không sàn nào niêm yết coin này và không feed nào ghi nhận nó trong 24 giờ qua — đây là câu trả lời, không phải lỗi tạm thời
503{"error": "liquidation data unavailable"}Các bucket upstream không phản hồi — thử lại sau; không bao giờ đọc thành "0 lệnh thanh lý"

Ghi chú

  • Bao phủ các feed thanh lý của Binance, Bybit, Gate.io, OKX, HTX và Bitfinex.
  • Chỉ có snapshot: không có start_date / end_date, và không có gì cũ hơn 24 giờ. Để lấy lịch sử, dùng get_alpha (mức mất cân bằng long/short đã chuẩn hóa, không phải số tiền USD).
  • Cách xử lý symbol khác với các endpoint thanh lý còn lại: get_alpha / get_map cần dạng hợp đồng vĩnh cửu của Binance (BTCUSDT); ở đây BTC và BTCUSDT là cùng một coin.
  • Cache máy chủ: 5 phút.
  • Giá trị danh nghĩa USD được quy đổi tại thời điểm thu thập, nên có thể cộng các sàn với nhau.

Ma trận thanh lý theo sàn

GET/liquidation/get_exchanges
Dữ liệu từ
Cửa sổ cuốn chiếu, căn theo 5 phút (mặc định 24 giờ gần nhất)
Tần suất cập nhật
Mỗi 5 phút

Các lệnh thanh lý cưỡng chế của toàn thị trường, tổng hợp theo từng sàn và dưới dạng ma trận coin × sàn — bản toàn thị trường đi kèm với /liquidation/get_coin. Cùng khung cuốn chiếu căn theo 5 phút, nên tổng 24 giờ của một coin là cùng một con số ở cả hai.

Tham số

TênMô tảGiá trị hợp lệMặc định
hours
int · query
Độ dài cửa sổ. Ngoài phạm vi → 400 (không bị cắt về giới hạn); giá trị không phải số nguyên sẽ âm thầm quay về mặc định1–16824
top_n
int · query
Số coin được liệt kê riêng; phần còn lại vào others. Cùng quy tắc về phạm vi / giá trị không nguyên với hours1–5010

Ví dụ

Phản hồi

{"data": {"exchanges", "coins", "others", "total", "buckets", "covered_hours", "window_hours", "window_start", "window_end", "updated_at"}}.

TrườngKiểuĐơn vịMô tả
exchanges[]object[]—Mỗi feed một dòng, sắp xếp giảm dần theo tổng: exchange, total_liq_usd, long_liq_usd, short_liq_usd, long_pct, short_pct, events, last_event_at. Mọi feed luôn được liệt kê: số tiền null = không nhận được dữ liệu từ feed đó trong cửa sổ (xếp cuối), 0.0 = có kết nối nhưng không có thanh lý
exchanges[].price_basis / .coverage / .time_basisstring—Mức độ so sánh được của dòng đó: trade_avg / bankruptcy / unverified; full, full_unstated, sampled_1s, aggregated_1s, sampled_undisclosed; event. Hãy giữ các trường này khi công bố lại số liệu — feed lấy mẫu không phải là feed đầy đủ
coins[]object[]—top_n coin đứng đầu theo tổng trên các sàn: token, token_id (0 khi symbol không có id token), total_liq_usd, long_liq_usd, short_liq_usd, by_exchange{name: {total/long/short_liq_usd}}. by_exchange là dạng thưa — feed không có gì cho coin đó thì không có key; hãy đọc là 0 khi tổng exchanges[] của feed đó không phải null
othersobject—Mọi thứ bị top_n cắt đi, cùng các trường cộng thêm coin_count, để coins[] + others cộng lại bằng tổng của từng sàn
totalobjectUSD / tỷ lệtotal_liq_usd, long_liq_usd, short_liq_usd, long_pct, short_pct
covered_hoursfloathSố giờ của cửa sổ thực sự có bucket (< hours ngay sau khi collector khởi động lại)
bucketsint—Số bucket 5 phút được tổng hợp
window_hours / window_start / window_endint / stringgiờ / ISO 8601 UTCCửa sổ như máy chủ đã xác định
updated_atstringISO 8601 UTCBucket mới nhất được dùng

long_liq_usd = vị thế long bị thanh lý (giá giảm); short_liq_usd = vị thế short bị thanh lý (giá tăng).

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "hours must be between 1 and 168"} / {"error": "top_n must be between 1 and 50"}Tham số ngoài phạm vi

Ghi chú

  • Bao phủ các feed thanh lý của Binance, Bybit, Gate.io, OKX, HTX và Bitfinex.
  • Hoàn toàn không có dữ liệu (các feed ngừng hoạt động, hoặc không kết nối được nguồn dữ liệu) vẫn là 200 với cùng cấu trúc, mọi số tiền là null, buckets: 0 — không bao giờ là một bảng toàn số không. Hãy kiểm tra total.total_liq_usd trước khi dùng số liệu.
  • Chỉ có tổng — không có chuỗi thời gian. Diễn biến theo giờ của một coin là /liquidation/get_coin; tín hiệu đã chuẩn hóa có lịch sử dài là /liquidation/get_alpha.
  • Cửa sổ là cuốn chiếu, không phải ngày theo lịch, và là cùng khung mà /liquidation/get_coin dùng cho windows["24"].
  • Cache máy chủ: 5 phút.
  • Giá trị danh nghĩa USD được quy đổi tại thời điểm thu thập, nên có thể cộng các sàn với nhau.

Bảng tỷ lệ Long/Short

GET/long_short_ratio/get_table
Dữ liệu từ
Snapshot (lát cắt mới nhất)
Tần suất cập nhật
Bucket 5 phút

Mọi coin được thu thập × mọi nguồn tỷ lệ long/short, tại thời điểm hiện tại. Mười nguồn: Binance, OKX và Gate.io mỗi sàn công bố ba loại — tất cả tài khoản, tài khoản của top trader, vị thế của top trader — còn Bybit chỉ công bố theo tài khoản. Các dòng được sắp xếp theo giá trị danh nghĩa hợp đồng mở trên Binance. Chỉ liệt kê những coin ánh xạ được vào một mục trong danh sách token của Blave; phản hồi khi dùng API key là bảng đầy đủ (full: true), còn bản studio ẩn danh chỉ có các dòng thuộc whitelist 30 coin của nó.

Tham số

Không có.

Ví dụ

Thời điểm bắt đầu thu thập (bucket đầu tiên được lưu, đo trên BTC ngày 2026-09-22)

Key nguồnThu thập từ
binance_account2021-05-11
binance_top_account / binance_top_position2026-08-22
okx_account / okx_top_account / okx_top_position2025-02-18
gate_account / gate_top_account / gate_top_position2026-08-12
bybit_account2026-08-12

Hiện mọi nguồn đều đã lâu hơn 7 ngày mà bộ dữ liệu này phục vụ, nên không nguồn nào giới hạn truy vấn — các ngày này chỉ quan trọng khi bạn được báo rằng một nguồn "không có lịch sử".

Phản hồi

{"data": {"coins", "sources", "summary", "tokens_shown", "tokens_total", "full", "updated_at"}}.

TrườngKiểuĐơn vịMô tả
coins[]object[]—Mỗi coin một dòng: token, token_id, cộng thêm mỗi key nguồn một giá trị
coins[].<source key>float / nulltỷ lệSố tài khoản (hoặc vị thế) long ÷ short. null = sàn đó không có feed này cho coin. Tỷ trọng long = r / (1 + r) — API không tính sẵn
sources[]object[]—Mười feed, theo thứ tự cột. Hãy đọc trường này, không bao giờ dùng danh sách key viết cứng
sources[].keystring—<exchange>_<type>, ví dụ binance_top_position — key dùng trong coins[]
sources[].exchange / .typestring—binance / okx / gate / bybit; account / top_account / top_position
sources[].last_atstringISO 8601 UTCMẫu mới nhất từ feed đó
sources[].stalebool—Mẫu mới nhất của feed đó đã cũ hơn 1 giờ (so với hiện tại). updated_at ở cấp cao nhất là của nguồn mới nhất và không nói lên điều gì về từng nguồn riêng lẻ — hãy đánh giá một nguồn bằng last_at / stale của chính nó
summary.binance_tokens / .binance_long_majorityint—Số coin có tỷ lệ tài khoản Binance / trong số đó, bao nhiêu coin trên 1. Tính trên toàn bộ bảng, không phải trên các dòng được hiển thị
tokens_shown / tokens_totalint—Số dòng được trả về / số dòng trong bảng. Bằng nhau khi dùng API key
fullbool—true khi dùng API key; false ở bản studio ẩn danh
updated_atstringISO 8601 UTCBucket mới nhất trên các nguồn

"Top trader" là một nhóm đối tượng khác nhau ở mỗi sàn — đừng so sánh mức giá trị giữa các sàn.

Sàn giao dịchAi được tính là top trader (nguyên văn chính thức)
Binance"the top 20% users with the highest margin balance"
OKX"the top 5% of traders with the largest open position value"
Gate.ioChưa từng công bố — tài liệu chỉ nêu tên các trường

Vì vậy binance_top_account cao hơn okx_top_account không nói lên trader lớn của sàn nào đang long nhiều hơn. Thay vào đó, hãy so sánh mỗi nguồn với lịch sử của chính nó.

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
503{"error": "long short ratio data unavailable"}Không có snapshot mới — thử lại sau; không bao giờ đọc thành thị trường trống

Ghi chú

  • Đây là lát cắt, không phải lịch sử. Để lấy chuỗi dữ liệu, dùng /long_short_ratio/get_coin (7 ngày) — bộ dữ liệu này không có endpoint lịch sử dài.
  • Độ chi tiết là 5 phút, nhưng mỗi nguồn công bố theo nhịp riêng — đừng mô tả là "cập nhật mỗi 5 phút".
  • Snapshot là bucket mới nhất mà mỗi nguồn đã công bố; bucket của Gate.io và OKX về chậm khoảng 10 phút.

Tỷ lệ Long/Short theo coin

GET/long_short_ratio/get_coin
Dữ liệu từ
7 ngày gần nhất, theo giờ + điểm 5 phút mới nhất
Tần suất cập nhật
Bucket 5 phút

Một coin, cả mười nguồn: giá trị 5 phút mới nhất của từng nguồn, chuỗi theo giờ trong 7 ngày của từng nguồn, và giá đóng cửa hợp đồng vĩnh cửu Binance trên cùng khung thời gian.

Tham số

TênMô tảGiá trị hợp lệMặc định
symbol
string · queryBắt buộc
Coin. Hậu tố đồng định giá bị loại bỏ; symbol trong phản hồi là tên coin đã chuẩn hóaBTC, BTCUSDT, btc (≤ 32 ký tự)

Ví dụ

Phản hồi

{"data": {"latest", "series", "sources", "symbol", "token_id", "updated_at"}}.

TrườngKiểuĐơn vịMô tả
latest.<source key>object / null—{value, ts} — mẫu 5 phút mới nhất của nguồn đó; null khi nguồn không niêm yết coin
series.bucket_seconds / .daysints / d3600 / 7
series.timestampint[]giây epoch168 ô, cũ nhất → mới nhất, mỗi giờ một ô
series.<source key>float[] / nulltỷ lệMẫu cuối cùng của mỗi giờ; null với giờ không có mẫu. Cả trường là một null duy nhất (không phải mảng) với nguồn không niêm yết coin
series.pricefloat[] / nullUSDGiá đóng cửa hợp đồng vĩnh cửu Binance trên cùng khung thời gian. Là một null duy nhất (khi đó price_symbol / price_multiplier cũng là null) khi coin không có hợp đồng vĩnh cửu trên Binance
series.price_symbol / .price_multiplierstring / int—Giá lấy từ hợp đồng vĩnh cửu nào và hệ số nhân hợp đồng của nó (1000PEPEUSDT → 1000; price ÷ price_multiplier = giá mỗi coin)
series.provisional_fromint / nullgiây epochÔ đầu tiên vẫn còn có thể thay đổi (các nguồn chốt số chậm đến ~10 phút); null khi không nguồn nào có dữ liệu
sources[]object[]—Danh sách đầy đủ, cùng các trường với bảng cộng thêm listed
sources[].listedbool—false = sàn đó không có feed này cho coin; các mục latest và series của nó là null
symbol / token_id / updated_at——Như trong bảng

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "symbol is required"}symbol bị thiếu, để trống, dài quá 32 ký tự, hoặc không còn gì sau khi loại bỏ hậu tố đồng định giá
404{"error": "<SYMBOL> is not a collected symbol"}Không nguồn nào thu thập coin này — đây là câu trả lời, không phải lỗi tạm thời
503{"error": "long short ratio data unavailable"}Không đọc được một nguồn có niêm yết. null chỉ có nghĩa duy nhất là "sàn đó không niêm yết coin này"

Ghi chú

  • Bao phủ các feed tỷ lệ long/short của Binance, OKX, Gate.io và Bybit.
  • Lưu ý về "top trader" giữa các sàn ở /long_short_ratio/get_table cũng áp dụng tại đây.
  • 7 ngày là toàn bộ lịch sử mà endpoint này phục vụ; không có start_date / end_date.
  • Về "bản studio ẩn danh" trong mọi ví dụ của các endpoint dữ liệu thô trên trang này: các trang studio (/studio/charts/...) phục vụ cùng payload từ cùng bộ dựng mà không cần key, và các ví dụ này được lấy từ đó. Chúng không thay thế cho các endpoint dùng API key: các bảng bị cắt còn 30 coin (full: false), và coin nằm ngoài whitelist của studio sẽ nhận 403 {"error_code": "ERR001", ..., "anon_whitelist": [...]} thay vì dữ liệu. Các endpoint dùng API key được mô tả ở đây không có whitelist và không cắt dòng.
  • Bucket của Gate.io và OKX về chậm khoảng 10 phút.

Bảng hợp đồng mở

GET/oi_imbalance/get_table
Dữ liệu từ
Snapshot (lát cắt mới nhất)
Tần suất cập nhật
Khoảng mỗi 15 phút

Mọi coin được thu thập × năm sàn, tính bằng giá trị danh nghĩa USD. Cơ sở: chỉ hợp đồng vĩnh cửu ký quỹ bằng USDT, giá trị danh nghĩa USD, một phía. Sàn báo cáo cả hai phía sẽ được chia đôi (exchanges[].side_factor, Gate.io = 0.5). Vì mọi giá trị đều đã là giá trị danh nghĩa USD, các hợp đồng có hệ số nhân (1000PEPE và tương tự) cộng được giữa các sàn mà không cần quy đổi lại.

Tham số

Không có.

Ví dụ

Thời điểm bắt đầu thu thập (bucket đầu tiên được lưu, đo trên BTC ngày 2026-09-22)

Sàn giao dịchThu thập từ
binance2021-12-01
bingx2025-04-15
gate2026-08-12
okx2026-09-21
bybit2026-09-21

OKX và Bybit là lý do n_full_7d bằng 3 trên 5 và chg_24h của chúng vẫn là null vào ngày 2026-09-22 — hãy đọc exchanges[].since / full_7d thay vì các ngày này, vốn sẽ lỗi thời.

Phản hồi

{"data": {"coins", "exchanges", "total", "summary", "tokens_shown", "tokens_total", "full", "updated_at"}}.

TrườngKiểuĐơn vịMô tả
coins[].token / .token_idstring / int—Coin
coins[].oi_totalfloatUSDCộng trên năm sàn
coins[].chg_1h / .chg_4h / .chg_24hfloat / nulltỷ lệThay đổi dạng thập phân (0.0675 = +6.75 %). Mỗi cửa sổ chỉ tính các sàn có mốc so sánh tại thời điểm bắt đầu của cửa sổ đó, tử số và mẫu số trên cùng một tập sàn; null khi không sàn nào có
coins[].market_capfloat / nullUSDVốn hóa thị trường; null khi không có giá trị dùng được
coins[].oi_mcapfloat / nulltỷ lệoi_total ÷ market_cap; null khi token không có vốn hóa thị trường
coins[].by_exchangeobject—{exchange: {oi, chg_1h, chg_4h, chg_24h}}, mỗi sàn một key; null khi coin không được niêm yết ở đó. null ở một cửa sổ nghĩa là sàn đó không có mốc so sánh xa đến vậy — feed còn mới hơn độ dài cửa sổ
exchanges[]object[]—binance, okx, bingx, bybit, gate — oi, side_factor, since, full_7d, last_at, stale của toàn thị trường
exchanges[].since / .full_7dstring / boolngàyNgày đầu tiên của feed khi nó có dưới 7 ngày lịch sử (full_7d: false), ngược lại là null / true. Chỉ mang tính tham khảo ở bảng này (bảng không có cửa sổ 7 ngày); ở /oi_imbalance/get_coin, feed như vậy không có mốc so sánh 7 ngày và bị loại khỏi series.total
totalobject—oi, chg_1h/4h/24h, n_exchanges, n_full_7d của toàn thị trường
summary.oi_mcap_leader / _valuestring / float—OI ÷ vốn hóa thị trường cao nhất trong top 100 coin theo OI
tokens_shown / tokens_total / full / updated_at——Như trong bảng tỷ lệ long/short

Không phải cùng một con số với chỉ báo OI 失衡. /oi_imbalance/get_overview_data (và alpha oi_imbalance đứng sau các điều kiện của bộ lọc và cảnh báo) là số tổng hợp của ba sàn — Binance + OKX + BingX. Bảng này là năm sàn trên cơ sở nêu trên. Hai giá trị oi_total khác nhau, nên ngưỡng tinh chỉnh trên giá trị này không áp dụng được cho giá trị kia.

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
503{"error": "open interest data unavailable"}Job không có kết quả mới (bị thiếu hoặc cũ hơn một giờ) — không bao giờ là một bảng toàn số không

Ghi chú

  • chg_24h: null ở OKX / Bybit trong ví dụ trên là do quy tắc feed còn mới, không phải khoảng trống của thị trường: hai sàn này bắt đầu từ 2026-09-21, nên chưa có mốc so sánh 24 giờ.
  • Đây là lát cắt, không phải lịch sử. 7 ngày gần nhất của một coin (theo giờ, cả năm sàn) là /oi_imbalance/get_coin; lịch sử đủ dài để backtest cho một coin trên một sàn là /oi_imbalance/get_history.
  • Snapshot mang các thay đổi 1 giờ / 4 giờ / 24 giờ. Nó được dựng lại bởi một job theo lịch khoảng mỗi 15 phút từ các bucket nguồn 5 phút; bucket của Gate.io và OKX về chậm khoảng 10 phút.

Hợp đồng mở theo coin

GET/oi_imbalance/get_coin
Dữ liệu từ
7 ngày gần nhất, theo giờ + giá trị hiện tại
Tần suất cập nhật
Bucket 5 phút

Hợp đồng mở của một coin theo từng sàn, trên cùng cơ sở với bảng: giá trị hiện tại và tỷ trọng, bốn cửa sổ thay đổi kèm các sàn được tính trong từng cửa sổ, và một đường tổng theo giờ trong 7 ngày.

Tham số

symbol, giống hệt như ở /long_short_ratio/get_coin.

Ví dụ

Phản hồi

{"data": {"exchanges", "windows", "series", "oi_total", "market_cap", "oi_mcap", "oi_mcap_rank", "tokens_total", "symbol", "token_id", "updated_at"}}.

TrườngKiểuĐơn vịMô tả
exchanges[]object[]—Danh sách đầy đủ năm sàn: key, oi (USD), share (trong oi_total), chg_1h/4h/24h/7d, side_factor, listed, since, full_7d, last_at, stale
exchanges[].listedbool—false = coin không được niêm yết ở đó; các giá trị của nó là null
oi_total / market_cap / oi_mcapfloatUSD / tỷ lệNhư trong bảng
oi_mcap_rank / tokens_totalint / null—Thứ hạng theo oi_mcap trong lượt chạy gần nhất của job dựng bảng; null khi job đó không có kết quả mới
windows.<1h|4h|24h|7d>.chg / .chg_usdfloat / nulltỷ lệ / USDThay đổi của tổng các sàn được tính
windows.<w>.exchangesstring[]—Những sàn nào được tính trong cửa sổ đó — feed còn mới sẽ vắng mặt, nên 24 giờ / 7 ngày có thể tính ít sàn hơn 1 giờ
series.timestampint[]giây epoch168 ô theo giờ, cũ nhất → mới nhất
series.totalfloat[] / nullUSDTổng OI mỗi ô — chỉ các sàn trong series.total_exchanges (các feed full_7d) nằm trong đường này, nên không so sánh được về mức với oi_total. Một ô là null khi bất kỳ sàn nào trong số đó không có mẫu trong giờ đó; cả trường là null khi không sàn nào là full_7d cho coin
series.total_exchangesstring[]—Đường này cộng những sàn nào
series.price / .price_symbol / .price_multiplier / .provisional_from——Như ở /long_short_ratio/get_coin

Lỗi

400 / 404 / 503 giống hệt /long_short_ratio/get_coin, với {"error": "open interest data unavailable"} khi 503.

Ghi chú

  • Bao phủ hợp đồng mở trên Binance, OKX, BingX, Bybit và Gate.io.
  • windows["1h"]["exchanges"] có năm mục trong khi windows["24h"] có ba là do quy tắc feed còn mới, không phải thiếu dữ liệu — hãy đọc danh sách đó trước khi so sánh các cửa sổ.
  • Lưu ý về OI 失衡 ở /oi_imbalance/get_table cũng áp dụng cho oi_total này.
  • Chỉ có bảy ngày. Để có chuỗi dài hơn dùng cho backtest, dùng /oi_imbalance/get_history (một sàn, tính bằng coin thay vì USD — cơ sở khác với oi_total).
  • Bucket của Gate.io và OKX về chậm khoảng 10 phút.

Lịch sử hợp đồng mở

GET/oi_imbalance/get_history
Dữ liệu từ
binance 2021-12-01; bybit 2025-08-21; gate 2026-03-28
Tần suất cập nhật
Bucket 5 phút

Hợp đồng mở của một coin trên một sàn, dưới dạng chuỗi thời gian có thể backtest — cùng cơ sở với thẻ 未平倉量 trên dashboard Studio. alpha là hợp đồng mở một phía tính bằng coin, không phải USD. Các hợp đồng có hệ số nhân được quy đổi lại về coin (1000PEPE trả về số lượng PEPE). Mỗi bucket là giá trị đọc cuối cùng trong kỳ của nó — hợp đồng mở là đại lượng tồn, không bao giờ được cộng dồn.

Tham số

TênMô tảGiá trị hợp lệMặc định
symbol
string · queryBắt buộc
Coin, cùng quy tắc với /oi_imbalance/get_coinBTC, BTCUSDT, btc
period
string · queryBắt buộc
Kích thước bucket. 1w trả về 400 (đơn vị không được hỗ trợ); 1m được đọc là 1min, nên trả về 400 vì thấp hơn 5min{n}min / {n}h / {n}d, tối thiểu 5min (ví dụ 5min, 1h, 4h, 1d)
start_date
string · query
Ngày đầu tiên, bao gồm cả ngày đóYYYY-MM-DD (UTC)end_date − 365 ngày
end_date
string · query
Ngày kết thúc, bao gồm cả ngày đóYYYY-MM-DD (UTC)hôm nay
oi_exchange
string · query
Đọc hợp đồng mở của sàn nàobinance, bybit, gate (không phân biệt hoa thường)binance

Cửa sổ mỗi request: tối đa 365 ngày; khoảng dài hơn sẽ âm thầm bị cắt (start_date được dời về end_date − 365 ngày, không báo lỗi), như ở /kline.

Ví dụ

Phản hồi

{"data": {"timestamp", "alpha", "close", "exchanges"}}, các mảng song song, cũ nhất → mới nhất.

TrườngKiểuĐơn vịMô tả
timestampfloat[]Giây Unix (UTC)Thời điểm bắt đầu bucket
alphafloat[]coinHợp đồng mở một phía trên oi_exchange, giá trị đọc cuối cùng của bucket
closefloat[]USDTGiá hợp đồng vĩnh cửu Binance USDT-M — tính trên mỗi đơn vị hợp đồng, tức trên mỗi 1000 coin với 1000PEPE
exchangesstring[]—Sàn thực tế được đọc, ví dụ ["binance"]

alpha × close không phải là hợp đồng mở tính bằng USD đối với hợp đồng có hệ số nhân. Ở đó close là giá trên mỗi đơn vị hợp đồng (trên mỗi 1000 coin với 1000PEPE) trong khi alpha tính theo từng coin — hãy chia close cho hệ số nhân trước. Với các hợp đồng không có hệ số nhân như BTC, alpha × close ≈ hợp đồng mở tính bằng USD.

Gate.io: luôn gửi start_date ≥ 2026-03-28 — cửa sổ mặc định (end_date − 365 ngày) bắt đầu trước lịch sử của Gate và trả về 400.

Không phải cùng một con số với /oi_imbalance/get_table / get_coin (cộng năm sàn, USD) và cũng không phải chỉ báo OI 失衡 (/oi_imbalance/get_overview_data).

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "symbol is required"} / {"error": "period is required"}Thiếu (ở đây là 400, không phải 403 như các endpoint chỉ báo)
400{"error": "period must be at least 5min, in min / h / d units"}period dưới 5min (kể cả 1m, được đọc là 1min) hoặc dùng đơn vị khác min / h / d (1w)
400{"error": "invalid date format, expected YYYY-MM-DD"}start_date / end_date sai định dạng
400{"error": "start_date must not be after end_date"}start_date > end_date
400{"error": "oi_exchange must be one of binance, bybit, gate"}oi_exchange nằm ngoài danh sách
400{"error": "no <exchange> open interest for <TOKEN> at start_date; this exchange's history may start later — try a later start_date"}Cửa sổ bắt đầu trước lịch sử của sàn đó (xem Dữ liệu từ). Không có start_date thì oi_exchange=gate luôn gặp lỗi này cho đến khi lịch sử của nó vượt 365 ngày (≈ 2027-03) — với Gate hãy luôn gửi start_date ≥ 2026-03-28
404{"error": "<TOKEN> is not a collected symbol on <exchange>"}Sàn đó không niêm yết coin, coin không có hợp đồng vĩnh cửu trên Binance, hoặc đã bị hủy niêm yết — đây là câu trả lời, không phải lỗi tạm thời
503{"error": "<exchange> open interest data unavailable for <TOKEN>"}Hiện không đọc được dữ liệu — thử lại

Ghi chú

  • Bao phủ hợp đồng mở trên Binance, Bybit và Gate.io; close là giá hợp đồng vĩnh cửu Binance USDT-M.
  • 200 kèm các mảng rỗng nghĩa là không có bucket nào trong cửa sổ đó (ví dụ coin được niêm yết sau đó) — đừng cache nó như một kết quả "không có dữ liệu" vĩnh viễn.
  • Bucket cuối cùng tiếp tục thay đổi cho đến khi kỳ của nó đóng, khi end_date là hôm nay.
  • Với lịch sử dài hơn 365 ngày, hãy gửi mỗi năm một request rồi nối lại.
  • Độ phân giải là 5 phút. Chuỗi của mỗi sàn bắt đầu từ ngày Dữ liệu từ, hoặc từ ngày coin được niêm yết trên sàn đó nếu muộn hơn. Chỉ gồm các hợp đồng đang niêm yết.

Bảng CVD

GET/taker_intensity/get_cvd_table
Dữ liệu từ
Snapshot (các cửa sổ cuốn chiếu 1 giờ / 4 giờ / 24 giờ)
Tần suất cập nhật
Khoảng mỗi 15 phút

Giá trị giao dịch mua và bán của taker (lệnh thị trường) theo từng coin, tính bằng USD, trên ba sàn: Binance lấy từ khối lượng quote taker mua của kline 5 phút (bán = tổng của nến trừ đi phần đó), OKX lấy từ khối lượng taker tính bằng USD của sàn, Gate.io lấy từ số hợp đồng taker × hệ số nhân và giá mark của cùng dòng đó. Chỉ hợp đồng vĩnh cửu — không có giao ngay — và được tổng hợp từ nến 5 phút, không phải từ từng lệnh khớp. Giá trị giao dịch do chính mỗi sàn báo cáo được sử dụng; khối lượng không bao giờ được nhân với giá mượn từ sàn khác.

Tham số

Không có.

Ví dụ

Python
data = requests.get(f"{BASE_URL}/taker_intensity/get_cvd_table", headers=headers, timeout=30).json()["data"]buying = sorted((c for c in data["coins"] if c["net_24h"] is not None), key=lambda c: -c["net_24h"])[:10]print(data["total"]["net_24h"], [(c["token"], c["net_24h"]) for c in buying])# Live capture 2026-09-22 (abridged with ...; anonymous studio twin, same inner shape):# {"coins": [{"token": "BTC", "token_id": 1, "buy_24h": 24607245298.03, "sell_24h": 23128502231.73,#             "net_1h": -212647361.27, "net_4h": -207128163.51, "net_24h": 1478743066.31,#             "by_exchange": {"binance": {"buy_24h": 12663681424.94, "sell_24h": 12135756153.44,#                                         "net_1h": -191133129.94, "net_4h": -217337267.5, "net_24h": 527925271.5},#                             "gate": {...}, "okx": {...}}}, ...],#  "exchanges": [{"key": "binance", "buy_24h": 34978603608.55, "sell_24h": 35112588381.38,#                 "net_24h": -133984772.74, "last_at": "2026-09-22T05:25:00+00:00", "stale": false}, ... 3 rows],#  "total": {"buy_24h": 63543431942.93, "sell_24h": 62491177680.21, "net_24h": 1052254262.8},#  "tokens_shown": 30, "tokens_total": 591, "full": false, "updated_at": "2026-09-22T05:25:00+00:00"}

Thời điểm bắt đầu thu thập (bucket đầu tiên được lưu, đo trên BTC ngày 2026-09-22)

Sàn giao dịchTrường nguồnThu thập từ
binancekline 5 phút (giá trị giao dịch mua của taker)2020-01-01
gatecontract_stats2026-08-12
okxtaker_volume_usd2026-09-21

OKX còn bị giới hạn thêm do sàn chỉ giữ 5 ngày, nên vẫn là full_7d: false cho đến một tuần sau ngày đó. Bảng này không mang since / full_7d (bảng không có cửa sổ 7 ngày) — hãy đọc chúng theo từng coin từ exchanges[] của /taker_intensity/get_cvd_coin, không đọc từ các ngày này.

Phản hồi

{"data": {"coins", "exchanges", "total", "tokens_shown", "tokens_total", "full", "updated_at"}}.

TrườngKiểuĐơn vịMô tả
coins[].token / .token_idstring / int—Coin
coins[].buy_24h / .sell_24hfloat / nullUSDGiá trị giao dịch mua / bán của taker trong 24 giờ cuốn chiếu, cộng trên các sàn không bị stale của coin; null khi tất cả đều stale
coins[].net_1h / .net_4h / .net_24hfloat / nullUSDbuy − sell trong từng cửa sổ cuốn chiếu (cùng quy tắc null)
coins[].by_exchangeobject—{exchange: {buy_24h, sell_24h, net_1h, net_4h, net_24h}}, mỗi sàn một key; null khi coin không được niêm yết ở đó hoặc dữ liệu của sàn đó cho coin bị stale
exchanges[]object[]—binance, okx, gate — buy_24h, sell_24h, net_24h, last_at, stale của toàn thị trường
exchanges[].stalebool—Nến cuối cùng của feed đó đã cũ hơn một giờ: các cửa sổ của nó trả về null và nó bị loại khỏi các tổng thay vì đóng góp một tổng âm thầm bao phủ ít hơn cửa sổ
totalobjectUSDbuy_24h, sell_24h, net_24h của toàn thị trường trên các sàn có dữ liệu mới
tokens_shown / tokens_total / full / updated_at——Như trong các bảng dữ liệu thô khác

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
503{"error": "cvd data unavailable"}Job không có kết quả mới — không bao giờ là số không

Ghi chú

  • Không giống với alpha taker_intensity (/taker_intensity/get_alpha), vốn là tín hiệu đã chuẩn hóa kiểu z-score với nhiều năm lịch sử. Đây là giá trị giao dịch USD thô, tại thời điểm hiện tại.
  • Các cửa sổ là cuốn chiếu và kết thúc ở nến 5 phút đã đóng gần nhất, nên net_24h không phải là một ngày theo lịch.
  • Được dựng lại bởi một job theo lịch khoảng mỗi 15 phút từ các bucket nguồn 5 phút; bucket của Gate.io và OKX về chậm khoảng 10 phút.

CVD theo coin

GET/taker_intensity/get_cvd_coin
Dữ liệu từ
7 ngày gần nhất, theo giờ + các cửa sổ cuốn chiếu
Tần suất cập nhật
Bucket 5 phút

Mua / bán / ròng của taker của một coin theo từng sàn (cùng cơ sở với bảng) cộng thêm giá trị ròng theo giờ trong 7 ngày và tổng lũy kế của nó — chính là đường CVD.

Tham số

symbol, giống hệt như ở /long_short_ratio/get_coin.

Ví dụ

Phản hồi

{"data": {"exchanges", "windows", "series", "symbol", "token_id", "updated_at"}}.

TrườngKiểuĐơn vịMô tả
windows.<1h|4h|24h|7d>objectUSD{buy, sell, net} cộng trên các sàn có dữ liệu mới
exchanges[]object[]—Danh sách đầy đủ: key, listed, windows (cùng bốn cửa sổ, theo từng sàn), since, full_7d, last_at, stale
exchanges[].full_7dbool—false = ở sàn đó coin này có dưới 7 ngày lịch sử: cửa sổ 7 ngày của nó là null và nó bị loại khỏi tổng 7 ngày và khỏi chuỗi dữ liệu. OKX chỉ giữ 5 ngày, nên là false cho đến một tuần sau khi feed bắt đầu
series.timestampint[]giây epoch168 ô theo giờ, cũ nhất → mới nhất
series.netfloat[]USDDòng taker ròng theo từng giờ đồng hồ, cộng trên series.exchanges; null với giờ không có dữ liệu. Khi series.exchanges rỗng, mọi ô là null và cvd đi ngang ở 0 — khi đó đường này không mang thông tin
series.cvdfloat[]USDTổng lũy kế của net; cvd[0] = 0 — đường này thể hiện hình dạng, không phải mức tuyệt đối
series.exchangesstring[]—Đường này cộng những sàn nào
series.price / .price_symbol / .price_multiplier / .provisional_from——Như ở /long_short_ratio/get_coin

Lỗi

400 / 404 / 503 giống hệt /long_short_ratio/get_coin, với {"error": "cvd data unavailable"} khi 503.

Ghi chú

  • Bao phủ dòng taker trên Binance, OKX và Gate.io.
  • series.exchanges ngắn hơn exchanges[] là do quy tắc full_7d — hãy so sánh chuỗi với chính nó, không so với windows["24h"], vốn tính nhiều sàn hơn.
  • cvd[0] = 0 theo đúng cách xây dựng: chỉ độ dốc và các điểm đảo chiều mới mang thông tin.
  • Bucket của Gate.io và OKX về chậm khoảng 10 phút.

Commitments of Traders của hợp đồng tương lai Bitcoin / Ether trên CME (mới nhất)

GET/cme_cot/get_latest
Dữ liệu từ
Chỉ có báo cáo mới nhất
Tần suất cập nhật
Hằng tuần, thứ Sáu 15:30 giờ miền Đông Hoa Kỳ

Dòng CFTC hằng tuần mới nhất của từng hợp đồng trong bốn hợp đồng tương lai crypto trên CME, cộng thêm tổng standard + micro tính bằng coin cho mỗi tài sản. Cùng cấu trúc với một dòng của /cme_cot/get_history, không có price.

Tham số

Không có.

Ví dụ

Python
data = requests.get(f"{BASE_URL}/cme_cot/get_latest", headers=headers, timeout=60).json()["data"]btc = next(c for c in data["contracts"] if c["key"] == "btc")# Live capture 2026-10-07 (abridged):# {"key": "btc", "name": "Bitcoin Futures (CME)", "cftc_code": "133741", "coin": "BTC", "coin_per_contract": 5,#  "latest": {"date": "2026-09-29", "open_interest": 19596, "open_interest_change": -2719,#             "tff": {"leveraged_funds": {"long": 4980, "short": 11836, "spread": 538, "net": -6856,#                                         "long_change": 235, "short_change": -862, "spread_change": -2187, "net_change": 1097},#                     "asset_manager": {"long": 5069, "short": 1483, "spread": 297, "net": 3586, ...}, ...},#             "legacy": {"non_commercial": {...}, "commercial": {...}, "nonreportable": {...}}}}# data["source_updated"] == "Fri, 02 Oct 2026 19:30:08 GMT", data["stale"] == False

Phản hồi

{"data": {"contracts": [...], "combined": [...], "report", "units", "source", "source_updated", "fetched_at", "stale"}}

TrườngMô tả
contracts[]Mỗi hợp đồng một mục: key (btc, micro_btc, eth, micro_eth), name, cftc_code, coin, coin_per_contract (5 / 0.1 / 50 / 0.1), latest (một dòng, xem get_history; null nếu hợp đồng không có dòng nào)
combined[]btc_combined, eth_combined: name, coin, components, units, micro_since, note, latest (một dòng gộp, tính bằng coin)
reportfutures_only
unitsĐơn vị của các vị thế trong contracts[].latest: hợp đồng (× coin_per_contract để ra coin)
sourceDòng ghi nguồn CFTC — hãy hiển thị kèm mọi số liệu bạn công bố
source_updatedThời điểm CFTC cập nhật bộ dữ liệu lần cuối
fetched_atThời điểm Blave lấy dữ liệu (UTC)
staletrue = không kết nối được CFTC và bản sao lưu gần nhất được phục vụ

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
503{"error": "CFTC data unavailable. Please retry shortly."}Không kết nối được CFTC và không có bản sao đã lưu

Ghi chú

  • Để lấy lịch sử, dùng /cme_cot/get_history.
  • Vị thế được chốt tại thứ Ba (thứ Hai khi thứ Ba là ngày lễ của Hoa Kỳ) và được CFTC công bố vào thứ Sáu của tuần đó lúc 15:30 giờ miền Đông Hoa Kỳ; ngày lễ liên bang rơi vào thứ Tư–thứ Sáu sẽ dời việc công bố sang ngày làm việc kế tiếp, và việc chính phủ đóng cửa làm chậm công bố nhiều tuần.
  • Cache máy chủ: 1 giờ.

Commitments of Traders của hợp đồng tương lai Bitcoin / Ether trên CME (lịch sử)

GET/cme_cot/get_history
Dữ liệu từ
2018-04-10 (btc); các hợp đồng khác muộn hơn
Tần suất cập nhật
Hằng tuần, thứ Sáu 15:30 giờ miền Đông Hoa Kỳ

Vị thế hằng tuần của một hợp đồng theo nhóm nhà giao dịch. Các dòng được ghi ngày theo ngày báo cáo — ngày chốt vị thế, thường là thứ Ba (thứ Hai khi thứ Ba là ngày lễ của Hoa Kỳ). Dữ liệu được công bố sau đó: thông thường là thứ Sáu của tuần đó lúc 15:30 ET; ngày lễ liên bang rơi vào thứ Tư–thứ Sáu sẽ dời việc công bố sang ngày làm việc kế tiếp, và việc chính phủ đóng cửa làm chậm công bố nhiều tuần (các báo cáo 2018-12-24 … 2019-02-26 được phát hành vào 2019-02-01 … 03-05; các báo cáo 2025-09-30 … 2026-01-20 vào 2025-11-19 … 2026-01-23 — CFTC Releases 7864-19 và 9138-25). Backtest không được hành động theo một dòng trước thời điểm dòng đó được công bố.

Tham số

TênMô tảGiá trị hợp lệMặc định
contract
string · query
Hợp đồng đơn lẻ tính bằng hợp đồng; *_combined = standard + micro cộng lại tính bằng coinbtc, micro_btc, eth, micro_eth, btc_combined, eth_combined (không phân biệt hoa thường)btc
start_date
string · query
Ngày báo cáo đầu tiên, bao gồm cả ngày đó. Bỏ qua = chỉ một năm gần nhất — hãy truyền một ngày sớm (ví dụ 2018-01-01) để lấy toàn bộ lịch sửYYYY-MM-DDhôm nay (UTC) − 365 ngày
end_date
string · query
Ngày báo cáo cuối cùng, bao gồm cả ngày đóYYYY-MM-DDmới nhất

Ví dụ

Phản hồi

{"data": {"contract": {...}, "rows": [...], "price_source", "report", "units", "source", "source_updated", "fetched_at", "stale"}}, các dòng cũ nhất → mới nhất.

contract: key, name, coin, và cftc_code + coin_per_contract (hợp đồng đơn lẻ) hoặc components + micro_since + note (hợp đồng gộp).

Mỗi dòng:

TrườngKiểuMô tả
datestringNgày báo cáo — thường là thứ Ba, là thứ Hai khi thứ Ba là ngày lễ của Hoa Kỳ
open_interest / open_interest_changenumberTổng hợp đồng mở và thay đổi so với tuần trước
tffobjectCác nhóm dealer, asset_manager, leveraged_funds, other_reportables, nonreportable
legacyobject | nullCác nhóm non_commercial, commercial, nonreportable; null nếu CFTC không có dòng Legacy cho tuần đó
pricefloat | nullGiá đóng cửa ngày theo UTC của BTCUSDT / ETHUSDT giao ngay trên Binance vào ngày báo cáo; null khi không có
includedstring[]Chỉ với hợp đồng gộp: dòng này cộng những hợp đồng nào (["btc"] trước micro_since)

Mỗi nhóm: long, short, spread (không có với nonreportable / commercial), net (= long − short), cùng long_change, short_change, spread_change, net_change. Đơn vị: hợp đồng với hợp đồng đơn lẻ, coin với hợp đồng gộp. Các trường *_change là số liệu thay đổi so với tuần trước của chính CFTC, không phải chênh lệch giữa các dòng — CFTC có bỏ qua một số tuần (ví dụ khi chính phủ đóng cửa), nên đừng bao giờ tự lấy hiệu giữa các dòng.

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "contract must be one of btc, micro_btc, eth, micro_eth, btc_combined, eth_combined"}Hợp đồng không xác định
400{"error": "Invalid start_date, expected YYYY-MM-DD"} (hoặc end_date) / {"error": "start_date must not be after end_date"}Ngày không hợp lệ / khoảng bị đảo ngược
503{"error": "CFTC data unavailable. Please retry shortly."}Không kết nối được CFTC và không có bản sao đã lưu

Ghi chú

  • *_combined có điểm gãy tại micro_since: vào tuần micro được thêm vào, các tổng nhảy bậc và *_change của tuần đó gồm toàn bộ vị thế đầu tiên của micro. Hãy bắt đầu backtest hợp đồng gộp sau micro_since, hoặc dùng hợp đồng đơn lẻ btc / eth.
  • Toàn bộ lịch sử BTC là ~440 dòng hằng tuần (~0.5 MB) — một request, không phân trang.
  • Giấy phép: dữ liệu CFTC thuộc phạm vi công cộng, nhưng CFTC đề nghị được ghi nhận — hãy giữ source bên cạnh mọi số liệu bạn hiển thị. Không được CFTC bảo trợ.
  • Ngày bắt đầu theo từng hợp đồng: btc 2018-04-10, micro_btc 2021-05-04, eth 2021-04-06, micro_eth 2021-12-14. Hợp đồng tương lai BTC của chính CME xuất hiện trong COT từ 2018-04-10, không phải từ lúc ra mắt vào 2017-12.
  • Cache máy chủ: 1 giờ.
  • price là giá đóng cửa ngày theo UTC của Binance giao ngay.