Metrics Oracle
The oracle that explains its confidence.
Senmurv fetches metrics from multiple independent sources, weights them by historical reliability, and uses Claude to decide the best value and confidence score — publishing both on-chain, with reasoning, every hour.
How it works
Multiple independent APIs are queried per metric. Each source contributes its own reading — no single provider controls the output.
Claude evaluates the raw readings against each source's known methodology and caveats, then decides the best value and confidence score.
Value, confidence, and AI reasoning are written on-chain via a keeper. Any smart contract reads a feed in one synchronous call.
The core idea
Disagreement between sources is itself informative.
When two providers report different numbers for the same metric, a formula can only flag the gap. Claude can reason about it — recognising whether the divergence is a known methodology difference, a stale reading, or a genuine anomaly — and set confidence accordingly.
The mechanical aggregation still runs on every cycle as a fallback. In normal operation, Claude is the aggregation logic.
Formula
Computes a reliability-weighted mean. Flags when sources diverge. Used as a fallback if the AI layer is unavailable.
Claude
Decides the final value and confidence. Understands each source's methodology. Explains its reasoning — permanently, on-chain.
Capabilities
Metrics updated on-chain hourly. Source reliability is tracked over time with EWMA — consistent outliers are down-weighted automatically.
View feedsRequest a reading on demand. Choose a model tier, pay a micropayment on Base Sepolia (ETH or USDC), and receive a fresh AI-reasoned value — private to you.
Try a pullBinary markets settled by oracle reads. Confidence-gated: settlement defers automatically if data quality falls below the market's minimum threshold.
View marketsIntegrate
One call. Any metric.
IMetricRegistry oracle = IMetricRegistry(
0xB02f7c1B4458033AbEBc82643E64A650Ed15b2b9
);
(uint256 tvl, uint16 confidence,,) =
oracle.getMetric("crypto.tvl.ethereum");
// tvl = value × 1e8
// confidence = 0–10000 basis points (9100 = 91%)Base Sepolia · Arbitrum Sepolia · Permissionless reads
Start exploring.
Live feeds, historical confidence charts, per-source breakdowns, and the pull oracle — all on the dashboard.
Open Dashboard