RWA oracles that bleed when they're wrong.
penalty when an oracle delivers incorrect pricing data
trust assumptions — reputation is fixed, not earned
no price signal for data quality — good and bad data cost the same
consumers can't distinguish reliable oracles from unreliable ones
score = α × accuracy + (1-α) × score_old — exponentially weighted, stored in basis points (0–10,000).
Miss > 2% threshold → reputation drops → query price drops → revenue falls. The oracle literally earns less for being wrong.
Pay-per-query via Casper x402. Price = BASE × reputation. Higher rep = higher price = market discipline.
A genuine Anthropic call narrates the settled timeline and independently risk-flags sources. Numbers stay deterministic (the engineered t2 miss proves the penalty path); keyless fallback built in.
3 independent sources provide price data for the RWA asset
Detect conflicts, weigh evidence, produce consensus value
Oracle posts value to Odra contract via casper-js-sdk
Ground truth revealed — was the oracle right or wrong?
Reputation score adjusts: accuracy → EWMA → new score on-chain
Query price recalculated: BASE_PRICE × reputation
| Layer | Technology |
|---|---|
| Frontend | Next.js 16 (App Router), React 19, Tailwind v4 |
| Contract | Odra (Rust) — post_value + settle entry points |
| Reputation | EWMA (α=0.3) in basis points (0–10,000) |
| AI Analyst | Claude Haiku 4.5 — schema-constrained call over the settled timeline; keyless fallback |
| Micropayments | x402 — 402 → pay → 200 flow; CSPR.cloud facilitator verify/settle in live mode |
| Signing | casper-js-sdk — PEM-key signing + TransactionV1 broadcast |
| Payment envelope | EIP-712-style typed data (simulated in demo mode; facilitator-settled live) |
| Testing | Vitest (unit) + Playwright (E2E) + CodeQL (SAST) |
Click "GET /value" → 402 challenge → pay → 200 response. Full x402 flow; live mode settles via the CSPR.cloud facilitator.
At t2: posted value 1950 vs truth 2040 (4.41% error). Watch the reputation score drop in real-time.
Interactive chart showing score over time — the visible dip at t2 proves accountability.
Dynamic pricing panel showing how query cost tracks reputation — market discipline in action.
| Casper Tool | Integration |
|---|---|
| Odra Framework | Reputation registry contract — post_value + settle |
| casper-js-sdk | Oracle agent signing + transaction broadcasting |
| x402 Facilitator | CEP-18 micropayments for pay-per-query reads |
| Casper Testnet | Live deployed package + confirmed post_value → settle lifecycle |
| CSPR.cloud | Node RPC + API access for contract queries |
| Item | Value |
|---|---|
| Verity Contract | hash-657a83911a36b3aa2204e47f39c237f15b2ed6f54cbaf6f83b0be7f1d7873c82 |
| Install TX | 66b6f13ab163abf5265c4007d7438ee178bdbea682adab1c394a6f043765dcc1 |
| post_value TX | fc10730db99724ee78bb8c55657fa29054268a61e4fb96b1e794e649cda66e0b |
| settle TX — the MISS (rep 83.2 → 58.2) | ce35dd60774149baa8564e5adc0adbedd1ec624157103666e2615beaa615be21 |
| CEP-18 Token | hash-541069ed8cad06249f76edb0972932d012badbb256111d3000df06ac1d703be6 |
| Oracle Account | 016bfd43f7d73c988702e0b1e8657687282bc578b60e9eaaabb1f3aa95ff9a7338 |
| Feature | Standard Oracles | Verity |
|---|---|---|
| Accuracy penalty | None | EWMA score drops visibly |
| Data pricing | Fixed subscription | Dynamic: price = f(reputation) |
| Trust model | Static, assumed | Earned, on-chain, auditable |
| Monetization | Monthly SaaS | x402 micropayments per query |
| Transparency | Opaque aggregation | Full reasoning log + sources |
EWMA scoring, x402 pay-to-read, engineered miss demo
5+ independent data sources with weighted confidence scoring
Production CEP-18 token, real x402 facilitator integration
Multiple oracles competing on reputation — market-driven data quality
Launch plan: MIT open-source · live at verity.edycu.dev · public demo video · follow the launch on X: @VouchOnCasper.
→ 60+ hackathon projects shipped
→ Full-stack: Rust contracts + Next.js dashboards + AI agents
→ Built the entire Vouch suite (3 projects) for this buildathon
Verity — RWA oracles that bleed when they're wrong.