FOR THE PEOPLE WHO BUILD

Context belongs in your research stack.

Explore the engine’s internal research interfaces and the direction for a future public API. Preserved evidence and explicit availability are central to the design.

Public API: planned. There are no public API keys, service-level commitments, webhooks, or commercial data entitlements yet. The examples on this page do not call the engine.

A contract that can say
“not available.”

Missing evidence must survive the trip from data source to interface. Null values represent unavailable qualification; they are never silently converted into zeros.

The example is a proposed public presentation contract. It is not the existing engine response shape.

Register developer interest →
PROPOSED · GET /v1/markets/BTC-USD/regime
{
  "symbol": "BTC-USD",
  "mode": "illustrative_proposed_contract",
  "regime": "TransitionUncertain",
  "fmsi": null,
  "persistence": null,
  "liquidity": null,
  "riskScore": null,
  "opportunityScore": null,
  "analyticalUseAllowed": false,
  "recommendationsEnabled": false,
  "timestamp": "sample"
}
September 17, 2026: Phase 8 internal workflows. Shadow monitoring, paper portfolios, daily research, frozen forecast populations and nested cost/reliability calibration now have retained local contracts. The dashboard and scheduled reporting phases are accepted. Qualification has not started, and these capabilities do not launch the proposed public API or enable live execution.

Implemented local engine routes, protected by its origin, loopback and configuration guards. These are documentation, not endpoints hosted by this website.

GET/api/shadow/status

Read monitoring history and the separate qualification state. Current qualification is NotStarted; monitoring is not qualification credit.

GET/api/shadow/paper/{id}

Read an immutable paper portfolio version and its retained source bindings. Simulated balances are separate from owner accounting.

GET/api/shadow/research

Read saved daily research captures with exact known-at cutoffs, observed features and unavailable conditions.

GET/api/shadow/forecasts/{id}

Read a frozen forecast population with discovery coverage, exclusions and actual freeze time.

POST/api/shadow/forecasts

Freeze server-resolved evidence using id, researchId and instrumentId. Caller-supplied prices, fits and historical freeze times are not accepted.

POST/api/shadow/cost-populations

Register explicit account, notional and friction assumptions against a forecast and matching saved fee assumption. Registration uses actual server time.

GET/api/shadow/calibrations/{id}

Read retained calibration evidence or explicit blockers. Missing or noncausal inputs do not become calibrated probabilities.

Stable request IDs preserve exact retries, including after restart; conflicting content is rejected. Histories retain cutoff-based paging. Cost registration cannot be backdated to make historical training signals appear priced. Scheduled collectors read saved sources rather than refreshing feeds.

Implemented in the source application. Paths are documentation, not hosted marketing-site endpoints.

GET/api/features/regimes/fits/{productId}

Preview a fit with trainingEndsAt and knownAt cutoffs.

POST/api/features/regimes/fits

Save productId, trainingEndsAt, knownAt, and expectedRunId.

GET/api/features/regimes/evaluate/{fitId}

Evaluate a saved fit using startsAt, decisionDays (1–30), and knownAt.

POST/api/features/regimes/runs

Save fitId, startsAt, decisionDays, knownAt, and expectedRunId.

GET/api/features/fmh/{productId}

Preview experimental FMH diagnostics for 256, 512, or 1,024 returns.

GET/api/features/runs/{id}

Read a retained feature record at a registry knowledge cutoff.

01

Explicit temporal context

Input knowledge, training completion, and registry visibility are distinct. A historical date evaluated with today’s knowledge is retrospective research.

02

Preserved numerical meaning

Source financial decimals and many derived quantities are strings in engine JSON. Clients must preserve these contracts; there is no generic float coercion.

03

Bounded, verifiable requests

Regime saves reject client-supplied results and unknown fields. Changed previews return 409; inconsistent evidence can return 422.

Future API families: market catalogs, regime history, rankings, risk summaries, and portfolio analytics. Webhooks, batch exports, licensing, authentication, pagination, and quotas require separate published contracts before launch.
SEE THE MARKET IN CONTEXT

A better starting point
for your market research.

Help shape the next generation of multi-horizon intelligence.

Get early access No payment required. Access timing is not yet announced.