Anxin: two AI models, and what to do when only one answers

Team Tenners' entry for the MUBA Blockchain Hackathon, a bilingual scam checker on Gonka's decentralised inference network. It made the top 21 of its track.

On this page
  1. The problem
  2. What Gonka is
  3. Two models, never shown each other's answer
  4. Scam risk is checked first
  5. The hard part: refusing a silent substitute
  6. Receipts, not "trust us"
  7. Built to be checked
  8. What I took away

For the MUBA Blockchain Hackathon 2026 I led a team called Tenners. We looked at all three sponsor tracks before committing, and picked Gonka Router's AI for Society track. Our project, Anxin (安心), made the top 21 of that track. It's live at anxin-protect.com.

安心 (ān xīn) means "peace of mind".

The problem

Scams and misleading claims spread fastest through channels people already trust: forwarded messages, screenshots, family group chats. The people most exposed, especially older adults and people who aren't comfortable in English, are also the least likely to get a clear explanation of why something is a scam.

Anxin lets you paste a message or a link, or upload a screenshot, and returns a report in English and Simplified Chinese with:

  • a Truth Score from 0 to 100: how well the evidence supports the claim;
  • a separate fraud-risk level: how much the message looks like a scam;
  • a confidence figure that's honest about how much the models agreed;
  • the evidence used, with links and timestamps;
  • and, for every AI call, which model answered and a link to a public receipt from the Gonka network.

The Truth Score and fraud risk are deliberately separate. A phishing text ("your account is suspended, verify now") makes no checkable claim at all, but it's still dangerous.

What Gonka is

Gonka is a decentralised AI inference network: models run on machines across the network instead of one company's servers. Gonka Router is its OpenAI-style gateway. The track's rule was that every judgement at runtime must go through Gonka. Assistants like Claude could help us write the code, but they couldn't secretly do the product's thinking.

Two models, never shown each other's answer

Anxin sends the same claim and the same evidence to two different models, DeepSeek and MiniMax, at the same time, and neither sees the other's answer. Then plain, unit-tested code (not another AI) decides what the pair means, based on how far apart their scores are:

Gap between the two Truth Scores What Anxin does
0–20 points They broadly agree: the scores are averaged
21–40 points Partial disagreement: confidence drops by 20
More than 40 Strong disagreement: confidence drops by 45 and the verdict becomes Insufficient evidence, not an averaged score

Averaging a 10 and a 90 into "50" would look precise and mean nothing. When two models strongly disagree, the honest answer is that we don't know.

Fraud risk works the other way: it's never averaged. Anxin takes the higher of the two, because a scam one model missed is still a scam.

Scam risk is checked first

The order of the rules matters. Anxin also has an evidence gate: if neither model found real evidence, the verdict is "insufficient evidence".

But a phishing SMS has, by its nature, no evidence on the web to check against. With the evidence gate first, the most dangerous messages we'd ever see would come back as merely "insufficient evidence". So the fraud check runs before everything else: if the message itself shows strong scam patterns (urgency, impersonation, payment requests), it's flagged High risk, whatever the evidence or the disagreement.

The hard part: refusing a silent substitute

This was the most interesting problem in the project.

Gonka confirmed during the event that DeepSeek was constantly saturated, and that the router's default failover sends the overflow to... MiniMax. That would quietly turn our "two independent opinions" into the same model asked twice, with the report still claiming cross-verification.

So every call sends X-Gonka-No-Fallback: true: give us the model we asked for, or fail. That means we deliberately accept real errors on the DeepSeek side, and the product has to handle them honestly. When only one model answers:

  • the verdict drops to insufficient, unless that one model raised a scam warning (we never mute a warning);
  • confidence is capped at 60;
  • the report shows a "Not cross-verified" badge and says in plain language that only one model answered.

A single opinion should never be dressed up as a consensus.

Receipts, not "trust us"

Every model call returns a request ID, and Gonka publishes a public receipt for each one: which model served it, when, and how many tokens it used. Anxin links to it directly, so anyone can check that a call really ran on Gonka, without going through our server.

We were careful about what that proves. The receipt comes from GonkaRouter's own database, so it's their attestation, not cryptographic proof, and it says nothing about whether the claim is true. The UI says exactly that: independently verifiable against GonkaRouter, not something we could fabricate on our own server.

Built to be checked

  • Over 100 backend tests, runnable with no API key thanks to a clearly labelled mock mode. A mock report shows a yellow banner, so it can't be mistaken for a real one in a demo.
  • Screenshot OCR runs locally with Tesseract, and only extracts text. It never makes a judgement.
  • The evidence fetcher is guarded against SSRF, so a pasted link can't be used to make our server request internal addresses.
  • A security script runs dependency and code scanners before every release: deterministic tools, not an AI's opinion.
  • No smart contract. Gonka's request IDs and receipts were the verification mechanism for this track, so we didn't deploy a contract just to fill a form field.

What I took away

  • Design for failure before accuracy. The most important code in Anxin decides what to show when the AI is unavailable, disagrees or is wrong.
  • Watch for silent substitutions. A fallback that keeps your app "working" can quietly break the guarantee your product is built on.
  • Say exactly what your proof proves. "Verifiable against GonkaRouter" is less exciting than "trustless", but it's true.

Top 21 wasn't a podium finish. But Anxin is still online, and it does something genuinely useful.