ClaimLedger 1.0.2
dotnet tool install --global ClaimLedger --version 1.0.2
dotnet new tool-manifest
dotnet tool install --local ClaimLedger --version 1.0.2
#tool dotnet:?package=ClaimLedger&version=1.0.2
nuke :add-package ClaimLedger --version 1.0.2
<p align="center"> <a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a> </p>
<p align="center"> <img src="https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/ClaimLedger/readme.png" alt="ClaimLedger" width="400"> </p>
<p align="center"> <a href="https://github.com/mcp-tool-shop-org/ClaimLedger/actions/workflows/ci.yml"><img src="https://github.com/mcp-tool-shop-org/ClaimLedger/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="https://www.nuget.org/packages/ClaimLedger"><img src="https://img.shields.io/nuget/v/ClaimLedger" alt="NuGet"></a> <a href="https://github.com/mcp-tool-shop-org/ClaimLedger/blob/main/LICENSE"><img src="https://img.shields.io/github/license/mcp-tool-shop-org/ClaimLedger" alt="License"></a> <a href="https://mcp-tool-shop-org.github.io/ClaimLedger/"><img src="https://img.shields.io/badge/Landing_Page-live-blue" alt="Landing Page"></a> </p>
Cryptographic provenance for scientific claims. Local-first, cryptographically verifiable ledger for scientific claims, evidence, and reproducibility. No central authority, no blockchain — just math.
Why ClaimLedger?
Scientific claims are the atomic unit of research — not papers, not datasets. ClaimLedger provides:
- Cryptographic accountability: Every claim is signed with Ed25519, creating an unforgeable record of who asserted what, when
- Evidence linking: Claims reference hashed evidence (datasets, code, notebooks) — the hash is the commitment
- Third-party verification: Anyone can verify a claim bundle without trusting your infrastructure
- No central authority: Works offline, no blockchain required (though anchoring is supported)
Install
# As a .NET global tool (recommended)
dotnet tool install --global ClaimLedger
# Or build from source
git clone https://github.com/mcp-tool-shop-org/ClaimLedger.git
cd ClaimLedger
dotnet publish ClaimLedger.Cli -c Release
Quick Start
Verify a claim bundle
# Verify cryptographic validity
claimledger verify claim.json
# Verify with evidence files
claimledger verify claim.json --evidence ./data/
# Verify with attestations and citations
claimledger verify claim.json --attestations --citations
# Verify with revocation checking
claimledger verify claim.json --revocations-dir ./revocations/ --strict-revocations
# Verify RFC 3161 timestamp receipts
claimledger verify claim.json --tsa --tsa-trust-dir ./tsa-certs/
# Inspect bundle contents
claimledger inspect claim.json
Exit Codes (CI-friendly)
| Code | Meaning |
|---|---|
| 0 | Valid — signature verified |
| 3 | Broken — tampered content or invalid signature |
| 4 | Invalid input |
| 5 | Error |
| 6 | Revoked — cryptographically valid but signer key is revoked |
Architecture
ClaimLedger.sln
├── Shared.Crypto ← Ed25519, SHA-256, Canonical JSON (shared with CreatorLedger)
├── ClaimLedger.Domain ← Claims, Evidence, Citations, Attestations, Revocations
├── ClaimLedger.Application ← Commands, verification, bundle export
├── ClaimLedger.Infrastructure
├── ClaimLedger.Cli ← verify / inspect / attest / cite / revoke / witness / tsa commands
└── ClaimLedger.Tests ← 371 tests
Evidence Types
| Type | Description |
|---|---|
| Dataset | Training data, experimental results |
| Code | Source code, scripts, models |
| Paper | Published papers, preprints |
| Notebook | Jupyter notebooks, analysis documents |
| Other | Any other supporting material |
Attestations
Third parties can attest to claims without modifying the original signature:
claimledger attest claim.json \
--type REVIEWED \
--statement "Methodology verified" \
--attestor-key reviewer.key.json \
--out claim.attested.json
Attestation types: REVIEWED, REPRODUCED, INSTITUTION_APPROVED, DATA_AVAILABILITY_CONFIRMED, WITNESSED_AT
Citations
Claims can cite other claims, forming a verifiable graph:
claimledger cite claim.json \
--bundle cited-claim.json \
--relation CITES \
--signer-key author.key.json \
--embed \
--out claim.cited.json
Citation relations: CITES, DEPENDS_ON, REPRODUCES, DISPUTES
Key Revocation
claimledger revoke-key author.key.json \
--reason ROTATED \
--successor-key new-author.key.json \
--out revocations/author.revoked.json
Revocation reasons: COMPROMISED, ROTATED, RETIRED, OTHER
What This Is Not
- Not a truth oracle: ClaimLedger verifies who said what, not whether it's true
- Not peer review: Verification is cryptographic, not scientific
- Not a paper repository: Claims are atomic; papers are containers
- Not a blockchain: Works offline (optional anchoring available)
- Not a trust system: No reputation, no roots of trust — just math
Building
dotnet build
dotnet test # 371 tests
dotnet run --project ClaimLedger.Cli -- verify samples/sample-claim.json
Related Projects
- CreatorLedger — Cryptographic provenance for digital assets
- Both share
Shared.Cryptofor Ed25519, SHA-256, and Canonical JSON
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.