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. Every answer carries the block height it was computed at and 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.
For ml-dsa-44 and slh-dsa-128s the precompiles verify the internal interface of FIPS 204/205: the message is checked exactly as given. A signature made by a standard library through the external interface signs 0x00 || len(ctx) || ctx || message; send "interface": "external" (and an optional "context") and the API builds that prefix for you. Without it such a signature comes back valid: false. Measured on chain for ML-DSA-44; for SLH-DSA-128s the same encoding applies by FIPS 205 but has not yet been measured against an externally produced signature.
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 (every 128th from block 17,225,968 to block 20,746,736, 2026-09-05 to 2026-09-29) does not finalize without a certificate of at least seven valid Falcon-512 validator seals bound under the block hash, as many as the quorum of the ten validators since block 20,715,632 (2026-09-29; below block 24,148,752 the seals proved those validators signed the block, not that it was decided, per the AIP-22 erratum of 2026-10-01, and from that block a certificate that carries the quorum of one round proves the decision); the minimum was six before block 20,715,632, as many as the quorum of the nine validators of that time and, from 2026-09-11, below the ten-validator quorum of seven. So a verdict you anchor here lives on a network whose own consensus carries post-quantum evidence, proven and independently verifiable rather than asserted. 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.