Daily statistical payload for agents and notebooks
After each market close, PairSync publishes a versioned blob of its nightly run — ranked pairs, diagnostics, composite scores, calibrated parameters, backtest-tracked state — over REST and MCP. Same $49.99/mo subscription. No separate price.
Research data for your own stack. PairSync does not place trades.
What's in the payload
Every field from the locked refit-1.0 schema — versioned, immutable blobs with a verifiable content_hash.
- schema_version · market — Locked schema version (refit-1.0) and market code.
- refit_date · refit_timestamp_utc — Market-local close date the run scored, and when it published (UTC).
- universe_size · pairs_tested · pairs_eligible — Scan funnel for the run — universe, tested, eligible.
- content_hash — Integrity hash — sha256 over the canonical JSON with the hash key removed.
- leg_a · leg_b — The two legs of the pair.
- pair_rank · pair_score — Percentile rank within the market's eligible pool (1.0 = top) and 7-factor composite score.
- adf_p — Engle-Granger ADF p-value from the cointegration test.
- hurst — Hurst exponent of the spread.
- half_life_days — Estimated mean-reversion half-life, in days.
- hedge_ratio · portfolio_beta — Legacy with-constant OLS coefficient, and the cointegration-vector beta the spread parameters are calibrated on — not interchangeable.
- spread_mean · spread_vol — Spread parameters frozen at fit.
- entry_z · exit_z · stop_z — Entry and stop are absolute distances in z-units; exit is travel from the entry threshold toward the mean, not a signed level.
- z_at_fit · fitted_at — Z-score at fit time, and the timestamp the pair's parameters were frozen.
- state — Backtest-tracked spread position at fit (open/closed).
- backtest_win_rate · n_trades — In-sample fit-window backtest summary — not a forward-looking measure.
- backtest_total_return · backtest_sharpe · backtest_max_drawdown — In-sample fit-window backtest aggregates (fractions) — descriptions of the fit, never expected future performance.
- avg_return_per_trade · avg_hold_days — Average return per closed backtest trade (fraction) and average holding period in days.
Publication cadence
Published once per market, after that market's close (exchange calendar). No intraday or realtime quotes. Numeric fields are null where the solver did not solve — absences are honest, never masked.
Add PairSync to Claude, Cursor, or your agent framework
Streamable HTTP MCP server at https://mcp.pair-sync.com/ (X-Api-Key header, 60 tool-calls/hour) — add one config block to any MCP-over-HTTP client and your agent can pull the nightly refit statistics directly.
Tools: list_pairs · get_pair · get_latest_refit_metadata.
- "Which US pairs rank highest on last night's composite, and what are their half-lives?"
- "Show me the frozen spread parameters for the top-ranked ASX pair."
- "Which watched pairs changed state after yesterday's close?"
Working with the payload
- Authenticate — Mint a key at Terminal → Settings → API Access (psk_live_…, shown once). Send it in the X-Api-Key header. Keys follow your subscription.
- Pull once per market per day — GET /v1/refit/latest?market=US after that market's publish. Cache the ETag and send If-None-Match — a 304 means nothing new. The catalog endpoint lists the retained 90 days.
- Verify integrity — Recompute content_hash: sha256 of the canonical JSON (UTF-8, sorted keys, compact separators) with the content_hash key removed.
- Handle nulls and staleness — Numeric fields are null where the solver did not solve; check refit_date age before using a blob.
- Get push on publish — Register one HTTPS webhook in the Terminal — each market's nightly publish sends a Standard Webhooks-signed refit.published event.
- Read the methodology — A full methodology document — how every field is produced — is included with your subscription: readable on the Terminal API page, fetchable at GET /v1/methodology.
Frequently asked questions
Is the API extra?
No. The REST and MCP payload is included in the $49.99/mo subscription — no separate price or tier.
When does the data arrive?
Once per market, after that market's close, following its exchange calendar. There is no intraday or realtime feed.
Does it include realtime quotes?
No. The payload is a snapshot of the nightly statistical run — ranked pairs, diagnostics, calibrated parameters, and backtest-tracked state.
Can my agent trade with it?
PairSync publishes research data and does not execute trades. Usage terms are set out in the Terms of Use.
What are the rate limits and data retention?
60 requests/hour per key on REST and 60 tool-calls/hour on MCP. Dated history is retained for 90 days — the catalog endpoint lists exactly what exists.
How does authentication work?
With the API key from your Terminal account (Settings → API Access), sent in the X-Api-Key header. Keys follow your subscription — no separate signup.
Can I get a push when a refit publishes?
Yes. Register one HTTPS endpoint in the Terminal and each market's nightly publish sends a signed refit.published event (Standard Webhooks spec) carrying the refit_date, content_hash, and blob URL.
How are the statistics produced?
A full methodology document — how every field is produced — is included with your subscription. Read it on the Terminal API page, or fetch it as Markdown at GET /v1/methodology with your key.