Sign-in

PoE keeps you anonymous. Google/OIDC binds receipts to your Google account.

Checking session...
L2 Proof-of-Existence

Cryptographic timestamping for documents and data

Create strong, verifiable proof that a document existed at a specific time — without revealing its contents.

No file uploads

Only commitment_hex, raw_file_hash_hex, and the consent log reach the server

Spec-first

PDF/JSON receipts follow specs/receipt/*.yaml

HTML receipt preview

The /receipt page displays the same fields as the PDF.

receipt_id

0x6ad9…3bc1

Status

Anchored on Base

TxID

0x97ab…4def

PDF receipt
JSON evidence
JWKS signature

How Fideseal works

Three steps from uploading a file to an auditable receipt anchored in L2.

1

Pick a document

Hashing and canonicalization happen locally in the browser. The file never leaves your device.

2

Build the Merkle batch

We assemble a Merkle batch on the backend and prepare batch_id for anchoring.

3

Anchor to L2

The root is sent to the smart contract. You receive PDF+JSON receipts.

Why you can trust it

Cryptography, specs, and open verification

On-chain trust

Anchoring on a public network that anyone can verify.

Privacy-first

We only store the hashes and the client's consent log.

Spec compatibility

Canon/pdf/receipt specs live in the repo and are covered by tests.

Legal trail

The HTML receipt mirrors the PDF and JSON for artifact parity.

For developers

REST API for integrations

Send commitment_hex/raw_file_hash_hex and receive receipt_id. Use the same pdf.v1.basic and evidence.v1 specs as the UI.

curl POST /v1/poe/anchor

curl -X POST https://fideseal.com/v1/poe/anchor \
  -H "Content-Type: application/json" \
  -d '{
    "commitment_hex": "0xabc…",
    "raw_file_hash_hex": "0xdef…",
    "canon_profile": "pdf.v1.basic",
    "client_version": "web-demo/0.2.0"
  }'