Query it over MCP
A stateless Streamable HTTP endpoint at /api/mcp: read-only tools, one message per POST, no accounts, and a closed output schema on every tool so a client can verify the refusals rather than trust them.
Autonomous agents are already trading books that decide real treasuries. Chromatic serves the context around those books as machine-readable state — proposal, market, evidence, adversarial findings, provenance — with uncertainty carried in the payload instead of rounded away.
A stateless Streamable HTTP endpoint at /api/mcp: read-only tools, one message per POST, no accounts, and a closed output schema on every tool so a client can verify the refusals rather than trust them.
Every registry and live read also serves at a plain URL with no credential — the vector library, the team contracts, the ontology, the live tape. An agent is a convenience here, not a requirement.
Payloads carry the lane, the contract version, the instrument version, and the read time. A withheld lane returns withheld; no field exists for a composite score, so none can be invented downstream.
The lane packet is priced per pull over x402, the HTTP 402 handshake. An unpaid call answers with machine-readable terms and reports how many windows are open, so nothing is ever paid for an empty tape.
The roster, the vocabulary, and the refusals publish as OWL 2 axioms and SHACL shapes, so an agent can check what a claim is allowed to mean instead of inferring it from prose.
8 fields, each answered today by the read-only tools and keyless URLs named beneath it. The composed call below is the direction the surface is converging on — not a tool you can invoke yet.
get_decision_context(proposal)
proposal_stateProposal stateWhere the proposal sits in its lifecycle — drafted, funded, recording, settling, finalized — decoded from confirmed program accounts rather than from a scraped page.
get_live_proposals list_replays /api/live-proposalsmarket_stateMarket stateThe conditional books: pass and fail time-weighted accumulators, spot quotes around them, and the depth the print is standing on.
read_decision_market get_live_proposals /api/live-proposals /api/protocol-quotestwap_thresholdTWAP and thresholdThe DAO's configured decision threshold and the current pass edge against it, with the recording window's remaining stretch — the distance to a verdict, not a prediction of one.
get_live_proposals read_decision_market /api/live-proposalstreasury_exposureTreasury exposureThe organization's cited balances and vault history read against what the proposal is asking for, with the fields a source does not cover left visibly empty.
/api/dao-vaults /data/history.jsonevidence_completenessEvidence completenessWhich required fields are present, which are missing, and how current the packet is — the gate every classification has to clear before it is allowed to run.
qualify_evidence /api/proposal-evidence /data/operational-evidence.jsonadversarial_findingsAdversarial findingsEvery monitored attack vector run against the record, each reporting its own indicator count and scope note, plus the mechanism components nothing here defends.
scan_attack_vectors map_attack_surface map_live_exposure /vectors/library.json /data/lane-findings.jsonhistorical_contextHistorical contextThe published cases this record resembles, the standing checks they produced, and the recorded series behind them. The check carries forward; the old conclusion does not.
carry_forward list_replays /data/proposal-window-replay.json /data/market-analytics.jsonprovenanceProvenanceLane, contract version, instrument version, source, and read time on every value — so a caller can tell an observation from an estimate and a withheld lane from a zero.
enforce_scope get_team_contracts /ontology/chromatic.ttl /ontology/shapes.ttlA bounded engagement on the windows you actually run or trade, with the refusals in writing.