Picture this: a developer in Berlin runs an autonomous agent that wants to spend 4,000 USDT0 on data from another agent. The agent asks EVIDIQ for a trust report, gets back a score of 87 and a "proceed" recommendation. It executes the payment. Two days later, the data turns out to be repackaged public Reddit dumps, and the developer wants to know whether EVIDIQ's report was actually based on what it claimed.
This is the entire problem 0G TEE verifiable AI attestation is built to solve. If the developer can't independently re-check what EVIDIQ saw, what model said "proceed," and who signed off on it — the report was just an opinion with nicer formatting.
Here's the thing: in 2026, agent-to-agent payments settle in milliseconds on chains like X Layer via x402. The verifier has to keep up. So EVIDIQ's verdict can't be a PDF a human reads later. It has to be a self-contained artifact a machine can re-verify in seconds.
What 'Verifiable' Has to Mean for a Machine
0G TEE verifiable AI attestation is EVIDIQ's way of turning a trust verdict into a cryptographically checkable artifact. Each report is canonicalized, keccak256-hashed, anchored on 0G Storage, and signed under EIP-191. The risk analysis itself runs on 0G Compute inside a Trusted Execution Environment, so even EVIDIQ's own operator can't tamper with the inference.
Most "verifiable AI" products stop at the first hurdle they actually face: explaining themselves. They'll show a score, give you a couple of URLs, maybe a screenshot of a log. That's not verification. That's narration.
A machine-verifiable report answers:
- Was this exact body of evidence the one that was scored?
- Was the scoring logic the one EVIDIQ claims to use?
- Did the signer actually hold the key that signed the verdict?
- Can I re-run all three checks without phoning anyone?
If any of those answers is "trust me, bro" — the chain is broken. That's why EVIDIQ writes the report as JSON, hashes the canonical bytes, stores them on 0G Storage, and ties the verdict to a specific EIP-191 signature. None of this is decorative. Each piece exists because removing it would let some specific failure mode slip through.
The bar isn't "looks credible to a human reader." The bar is "any other agent can re-derive the same conclusion from the same bytes." That shift is what 0G TEE verifiable AI attestation forces on you, and it's the only standard worth shipping.
Four Links in the Chain
Every EVIDIQ trust report moves through four mechanical steps. Skip any one of them and you've re-introduced a class of fraud the chain is specifically designed to kill.
- Canonicalize the evidence. Before anything is hashed, the report's evidence payload is serialized into a deterministic JSON form. Same fields, same ordering, same Unicode normalization. Two independent parties serializing the same evidence always get the same byte string. Without canonicalization, an attacker can swap field order or invisible whitespace and produce a "different" document with the same semantic content — breaking any later hash comparison.
- keccak256 the canonical bytes. This is the same hash function Ethereum uses for transaction and address derivation. It's collision-resistant, deterministic, and cheap. The output is a 32-byte root that uniquely identifies the exact evidence bundle.
- Anchor the root on 0G Storage. EVIDIQ uploads the canonical evidence to 0G Storage (mainnet) and receives an on-chain transaction hash confirming the write. This is the moment the report stops living only inside EVIDIQ's database. Now anyone with the root can fetch the evidence from 0G's decentralized storage and confirm it byte-for-byte matches what was hashed.
- Sign the verdict with EIP-191. The final trust score, recommendation, and root hash are bound together with an EIP-191 personal_sign signature using EVIDIQ's published key. The signature is recoverable — given the message and the signature, you can compute the signer address and compare it to the one in the EVIDIQ docs.
What breaks if you skip a link?
- Skip canonicalization → byte-equality checks fail spuriously, look like fraud when there isn't any.
- Skip hashing → no root to anchor; you're trusting EVIDIQ's word about what was stored.
- Skip the on-chain anchor → you're back to a centralized DB that EVIDIQ could rewrite overnight.
- Skip the signature → anyone could publish a fake "EVIDIQ report" and you'd have no way to tell.
That's why we built EVIDIQ Sentinel to expose all four steps to the developer calling the API. Honesty is mechanical here, not rhetorical.
[IMAGE_PROMPT: A clean flat illustration showing a four-step verification chain as a horizontal pipeline of glowing nodes connected by neon lines, labeled Canonicalize, keccak256, 0G Storage, and EIP-191 Sign. Each node is a translucent hexagonal block with a small icon inside (a JSON bracket, a hash symbol, a storage disk, a signature pen). The background is deep navy with subtle grid lines and a faint blockchain motif. Modern dev-tool aesthetic, no real brand logos, only the four short labels.]
What the TEE Actually Buys You
The fourth and most-misunderstood piece is the AI risk analysis that runs as part of the scoring pipeline. EVIDIQ doesn't just call GLM-5.2 over a plain HTTPS API and paste the response into the report. That would be useless — a normal HTTPS call gives you no proof the model wasn't tampered with, no proof the prompt wasn't swapped, and no proof the response wasn't edited after generation.
Instead, the risk analysis is dispatched to 0G Compute, where GLM-5.2 runs inside a Trusted Execution Environment. The TEE is a hardware-isolated region of a CPU. Code and data loaded into it are encrypted in memory; even the host machine's operator (in this case, the 0G Compute node runner) can see ciphertext, not plaintext. The TEE emits a remote attestation quote that includes:
- A measurement of the exact binary that ran (so you can verify it was the GLM-5.2 build you expected).
- The provider address — i.e., the on-chain identity of the node that executed the work.
- A request id binding the inference output to the specific prompt that produced it.
That third item is what closes the loop. Without it, the TEE could prove "some model ran" but not "this output came from this input." With the request id, EVIDIQ can publish the exact prompt it sent, the exact response it received, and the TEE quote covering both. A verifier can check that the provider address matches a known 0G Compute operator, that the request id matches the response, and that the response was used to produce the trust score.
Honestly? Most "AI audit trails" stop at "the model said X." That tells you nothing. A TEE tells you which model, which binary, which prompt, and which operator — all at once, all cryptographically. That's the gap EVIDIQ closes, and it's the single biggest reason our verdict is auditable rather than performative.
A plain API call gives you opacity with a JSON wrapper. A TEE-backed inference gives you opacity with a hardware-rooted witness. Those are not the same product. Once you've seen a TEE quote, you can't unsee the absence of one — and that absence is everywhere else.
How to Re-Verify a Report Yourself, Right Now
This isn't a feature roadmap. You can do this in 2026 with the tools already shipped. Here's the literal how-to.
- Pull the report from the API. Your client makes the verify_agent call over x402 (you pay per call in USDT0 on X Layer) and receives a JSON report containing the trust score, recommendation, evidence root, 0G Storage tx hash, EIP-191 signature, and the TEE attestation quote.
- Fetch the canonical evidence. Take the evidence root and resolve it against the 0G Storage tx hash. 0G returns the exact byte blob that was uploaded. Don't trust any other URL for this — the on-chain tx is the only thing that ties the bytes back to the root.
- Recompute keccak256 locally. Hash the canonical bytes with keccak256 and compare the output to the root in the report. If they differ, the evidence was swapped after signing — abort.
- Recover the signer from the signature. Using the EIP-191 message format (
\x19Ethereum Signed Message:\n<len><report bytes>), recover the address from the signature. Compare it to EVIDIQ's published signer key in the EVIDIQ docs. If they differ, the signature wasn't made by EVIDIQ — abort. - Verify the TEE quote. Take the GLM-5.2 attestation quote and validate it against 0G Compute's published attestation verifier. Confirm the binary measurement, the provider address, and that the request id binds to the same prompt and response used in scoring.
If all five checks pass, you've independently reconstructed the report's integrity without phoning EVIDIQ, without trusting the API endpoint, and without believing a single word of the narrative. That's what 0G TEE verifiable AI attestation is supposed to mean — and the day we can't satisfy any one of these checks, we shouldn't be shipping verdicts at all.
The same flow is documented for operators who want to run their own probe locally in the EVIDIQ Operator docs.
[IMAGE_PROMPT: A flat developer-aesthetic illustration of a laptop on a desk showing a terminal window with five verification steps scrolling past: a curl command, a keccak256 hash output, an EIP-191 signature recovery line, and a green checkmark at the bottom. Around the laptop, three floating translucent panels show a 0G Storage root hash, a TEE attestation quote, and a small trust score badge reading 87. Background is dark slate with a subtle hex grid; accent colors in teal, amber, and soft magenta. No real brand logos.]