Protocol Overview & Axioms
ProofCore is a decentralized cryptographic evidence layer. It transforms ephemeral digital artifacts (AI outputs, audit reports, server logs, code releases) into mathematically indisputable proof records anchored to the TON Blockchain.
Strict Zero-Storage by Design
Raw payloads and confidential prompts are hashed in volatile RAM and immediately discarded. ProofCore never writes sensitive customer data to disk or public blockchains.
Zero Vendor Lock-in
Proof verification does not depend on our API or continued corporate existence. Proof packages are 100% self-contained and verifiable offline against public TON nodes.
M2M REST API v0.1
Base Gateway: https://api.proofcore.org (Anonymous Zero-Auth access).
The Free Zero-Auth Tier is capped at 100 requests / hour / IP via a Redis sliding-window filter to mitigate DDoS attacks.
Autonomous Agents & High-Frequency Pipelines: For continuous CI/CD or multi-agent loops requiring higher throughput, x402 Micropayments (USDC/TON) and Enterprise Dedicated API Keys are Coming Soon (Q4 2026).
/api/v0.1/seal
Polymorphic endpoint that ephemerally ingests, canonicalizes, and hashes an artifact in RAM. Creates an Ed25519 notary signature and queues the commitment for TON Merkle batching.
/api/v0.1/proof/{deal_id}
Polls blockchain status and retrieves the full cryptographic manifest, including explicit Merkle tree traversal paths and public TON transaction hashes.
/api/v0.1/verify
Autonomous inter-agent verification. Recalculates the SHA-256 digest, checks the Ed25519 notary signature, and confirms blockchain state. If you pass content containing the citation badge, the deal UUID is extracted automatically.
/api/v0.1/pubkey
Retrieves the official Base64-encoded Ed25519 public key of the ProofCore notary service. Use this key to verify notary signatures offline on local air-gapped systems without querying our database.
HTTP Status Codes & Error Reference
| Status Code | Reason | Client Handling Strategy |
|---|---|---|
| 400 Bad Request | Malformed JSON syntax or missing required payload fields. | Validate payload schema against mode specifications. |
| 404 Not Found | Invalid deal UUID or deal does not exist in registry. | Ensure the UUID is 36 characters and correctly formatted. |
| 413 Payload Too Large | Raw payload exceeds server limit (10MB). | Compute SHA-256 locally on client and submit digest envelope. |
| 429 Too Many Requests | Rate limit exceeded (100 req/hr/IP on Free Tier). | Back off and retry after the hour window expires. |
| 500 Server Error | Transient gateway timeout or blockchain network halt. | Retry request with exponential backoff (1s, 2s, 4s). |
🐍 End-to-End Pipeline in Python
Copy-paste this complete script to see how data flows from initial sealing, through blockchain polling, to autonomous verification:
Model Context Protocol (MCP)
ProofCore provides a native, publicly hosted MCP endpoint compatible with Claude Desktop, Cursor IDE, Windsurf, and Claude Code.
claude mcp add proofcore https://mcp.proofcore.org
Seals output in RAM, returns deal UUID and invariant citation badge for responses.
Parses incoming text with citation markers and validates hash + notary signature.
Polls deal UUID lifecycle ('queued' ➔ 'anchored_onchain') and returns Merkle root + TON tx.
Fetches Ed25519 public key for local air-gapped signature verification.
GitHub Action & OIDC Notarization
Mitigate supply chain poisoning (SLSA Level 3). The ProofCore Action computes checksums of compiled binaries directly on the runner and binds them to cryptographically signed GitHub OIDC tokens.
Standalone Evidence Package (ZIP)
Every transaction generates an autonomous ZIP package. Download via GET /api/download/{deal_id}. Contains everything required to reconstruct the proof completely disconnected from the internet.
Offline Verification Execution:
1. verify.py recalculates the SHA-256 hash of the local file in 1_ORIGINAL_ASSET/.
2. It combines the asset hash with forensic_metadata.json to derive the Canonical Deal Hash.
3. It climbs the Merkle tree path defined in proof.json to recompute the local Merkle Root.
4. The calculated root is compared against the raw TON Blockchain block transaction comment (MR: <root>).
1_ORIGINAL_ASSET/ before running the script, or verify the manifest inclusion and notary signature directly.
Cryptographic Specification (RFC 6962)
The proofcore-merkle-v1 scheme strictly follows RFC 6962 domain separation to prevent length-extension and second-preimage attacks:
Evidentiary & Statutory Alignment
ProofCore primitives are designed to support digital evidence authentication under international legal frameworks:
Structured to support self-authenticating electronic records through verifiable digital identification processes (SHA-256 hash values) under Rule 902(13) and Rule 902(14).
Designed to align with Regulation (EU) 2024/1183 electronic ledgers and timestamping frameworks for establishing data integrity in legal proceedings.
Structured to provide machine-readable provenance and transparency metadata for generative AI outputs and algorithmic decisions.
Supports functional equivalence and data integrity standards recognized under the Model Law on Electronic Transferable Records.