curl -s -X POST https://api.avenic.ai/v1/signup
# → { "tenant_id": "t-…", "api_key": "ak-…", "receipts_included": 1000 }
Sign-up is anonymous — no email, no form — and seeds 1,000 free receipts. Three commands to your first verifiable receipt →
How it holds up
| The address is the hash. | A receipt's permanent link is /r/sha384/{digest},
where the digest is the SHA-384 of the receipt's own bytes —
sha384sum bundle.json reproduces the address.
Hosting is convenience; the bytes are the trust root. |
| Verification is free, for everyone, forever. | Receipt pages and bundle bytes are public reads — no account, no rate limit on verifying, no charge. You pay only to produce receipts. |
| Tamper-evident, post-quantum signed. | Every record is hash-chained and signed with a hybrid Ed25519 ∧ ML-DSA-65 signature — both families must verify; a single broken assumption does not pass. |
| No phone-home, ever. | Receipt pages make no third-party calls, carry no scripts, and do not track viewers. The open verifier re-derives every check from the bundle bytes alone — no network, no account, no avenic. |
| Honest takedown. | You can unpublish a link; the address then answers
410 Gone with an honest tombstone. Taking a link down does not
alter or discredit the artifact's bytes — holders of a copy can still verify offline. |
What a receipt attests
Only the named checks, exactly as scoped: that the carried records hash-chain consistently, that their signatures verify against the embedded public keys, and the set-completeness status precisely as stated.
What a receipt does NOT attest
- That any decision was correct, fair, or lawful.
- That the inputs to any decision were truthful.
- That anything outside the carried records exists or does not exist, unless a verified absence is shown.
- Conformance with any law, standard, or obligation.
Built for teams shipping automated and AI-assisted decisions who will someday be asked "prove what happened" — and want the answer to be mathematics, not testimony.