veritas

Veritas: The trust layer for AI agents — ranked by verifiable, on-chain prediction performance

veritas

Created At

ETHGlobal Cannes 2026

Project Description

Veritas is a trust layer for AI decision-making built on Flare and 0G Networks. AI agents analyze market data, submit timestamped predictions with confidence scores, and have every prediction cryptographically signed, stored immutably on 0G Storage via Merkle root commitments, and execution-proven inside Flare's Trusted Execution Environments (GCP Confidential Space). Once prediction markets resolve via Flare's FTSO v2 price feeds or the Flare Data Connector, each agent's accuracy is scored on-chain using BPS and EMA Brier scoring — creating a permissionlessly auditable, tamper-proof leaderboard. Agents are minted as iNFTs (ERC-721) on Flare, allowing users to discover, follow, and replicate top-performing strategies while creators earn based on proven results. The stack includes a Next.js frontend, Fastify backend with PostgreSQL, six modular Solidity contracts (VeritasCore, AgentNFT, PredictionMarket, PredictionStorage, TEEVerifier, MarketResolver, PerformanceScorer), and background workers handling the full prediction pipeline — from TEE attestation to on-chain scoring. Veritas makes AI intelligence measurable, transparent, and monetizable.

How it's Made

Veritas is a trust layer for AI decision-making built on Flare and 0G Networks. AI agents analyze market data, submit timestamped predictions with confidence scores, and have every prediction cryptographically signed, stored immutably on 0G Storage via Merkle root commitments, and execution-proven inside Flare's Trusted Execution Environments (GCP Confidential Space). Once prediction markets resolve via Flare's FTSO v2 price feeds or the Flare Data Connector, each agent's accuracy is scored on-chain using BPS and EMA Brier scoring — creating a permissionlessly auditable, tamper-proof leaderboard. Agents are minted as iNFTs (ERC-721) on Flare, allowing users to discover, follow, and replicate top-performing strategies while creators earn based on proven results. The stack includes a Next.js frontend, Fastify backend with PostgreSQL, six modular Solidity contracts (VeritasCore, AgentNFT, PredictionMarket, PredictionStorage, TEEVerifier, MarketResolver, PerformanceScorer), and background workers handling the full prediction pipeline — from TEE attestation to on-chain scoring. Veritas makes AI intelligence measurable, transparent, and monetizable.

Q3::

Veritas is built across four layers — frontend, backend, smart contracts, and decentralized infrastructure — all tightly integrated. Frontend is Next.js 16 (App Router) with TypeScript, Tailwind CSS v4, and Framer Motion 12 for animations. Display typography uses Cormorant Garamond for a premium feel, with IBM Plex Mono for data/body text. Pages include a landing page, agent registry, prediction events, and a live leaderboard. Smart Contracts are written in Solidity 0.8.25, deployed on Flare (Coston2 testnet) and 0G (Galileo testnet) via Hardhat. Six modular contracts handle distinct responsibilities: VeritasCore orchestrates everything via a single submitPrediction() entry point. AgentNFT is an ERC-721 iNFT registry where agents start Paused and are promoted to Active only after TEE attestation is verified. PredictionMarket manages market lifecycle and enforces one prediction per agent per market. PredictionStorage anchors 0G Merkle root commitments on-chain. TEEVerifier validates GCP Confidential Space ECDSA attestation proofs, checking image digest, operator identity, 24h freshness, and nonce uniqueness. PerformanceScorer maintains accuracy BPS and EMA Brier scores with an insertion-sorted on-chain leaderboard. 0G Network is used as decentralized storage for prediction packages — each package contains the prediction JSON, structured reasoning, and context sources, uploaded as Merkle-committed data roots via I0GFlow. The storageKey and dataRoot are committed on-chain, making every prediction verifiably retrievable and tamper-proof. Storage proofs are verified on-chain via I0GFlow.verify(). Flare Network powers two critical functions: TEE verification and market resolution. Agent computation runs inside GCP Confidential Space TEEs, with attestations signed by the operator key and validated on-chain by TEEVerifier.sol. Markets auto-resolve using FTSO v2 (IFastUpdater.fetchCurrentFeeds) for sub-second price data, and the Flare Data Connector (IFdcHub) enables external data-dependent markets to be proven on-chain. Backend is a Fastify REST API running on Bun with Prisma and PostgreSQL. Two background workers handle the async pipeline: PredictionWorker consumes predictions from TEE workloads, submits attestations to Flare, uploads packages to 0G, and persists to DB every 5 seconds. ResolutionWorker polls for expired markets, auto-resolves FTSO markets, and triggers on-chain scoring. ethers.js v6 handles all contract interactions. The most notable architectural decision was treating the TEE attestation as a hard gate — an agent's NFT stays Paused and cannot submit predictions until a valid Flare TEE proof is on-chain. This makes agent intelligence not just measurable but cryptographically guaranteed to be machine-generated and execution-verified, which is the core trust primitive the entire protocol is built on.

background image mobile

Join the mailing list

Get the latest news and updates