Provenance for AI

Prove what your AI did.

Like a receipt after you pay — but for every AI call. Hand auditors and customers proof they can check themselves, without exposing private prompts.

0M+

Signed receipts

0%

Chain integrity

<0ms

Verify latency

provenance trace● live
Request
POST /v1/chat/completions
{ "model": "gpt-4o", "stream": true }
Route
provideropenai
modelgpt-4o
policytenant-scoped
Stream
…Hello, and welcome to
Sign
ed25519a3f7c2…
entrysha256
chain+1 record
Receipt
x-attestic-receipt-id: b018e5…
x-attestic-entry-hash: 7795fe…
Ed25519 signedMerkle chainOffline verifyOpenAI compatibleAnthropic · OpenAI · Gemini · NVIDIAx-attestic-entry-hashPublic /verifyBigQuery exportTamper-evident receiptsNo trust requiredEd25519 signedMerkle chainOffline verifyOpenAI compatibleAnthropic · OpenAI · Gemini · NVIDIAx-attestic-entry-hashPublic /verifyBigQuery exportTamper-evident receiptsNo trust required

In plain English

Think of it like a receipt from the register.

When you pay at a store, you get a slip that proves the transaction happened — date, amount, reference number. Attestic does the same for AI calls: model used, when it ran, what it cost, and a code anyone can check later.

Attestic

Provenance receipt

attestic.ai

DATEJun 29, 2026, 1:58 AM
RECEIPT #rcpt_8f2a91
STATUSSigned
Model response$0.0193

Provider · OpenAI

Model · gpt-4o

Tokens · 1,842 in / 612 out

Gateway & signingincluded
TOTAL$0.0193

Proof ID · a4f8c2e9…1b4d

Chain · #418,902 of 418,902

Signed · independently verifiable

Verified

Sample receipt — real ones include your tenant's call details when signed in.

What is Attestic, in one sentence?

A receipt printer for AI — every time your app talks to a model, you get a paper-style proof that the call happened, like a card receipt after you pay.

Why not just use logs?

Logs live on your servers. Someone with admin access can change them. A signed receipt is designed so tampering breaks the math — like a notary stamp, not a spreadsheet row.

What does “verify” mean?

Anyone can paste a receipt code at attestic.ai/verify and get yes or no: was this call recorded on the chain? No account needed. Prompts and answers stay private.

Do I need to understand cryptography?

No. Developers get the full technical receipt. Auditors and customers can use the simple verify page — same as checking a bank transaction reference number.

For technical teams: under the hood each receipt is Ed25519-signed and hash-chained — stronger than a paper slip. The familiar receipt shape is how we explain it to legal, compliance, and customers who will never read a whitepaper.

Product demo

Watch a call get signed — then look yours up.

Every response includes a receipt code. Verify it on the right for free; unlock model, tokens, and cost with an account.

bash — api.attestic.ai
Live signing demo

Try it now

Find your signed receipt

Paste a receipt code — see if it's signed on the chain for free. Model, tokens, and cost stay hidden until you sign in or upgrade.

From API headers: x-attestic-entry-hash

Attestic — prove what your AI did

Platform metrics

Receipts you can defend.

Signed receipts0M+
Chain integrity0%
Verify latency<0ms
Providers0

Operational trust

Records what happened — model, tokens, cost, time — not whether the answer was correct.

Offline verification

Check the receipt without calling us — like validating a notary stamp with a public key, not a phone call to the vendor.

Audit-ready exports

Receipt ledger, CSV export, and BigQuery streaming for SIEM workflows.

The living receipt

Trust you can hold — and check without us.

Each call becomes a signed link in a hash chain. Break any link and verification fails.

  • Ed25519 signature over a canonical receipt
  • Hash-chained + Merkle inclusion proof
  • Verify offline with the open SDK
  • Real token cost + provider + model, sealed in

Living chain

rcpt_a91f

anthropic · claude-sonnet

0x7f3a…b2c1

rcpt_a920

openai · gpt-4o

0x9e2f…a1d3

rcpt_a921

google · gemini-2.0

0x4c8b…77de

Merkle root reconstructs — chain intact

How it works

Receipt in three steps.

01

Route every call

Point your OpenAI-compatible client at the gateway.

02

Get a signed receipt

Each response includes an Ed25519-signed entry hash.

03

Verify independently

Paste the hash at /verify — no vendor trust required.

Ready to prove it?

Create an account, mint an API key, and sign your first call in minutes.

Read the API docs