TickVault
Quickstart

TickVault API Docs

REST + WebSocket + Python SDK.

1. Get an API key

Sign up at /pricing (Free tier available). Your key shows up in the dashboard.

2. REST: query historical ticks

curl -H "Authorization: Bearer $TICKVAULT_KEY" \
  "https://tickvault.eliteaiempire.com/v1/ticks?universe=polymarket&market=us-election-2028&from=2026-04-01&to=2026-04-07"
# Returns Parquet stream by default, JSON with ?format=json

3. WebSocket: stream tick-perfect replay

import websockets, json
async with websockets.connect(
    "wss://tickvault.eliteaiempire.com/v1/replay",
    extra_headers={"Authorization": f"Bearer {KEY}"}
) as ws:
    await ws.send(json.dumps({
        "universe": "kalshi",
        "markets": ["MACRO-CPI-MAY-26"],
        "replay_lag_sec": 300,  # T2 tier
        "speed": 1.0
    }))
    async for msg in ws:
        tick = json.loads(msg)
        # tick is bit-identical to live, just lagged by replay_lag_sec

4. Python SDK

pip install tickvault
from tickvault import TickVault
tv = TickVault(api_key="...")

# Historical
df = tv.ticks(universe="polymarket", market="us-election-2028",
              from_="2026-04-01", to="2026-04-07")  # pandas DataFrame

# Replay
for tick in tv.replay(universe="kalshi", markets=["MACRO-CPI-MAY-26"],
                      lag_sec=300):
    strategy.on_tick(tick)

# Walk-forward backtest
result = tv.backtest(strategy=my_strategy,
                     universe="polymarket",
                     from_="2026-01-01", to="2026-04-01",
                     splits=5, oos_pct=0.2)
print(result.deflated_sharpe, result.psr)

Tier max-lag (replay)

TierMax replay lagAvailable on
T130 secTeam + Enterprise
T2120 secPro + Team + Enterprise
T3300 secPro + Team + Enterprise
T4900 secAll tiers (incl. Free)
T53600 secAll tiers
T6UnboundedAll tiers

Authentication & rate limits