Binance JCTUSDT perpetual: historical order book, tick trades & funding
629K trade, depth, mark-price and funding events for the JCTUSDT perpetual since 2025-06-01 — about 1,229 events a day.
Coverage
JCTUSDT perp data coverage
What is recorded, how often it updates and how much there is.
History start
2025-06-01
512 days of history
Events recorded
629,000
≈ 629K as of 2026-10-25
Avg events / day
1,229
trade · depth update · mark price · funding
Update frequency
Every trade tick-by-tick; depth diffs at 100 ms; mark price and funding as published
Daily activity · last 30 days
Indicative daily event volume, last 30 days to 2026-10-25. Shape modeled from collector stats; mean matches the average events/day above.
About this market
What is JCTUSDT perp?
The JCTUSDT perp is a newer, smaller listing with sparse depth; funding can stay far from zero for days because few arbitrageurs are active. AymarData holds 629K events for it since 2025-06-01: trades, order-book updates at 100 ms, mark price and funding.
JCT is a small-cap listing that trades in bursts around exchange announcements. On the derivatives side, JCT perp is moved by listing-driven attention that fades quickly, and by funding-rate swings caused by one-sided positioning. Because it is leveraged, those same drivers also show up as funding-rate shifts and liquidation-driven bursts that don't appear on spot.
At roughly 1,229 events a day, JCTUSDT perp is a thin perpetual. The tape is bursty and the book is shallow, so it suits studies of market impact, funding persistence on new listings and how quickly makers re-quote after a sweep.
What moves the JCTUSDT perp
- Listing-driven attention that fades quickly
- Funding-rate swings caused by one-sided positioning
- Thin depth, where a single sweep can move the mark price
Schema
JCTUSDT perp fields and sample rows
The same columns are returned by the API and in Parquet and CSV files.
| Field | Type | Description |
|---|---|---|
| ts_ms | int64 | Exchange event time, Unix milliseconds |
| symbol | string | USDⓈ-M perpetual symbol, here JCTUSDT |
| event_type | string | trade | depth_update | mark_price |
| side | string | buy / sell for trades; bid / ask for depth; null on mark_price |
| price | number | Trade price, book level or mark price in USDT |
| size | number | Contract quantity; null on mark_price |
| funding_rate | number | null | Current funding rate on mark_price events, else null |
Sample rows
| ts_ms | symbol | event_type | side | price | size | funding_rate |
|---|---|---|---|---|---|---|
| 1792684798618 | JCTUSDT | trade | sell | 0.005699 | 1132250 | null |
| 1792684798844 | JCTUSDT | depth_update | ask | 0.005701 | 360820 | null |
| 1792684799695 | JCTUSDT | mark_price | null | 0.005698 | null | 0.00010085 |
Illustrative rows for the JCTUSDT perpetual; prices are in USDT and shown for schema purposes, not as live quotes. Funding appears on mark_price events.
Code
Pull JCTUSDT perp in Python, cURL or MCP
Market id: JCTUSDT. Export AYMARDATA_API_KEY from your dashboard, then run the Python requests example.
import os
import requests
API = "https://api.aymardata.com/v1"
KEY = os.environ["AYMARDATA_API_KEY"] # export AYMARDATA_API_KEY=ad_live_…
H = {"Authorization": f"Bearer {KEY}", "User-Agent": "aymardata-docs/1.0"}
# JCTUSDT perp: ten minutes around the 16:00 UTC funding window
trades = requests.get(
f"{API}/trades",
headers=H,
params={
"source": "binance-perps",
"market": "JCTUSDT",
"start": "2026-10-22T15:55:00Z",
"end": "2026-10-22T16:05:00Z",
"limit": 500,
},
timeout=30,
).json()["data"]
marks = [t for t in trades if t["event_type"] == "mark_price"]
print(marks[0]["price"], marks[0]["funding_rate"])
book = requests.get(
f"{API}/book",
headers=H,
params={
"source": "binance-perps",
"market": "JCTUSDT",
"at": "2026-10-22T16:00:00Z",
"depth": 10,
},
timeout=30,
).json()
print(book.get("spread"), len(trades))FAQ
JCTUSDT perp: common questions
Why is the JCTUSDT perp perp tape so bursty?
JCTUSDT perp is a thin contract (~1,229 events a day), so trades cluster around announcements and funding times and long stretches are quiet. Treat inter-event gaps as information rather than missing data.
How are funding and mark price stored for the JCTUSDT perpetual?
They are separate events (event_type=mark_price) in the same time-ordered stream as trades and depth. The funding_rate field carries the current funding rate; it is null on other event types, so you can filter funding with a single predicate.
What moves the JCTUSDT perpetual?
Listing-driven attention that fades quickly, and funding-rate swings caused by one-sided positioning. The JCTUSDT perp is a newer, smaller listing with sparse depth; funding can stay far from zero for days because few arbitrageurs are active.
How much JCTUSDT perp history is available?
629K events since 2025-06-01, averaging 1,229 per day, each stamped with Binance's exchange timestamp in milliseconds.
Is there a JCT spot pair to compare with this perpetual?
JCT is not in our top-20 Binance spot list, so the perp is the main Binance feed for this instrument.
Backtest JCTUSDT perp with real tick data
Get an API key, pull your first window and join it with the other sources in the catalog.