Axiom Stack

Request an attestation

A fresh attestation has Themra fetch current data, write a Master-Broker-signed record to a Solana account (PDA), and return it. This is the one operation that consumes quota (one attestation per call) and is authenticated-tier.

When to use which tool

  • axiom_request_attestation — you want current data; Themra fetches + writes a fresh on-chain record. Consumes quota.
  • axiom_fetch_attestation — you already know a PDA and just want to read the existing record. Free, anonymous.
  • axiom_quote_fee — check the current SOL fee floor before requesting (optional; the request auto-quotes if you omit fee_lamports). Free, anonymous.

What you can request (V1)

asset_classAssetStatusasset_id example
2EquityLive — instant + audit (real-time equity feed)ticker, e.g. "TSLA", "NVDA"
6CryptoLive (instant tier only) — real-time crypto feed; audit tier next releasesymbol, whitelist BTC, ETH, SOL, USDC, USDT
1Real estateTemporarily unavailable — in repair, returning next releaseproperty address string

Other asset classes are accepted by the on-chain program but not wired to the live request path in V1 — see Roadmap.

The roundtrip

  1. You call the tool (quota checked + consumed atomically).
  2. Themra submits the on-chain request (operator wallet pays the SOL fee).
  3. The listener observes it, fetches the data from the provider.
  4. The Master Broker signs and writes the attestation to the PDA.
  5. The tool polls the PDA and returns the decoded record.

Latency tiers

Pass latency_mode to choose your speed/proof trade-off (default audit):

  • audit (default) — synchronous, fully on-chain. ~20 seconds typical end-to-end (request → listener → provider fetch → on-chain write → confirmation). This is the number you'll measure; the often-cited ~400 ms is Solana transaction finality, not the full roundtrip. Default poll timeout 90 s.
  • instant (equity + crypto) — data + a provisional proof in under 2 seconds (sourced from a real-time feed; equity has a redundant backup). The audit record is committed on-chain asynchronously, typically within ~30 seconds — poll attestation_pda until status flips from audit_pending to confirmed. Quota is charged on data delivery (the instant promise is fast data); a failed async commit does not double-charge.

Tier availability per class: equity supports both audit and instant; crypto is instant-only in V1 (the crypto audit tier ships next release). Requesting audit for crypto is served as instant. Real estate returns when its request path is repaired.

Data sources. Equity: an institutional-grade real-time feed (real-time on paid tiers; ~15-minute-delayed on the free/dev tier) with a redundant backup feed on primary-feed unavailability — single-source per call with fallback; multi-source reconciliation is on the roadmap. Real estate: an institutional real-estate data feed (~80% address hit rate; coverage varies by US property). The raw_snapshot_hash references the full provider response payload, preserved off-chain for forensic verification — audit firms requiring source-of-truth lineage can request the raw snapshot via the support channel. Both the instant (MCP-written) and audit (listener-written) paths target the same on-chain attestation — a two-writer model (fast vs. audit), so the provisional proof matches the eventual audit record.

Reliability SLA. We target a >99% on-chain commit success rate; a tier upgrade is refundable if commit reliability drops below 99% in any rolling 30-day window.

What comes back

The key fields (full schema in the MCP tools reference):

  • attestation_pda + write_tx_sig — for independent on-chain verification.
  • attestations[].provider_pubkey — should equal the Master Broker.
  • raw_snapshot_hash / latest_snapshot_hash — SHA-256 of the raw vendor JSON, the authoritative integrity anchor (hash-only model).
  • fee_lamports_paid — the SOL fee the operator paid server-side.

Failure & quota

  • 402 → quota exhausted; top up and retry.
  • A request that's admitted but then fails (timeout / provider error / on-chain reject) auto-credits your quota back — you're not charged for incomplete attestations.

See Error handling for the full taxonomy + retry guidance.