Prove that a document, email, contract, AI output, source code file, or any other digital artifact existed at a specific time.
Public cryptographic timestamping infrastructure for developers and AI agents. Get a verifiable receipt (PDR) for $0.01 via HTTP API or MCP.
The artifact itself is never uploaded — only its SHA-256 hash.
A PDR (Provenance Data Record) is a 239-byte cryptographic receipt that proves a specific digital artifact existed at a specific point in time. It is signed with Ed25519 (NEP-413) and anchored periodically to the NEAR blockchain via batch Merkle roots.
AOTrust exposes notarization through HTTP API and MCP. A consumer web application is in development.
SHA-256 hash of your artifact: hashlib.sha256(artifact).hexdigest(). See SKILL.md for examples by artifact type (AI text, code, JSON, binary).
Pay $0.01 USDC on Base via x402. Call notary_notarize_paid.
Keep the returned 239-byte PDR bundle (pdr_b64). It is your cryptographic proof.
MCP is fully operational. Connect any MCP-compatible AI agent to https://api.aotrust.link/mcp or use the HTTP API shown in the Quickstart above.
| Tool | Description | Key Inputs | Returns |
|---|---|---|---|
| notary_quote | Get dynamic price quote | (none) | {cost_usd_cents, cost_near_human, near_usd_rate, quote_id, quote_valid_until, schema_version} |
| notary_notarize | NEAR_DIRECT notarization (testnet only, frozen on mainnet) | work_hash, tx_hash, agent_pubkey | {pdr_b64, job_id} |
| notary_notarize_paid | x402 USDC notarization on Base (discovery only — use HTTP POST /notarize for actual notarization) | work_hash, agent_pubkey | {pdr_b64, tx_hash, payment_anchor_type} |
| notary_verify | Verify existing PDR | pdr_b64 or work_hash | {status, issuer, timestamp, signature_valid} |
See SKILL.md or GET /mcp/tools for the complete current list.
| Field | Size | Description |
|---|---|---|
| version | 1 | 0x03 (v2.3) or 0x04 (v2.4 Bilateral) |
| sig_scheme | 1 | 0x01 = Ed25519 NEP-413 |
| payment_anchor_type | 1 | Payment rail enum |
| timestamp | 8 | UNIX timestamp (seconds, uint64 LE) |
| issuer_id | 36 | Notary account (NUL-padded UTF-8) |
| subject_hash | 32 | SHA-256 of agent_pubkey |
| payload_hash | 32 | SHA-256 of work output (v0x03) or Binding Hash (v0x04) |
| merkle_root | 32 | Batch Merkle root |
| payment_hash | 32 | On-chain payment tx hash (multi-chain) |
| signature | 64 | Ed25519 signature (NEP-413 raw) |
| TOTAL | 239 | bytes |
All PDR verification endpoints are public and require no authentication. They return standard HTTP 200 JSON responses.
Verify a raw PDR bundle (Base64-encoded). Returns signature validity, payment confirmation, and decoded metadata.
curl -s https://api.aotrust.link/v1/pdr/verify/AWE...
Lookup the final SETTLED PDR for a given PROVISIONAL work_hash. Used in two-phase escrow flows to confirm that the agent received payment before delivering output.
curl -s "https://api.aotrust.link/v1/pdr/settled?superseded_by_hash=a3f1..."
Offline verification: download pdr_parser.py — verify any PDR without a server.
Documentation source: github.com/GitSerge-crypto/aotrust-skills