AI Adversarial Fact Verification
Three AI models argue, one truth emerges
Created on 5th September 2026
โข
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
Technologies used
