Skip to content
AI Adversarial Fact Verification

AI Adversarial Fact Verification

Three AI models argue, one truth emerges

Created on 5th September 2026

โ€ข

AI Adversarial Fact Verification

AI Adversarial Fact Verification

Three AI models argue, one truth emerges

The problem AI Adversarial Fact Verification solves

GONKA AI Fact Checker

Verify claims. See the evidence. Prove the result.

GONKA AI Fact Checker is a decentralized AI-powered fact-checking application.

It helps you verify whether a claim or article is true, false, misleading, or unverified.

Instead of relying on a single AI model, the system uses three different AI agents to debate the claim.

๐Ÿ” How It Works

1. Submit a Claim

Enter either:

  • A text claim
  • A public HTTPS article URL

If you submit an article, the system extracts the readable article content automatically.

2. Gather Evidence

The system analyzes the claim and can search for additional real-time sources.

Article content, search results, and model-provided references are collected as supporting evidence.

3. AI Debate

Three AI agents independently play different roles:

  • Pro Agent โ€” Kimi: looks for evidence supporting the claim.
  • Con Agent โ€” DeepSeek: looks for evidence against the claim.
  • Judge Agent โ€” MiniMax: compares both sides and makes the final decision.

4. Gonka Verification

All AI model requests are routed through the Gonka Router.

Each successful request produces a unique Gonka Request ID, allowing the AI inference process to be traced and verified.

5. Final Verdict

The system combines the three-agent results into a final verdict:

TRUE ยท FALSE ยท MISLEADING ยท UNVERIFIED

It also generates a Truth Score from 0โ€“100 and a confidence score.

6. Understand the Result

The result includes:

  • Final conclusion
  • Truth Score
  • Confidence
  • Pro / Con / Judge summaries
  • Evidence and references
  • Reasoning metrics
  • Risk warnings
  • Model request IDs

Metrics include factual accuracy, source quality, logical consistency, neutrality, temporal consistency, and model consensus.

โ›“๏ธ On-Chain Proof

Once a verification is eligible, the result can be permanently attested on Arbitrum Sepolia.

The system creates a cryptographic hash of the claim and prepares the verification evidence for IPFS.

You can connect an EVM wallet such as MetaMask and submit the result to the TruthRegistry smart contract.

The on-chain record stores the claim hash, Truth Score, verdict, Gonka Request IDs, IPFS metadata, attester, and timestamp.

After the transaction is confirmed, anyone can verify the attestation from the blockchain.

๐Ÿ“Š Live Dashboard

The application can also display recent on-chain fact-checking attestations directly from the TruthRegistry contract.

This makes verified results transparent and publicly traceable.

๐Ÿ’ก Why It Matters

GONKA AI Fact Checker combines:

Multi-Agent AI Debate

  • Gonka Inference Proof
  • Evidence & Reasoning
  • IPFS Storage
  • Blockchain Attestation

The goal is simple:

Don't just tell people what is true. Show them why โ€” and let them verify the proof.

Challenges we ran into

The trickiest bug we hit wasn't in the AI logic โ€” it was a silent data-integrity bug in our on-chain attestation pipeline. Two files responsible for hashing the same claim text had quietly drifted apart: our production endpoint was hashing with SHA-256, while another module used Keccak-256 โ€” the algorithm Solidity actually uses under the hood. Both ran without errors, so nothing failed loudly. We only caught it by inspecting an attestation certificate directly and noticing the "Claim Hash" field rendering two different values side by side, meaning the hash we were verifying and the hash actually stored on-chain weren't the same thing.

Digging further, we found the root cause: the project had two parallel backend implementations, and one had been edited without the other keeping up. The drift wasn't limited to hashing either โ€” the contract was deployed on Arbitrum Sepolia, but leftover strings elsewhere still referenced a different chain, and even a different attestation protocol we'd already decided not to use.

We fixed it by establishing a single source of truth instead of patching each occurrence individually: one shared hashing function matching Solidity's Keccak-256, one shared chain-config constant imported everywhere rather than hardcoded per file, and deprecating the unused backend entirely so future edits can't silently diverge again. It was a good reminder that in a system whose whole pitch is verifiable, tamper-evident data, an internal inconsistency is just as damaging as a wrong AI answer โ€” so we now treat "does this value match everywhere it's displayed" as its own test case, not just something to eyeball.

Tracks Applied (1)

AI For Society

Gonka Router

Discussion

Builders also viewed

See more projects on Devfolio