Send a signature, a public key and a message; get back a verdict computed by a public blockchain’s own native precompiles — not by a library we run beside the API. To our knowledge, this is the only production post-quantum verification API on a public chain, and every answer can be re-checked against the chain by anyone.
| Scheme | Standard | Request fields |
|---|---|---|
| ml-dsa-44 | NIST FIPS 204 (Dilithium) | publicKey, signature, message |
| slh-dsa-128s | NIST FIPS 205 (SPHINCS+) | publicKey, signature, message |
| falcon-512 | Falcon (round 3) | publicKey, signedMessage |
| falcon-1024 | Falcon (round 3) | publicKey, signedMessage |
All fields are 0x-prefixed hex. The verdict names which precompile answered and at which block height, so it is reproducible against the public RPC.
POST https://cloud.aere.network/v1/pq/verify
x-api-key: ak2800.<your-address>.<secret>
{ "scheme": "ml-dsa-44", "publicKey": "0x…",
"signature": "0x…", "message": "0x…" }
→ { "valid": true, "scheme": "ml-dsa-44",
"precompile": "0x…0ae3", "block": 15220111, "chainId": 2800 }
# flip one bit of the signature and the chain returns valid:false
Anyone can run a post-quantum verifier in their own process. What you cannot do elsewhere is have the verdict produced by a neutral public network, at a named block height, that a counterparty can independently reproduce. On Aere the verifiers are native precompiles, live on mainnet since block 9,189,161, validated against the official NIST known-answer and ACVP vectors in both directions. The verification does not rest on trusting our servers — it rests on the chain.
Every 32nd block of chain 2800 does not finalize without a certificate of at least six of nine valid Falcon-512 validator seals — a full quorum — bound under the block hash. So a verdict you anchor here lives on a network whose own consensus carries post-quantum evidence. No other public chain offers that in production today. Check it yourself with the verifier tool or the live verification page.
Part of Aere Cloud. The precompiles are also callable directly from any contract on chain 2800; the API is the convenience layer over them.