Axiom Protocol

Trust layer · Protocol

Proof for the messages humans and machines send.

Axiom Protocol issues a cryptographic receipt for each interaction — human to AI, AI to AI. Anyone can verify it. Don’t take our word for it — run the check yourself.

Free during early access — no card required. Request access and we’ll email you a key.

A2A · agent messageExample receipt
receiptaxm_rec_E4B7A91C3F60D258E9A1C47B02
hashsha256:d44a895f921cd745e1ad438060837ca8…
signatureaxiom_sig_v1:t0fAdqA5yNdiIeX58…
keysha256:3a0081460e86894a…
What a valid check looks like: signed by Axiom Protocol and unaltered since — an illustrative example.

Every receipt is signed with RSA-PSS / SHA-256. Check one yourself against our published key at /.well-known/axiom-public-key.pem — independently checkable math, not a screenshot.

What it is

Axiom Protocol issues a cryptographic receipt for each interaction between people and AI systems — so any party can run the signature check themselves against our published key.

It proves what an authorized party did: signed, independently checkable receipts for AI data access and messaging. A valid signature proves the receipt was signed by Axiom Protocol and unaltered since.

It is not reputation scoring, not fraud detection, and not identity verification. It records the authorized action and lets anyone confirm it — nothing more, and nothing it can’t back with a signature.

Four flows, one receipt

Coverage for every direction of the conversation.

Whether a person or an agent is on each end, Axiom Protocol records who was authorized, how, and what was exchanged — never the message body itself.

H2HHuman → Humanexplicit_user_consentA person messages another person. The consent that authorized it is on the record.
H2AHuman → AIexplicit_user_consentA person instructs an agent. What they authorized is provable after the fact.
A2HAI → HumandelegatedAn agent acts toward a person under delegated authority — traceable to its grant.
A2AAI → AIdelegatedTwo agents negotiate. Neither has to trust the other’s log; both trust the receipt.

Where it applies

The same receipt, wherever trust has to cross a boundary.

Illustrative scenarios built on the real Axiom Protocol vocabulary — not a claim of who’s using it.

All use cases →

Don’t trust — verify

Don’t take our word for it.

Every receipt is signed with RSA-PSS/SHA-256. The signing public key is published at a stable, unauthenticated URL, so you — or anyone you hand a receipt to — can run the signature check yourself, in your own browser or SDK. If your threat model includes us, pin the key out-of-band.

  • Public key at /.well-known/axiom-public-key.pem
  • A public GET /v1/verify/:receiptId endpoint if you’d rather ask us — no API key required
  • Daily anchoring of receipt batches to the Solana blockchain (devnet) today — a receipt honestly reports whether its batch has been anchored yet; it never claims anchoring it hasn’t done

Example: GET /v1/verify/{receiptId} response (abridged)

{
  "receipt_id": "axm_rec_…",
  "record_hash": "sha256:…",
  "axiom_signature": "axiom_sig_v1:…",
  "signature_valid": true,
  "axiom_public_key_url": "…",
  "signed_at": "2026-07-06T12:00:00Z",
  "anchor": { "anchored": false, "message": "…" },
  …
}

Written for the integrator — often an agent

The thing wiring you in is a coding agent. So we wrote the site for it.

  • Machine-first surface. A live OpenAPI spec, an llms.txt, and copy-paste examples — so a crawl produces working code on the first pass.
  • Run the check yourself. The SDK checks a receipt’s signature locally, against the published key — the verification math runs in the agent’s own process, and the key can be pinned out-of-band.
  • Crawlers welcome. Most sites block AI agents. Ours invites them — ClaudeBot, GPTBot, PerplexityBot, and the rest read everything.
terminal
# receipt a message — never the body
curl -X POST https://axiom-protocol.onrender.com/v1/log \
-H "x-axiom-key: axm_…" \
-H "Content-Type: application/json" \
-d '{ "model_id": "agent-alpha",
"data_accessed": [{ "resource_id": "msg_9001",
"resource_type": "agent_message",
"classification": "INTERNAL" }],
"authorized_by": "agent:alpha",
"authorization_method": "delegated",
"purpose": "autonomous_action",
"session_id": "sess_1",
"expires_at": "2027-01-01T00:00:00Z" }'
# → { receipt_id, signature, verification_url, … }

Honest by construction

Built to be checked, not just believed.

We’d rather under-claim than over-claim. Anchoring runs on Solana devnet today, not mainnet — every receipt says plainly whether its batch has actually been anchored. The JS and Python SDKs are MIT-licensed and already run against the live API; they’re not yet published to npm or PyPI, and source access is available on request during early access. Nothing here is called “blockchain-verified” unless it is, right now.

Live API — signing & verification in productionPublic key published — receipts verify independentlyAnchored to Solana devnet — mainnet nextOpen verification — no account needed to check a receipt

Try it now — free during early access.

Request early access — free, no card required. We’ll email your API key as soon as your address is verified.