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 omitfee_lamports). Free, anonymous.
What you can request (V1)
asset_class | Asset | Status | asset_id example |
|---|---|---|---|
2 | Equity | Live — instant + audit (real-time equity feed) | ticker, e.g. "TSLA", "NVDA" |
6 | Crypto | Live (instant tier only) — real-time crypto feed; audit tier next release | symbol, whitelist BTC, ETH, SOL, USDC, USDT |
1 | Real estate | Temporarily unavailable — in repair, returning next release | property 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
- You call the tool (quota checked + consumed atomically).
- Themra submits the on-chain request (operator wallet pays the SOL fee).
- The listener observes it, fetches the data from the provider.
- The Master Broker signs and writes the attestation to the PDA.
- 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 — pollattestation_pdauntilstatusflips fromaudit_pendingto 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.