AymarData
Binance USDⓈ-M perpsHistory from 2025-06-01JCTUSDT

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

JCTUSDT perp events/day: 30-day series, average 1,229 events/day, low 934, high 3,426.
low 934avg 1,229high 3,426

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.

FieldTypeDescription
ts_msint64Exchange event time, Unix milliseconds
symbolstringUSDⓈ-M perpetual symbol, here JCTUSDT
event_typestringtrade | depth_update | mark_price
sidestringbuy / sell for trades; bid / ask for depth; null on mark_price
pricenumberTrade price, book level or mark price in USDT
sizenumberContract quantity; null on mark_price
funding_ratenumber | nullCurrent funding rate on mark_price events, else null

Sample rows

ts_mssymbolevent_typesidepricesizefunding_rate
1792684798618JCTUSDTtradesell0.0056991132250null
1792684798844JCTUSDTdepth_updateask0.005701360820null
1792684799695JCTUSDTmark_pricenull0.005698null0.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.