Documentation
Technical reference for the Data Provenance toolkit.
How It Works
Data Provenance stores cryptographic proofs of data existence, ownership, and lineage on Swarm with optional on-chain anchoring on Base.
Core Concepts
Provenance Record — SHA-256 hash + metadata + timestamp + Swarm reference. Original data is never stored.
Lineage Chain — Linked provenance records tracking updates, derivations, access, transfers.
On-Chain Anchor — Hash registered on DataProvenance contract (Base Sepolia). Blockchain-level immutability.
REST API
Base URL: dataprovenance.app/api/
POST/api/prove
Create provenance record. Hash + metadata in, Swarm reference out.
GET/api/verify/{reference}
Verify record. Returns hash, timestamp, metadata, chain status, lineage.
POST/api/lineage
Add to chain. Requires wallet signature.
GET/api/lineage/{reference}
Full lineage chain for a record.
GET/api/records/{wallet}
All records by wallet. Signature required.
Example
curl -X POST https://dataprovenance.app/api/prove \
-H "Content-Type: application/json" \
-d '{"hash":"e3b0c44...","metadata":{"filename":"report.pdf"}}'
# → {"reference":"a1b2c3d4...","receipt_url":"https://dataprovenance.app/r/a1b2c3d4"} Smart Contracts
| Contract | Network | Address |
|---|---|---|
| DataProvenance | Base Sepolia | 0x1234...5678 |
| ConsentReceipt | Base Sepolia | 0xabcd...ef01 |
MCP Server
// claude_desktop_config.json
{"mcpServers":{"data-provenance":{"command":"docker","args":["run","-i","--rm","ghcr.io/datafund/swarm-provenance-mcp"]}}} React Components
import { ProveIt, VerifyIt } from '@dataprovenance/react';
<ProveIt gateway="https://dataprovenance.app/api" onProved={r => console.log(r)} />
<VerifyIt reference="a1b2c3d4..." />