# Proof: check Grideōs and Ironwall yourself

> Evidence you can test without trusting Grideōs.

Source: https://grideos.com/proof/
Publisher: Grideōs (Grideos Global Corp.), Calgary, Alberta, Canada
Updated: 2026-10-16

Grideōs makes claims about verification, so the evidence here is the kind you can check without taking our word for it.

## 1. The live verifier

Ironwall's public verifier runs at https://edge.grideos.com. A #![no_std] Rust module compiled to WebAssembly checks Groth16 proofs over the BN254 curve inside a single Cloudflare Workers isolate. A valid proof receives a signed JWT; an invalid one is rejected.

| Measure | Value | Status |
|---|---|---|
| Groth16 verification time | 8.6 ms | self-measured |
| WebAssembly binary after wasm-opt | 381 KB | self-measured |
| Warm round trip | about 123 ms | self-measured |
| Cold-start round trip | about 298 ms | self-measured |
| Invalid proof rejected in | about 76 ms | self-measured |

Measured by Grideōs and published in the ironwall-edge-bench repository on 8 April 2026; reported in Dispatch 003 on 4 July 2026. Not independently validated.

A request carries 256 bytes: a 128-byte compressed Groth16 proof followed by four 32-byte BN254 scalars: nonce, timestamp, attestation_hash and y. Proofs outside a 500 ms window are rejected, and so are nonces the verifier has already seen; in the current version that nonce check is kept in memory. Together the window and the nonce check limit replay of a captured proof.

Test it yourself: send any 256 bytes that are not a valid proof and the verifier rejects them; only a valid, fresh proof receives a signed token. Outsiders cannot yet generate a valid proof, so the time window and nonce checks are stated, not publicly testable.

```
head -c 256 /dev/urandom > not-a-proof.bin
curl -i -X POST https://edge.grideos.com --data-binary @not-a-proof.bin
```

## 2. The source code

- [ironwall-verifier](https://github.com/GrideosGlobal/ironwall-verifier): The Groth16 ZK-SNARK verifier that runs at the edge: #![no_std] Rust compiled to WebAssembly, BN254 curve. MIT licence.
- [ironwall-edge-bench](https://github.com/GrideosGlobal/ironwall-edge-bench): Benchmarking harness for Rust and WebAssembly latency on Cloudflare Workers. MIT licence.
- [zk-circuit-challenge](https://github.com/GrideosGlobal/zk-circuit-challenge): An open challenge: review the zero-knowledge verification architecture and tell us what you would break. MIT licence.

## 3. Programs and results

- NRC IRAP client status, with an assigned Industrial Technology Advisor, as of 11 July 2026. Client status only; no funding agreement. https://grideos.com/dispatches/008-accepted-into-nrc-irap
- Second place in the first Venture for Canada Responsible AI Adoption Challenge, for a student team with Grideōs as Project Partner. https://grideos.com/dispatches/007-second-place-vfc-responsible-ai-adoption-challenge

## 4. A signed record of the claims on this site

The main factual claims on grideos.com, from the legal name to the verifier figures, are listed in the facts ledger (https://grideos.com/facts/), hash-chained and signed with an Ed25519 key published at https://grideos.com/.well-known/jwks.json.

## What is not proven yet

- No independent third party has validated the verifier measurements.
- Grideōs does not publish client names or results without written permission.
- A signature proves that a claim came from Grideōs and has not changed since it was published. It does not prove that the claim is true; that is what the evidence links are for.
