πŸ“œ Open Source Β· Apache 2.0 Β· Built for Bharat

Sovereign Document
Governance Engine

Immutable ledger-backed document management for government records β€” land, health, agriculture, PDS, procurement and more. Every document hashed, signed, and chained.

View Live Dashboard β†’ How it works ↓
β€”
Documents Indexed
β€”
Ledger Entries
19
Domains Covered
β€”
Active eBL
β€”
Chain Health
The Problem

India's document crisis is real

Millions of government documents β€” land records, health certificates, ration cards, procurement orders β€” are tampered, duplicated, or lost every year.

🏚️
Land Record Fraud
Forged sale deeds, duplicate Khasra entries, and ghost mutations cost farmers their land through systematic fraud in revenue offices.
β‚Ή1.2 lakh Cr in disputed land annually
πŸ₯
Fake Health Certificates
Counterfeit vaccination records, forged disability certificates, and fraudulent PMJAY claims drain the public health system.
28% of PMJAY claims flagged as suspicious
🌾
PDS & Agri Leakage
Ghost beneficiaries in PDS, inflated crop insurance claims, and duplicate PM-KISAN disbursements represent massive fiscal leakage.
β‚Ή80,000 Cr lost to PDS leakage yearly
How It Works

Four steps from document to trust

Every document ingested through SDGE becomes tamper-evident, auditable, and cryptographically verifiable β€” forever.

1
πŸ“„

Ingest

Document content hashed with SHA-256. Metadata extracted. Domain classified (Land, Health, Agri…). Actor identity recorded.

β†’
2
πŸ”—

Ledger

Entry appended to the immutable ledger chain. Each entry links to the previous via prevHash β€” making retroactive tampering detectable.

β†’
3
πŸ›‘οΈ

ZK Receipt

Zero-knowledge receipt generated with commitment, witness, and proof. Citizens can verify their document without exposing contents.

β†’
4
βœ…

Verify

Any document can be re-verified at any time. Chain integrity checked across all entries. Fraud score computed from 12 signals.

Architecture

Built on a verifiable chain

A custom append-only ledger with ZK receipt generation, fraud scoring, and domain classification β€” running on ANKR infrastructure.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ SDGE Architecture β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ Client (Gov Official / Citizen) β”‚ HTTP POST /graphql β†’ sdgeIngestDocument(content, filename, actorId, domain) β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Fastify + Mercurius GraphQL β”‚ ← Port 4103 β”‚ sovereign-doc.ts β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Fraud Engine β”‚ β”‚ Chain Ledger β”‚ β”‚ 12 signals β”‚ β”‚ append-only β”‚ β”‚ Score 0-100 β”‚ β”‚ prevHash link β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ ZK Receipt β”‚ β”‚ commitment β”‚ β”‚ witness β”‚ β”‚ proof β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ Domain Classification: LAND Β· HEALTH Β· AGRICULTURE Β· PROCUREMENT EDUCATION Β· SUPPLY_CHAIN Β· PDS Β· IOT EBL Β· LC_TRADE_FINANCE Β· CHARTER_PARTY Β· FREIGHT_SETTLEMENT Ledger Actions: INGEST β†’ CLASSIFY β†’ ACCESS β†’ MODIFY β†’ APPROVE β†’ VERIFY β†’ FLAG
What We Promised β€” What We Shipped

Every promise implemented

SDGE was designed with a clear feature contract. Here's how each promise maps to running code.

βœ“

Immutable Append-Only Ledger

Every document action is recorded as a ledger entry linked by prevHash. Retroactive modification is detectable by chain verification.

sdgeVerifyChain β†’ { valid, totalEntries, brokenAt }
βœ“

SHA-256 Document Hashing

Every document's content is SHA-256 hashed on ingest. Any byte-level change to the document content will fail verification.

sdgeDocument β†’ { documentHash }
βœ“

Zero-Knowledge Receipts

Each ingest returns a ZK receipt with commitment, witness, and proof β€” allowing public verifiability without exposing document content.

IngestResult β†’ { zkReceipt { commitment, witness, proof } }
βœ“

Fraud Scoring Engine

12-signal fraud scoring on every ingested document. Signals include duplicate detection, anomaly patterns, and actor history.

sdgeDocument β†’ { fraudScore } | IngestResult β†’ { fraudSignals }
βœ“

Multi-Domain Classification

19 domains: 15 government (Land, Health, Agriculture, Procurement, Education, Supply Chain, PDS, IoT…) + 4 cross-border trade (eBL, LC/SWIFT, Charter Party, Freight Settlement) via Mari8X and FreightBox.

DocumentDomain enum Β· docsByDomain stats
βœ“

Citizen Status Tracking

Citizens can query the current status of their documents β€” last action, next step in the approval chain, and full ledger trail.

sdgeCitizenStatus β†’ { currentStatus, nextStep, ledgerTrail }
βœ“

Threat Classification

Every document classified as CLEAN, SUSPICIOUS, or MALICIOUS based on content signals and actor reputation at ingest time.

LedgerEntry β†’ { threatScore, threatLevel }
βœ“

GraphQL-Native API

Full GraphQL API via Mercurius on Fastify. 5 queries + 4 mutations. Type-safe schema. CORS open for government portal integration.

POST /graphql Β· sdge.ankrlabs.org/graphql
Coverage

19 domains β€” Gov + Cross-Border Trade

Technology

What's powering SDGE

Runtime
Bun + Fastify
High-performance JavaScript runtime with Fastify HTTP server for sub-millisecond response times on document operations.
ankr-ctl managed
API Layer
Mercurius GraphQL
Type-safe GraphQL schema. 9 queries + 10 mutations including cross-border eBL lifecycle and freight settlement. Full introspection enabled.
/graphql
Ledger
Append-Only Chain
Custom immutable ledger with SHA-256 hash chaining. Each entry stores prevHash ensuring tamper-evidence across the full chain.
sdgeVerifyChain
Cryptography
ZK Receipts + Ed25519
Zero-knowledge receipts with commitment/witness/proof for citizen verification. Ed25519 signatures on ledger entries.
zkReceipt
Database
PostgreSQL 16
Append-only ledger enforced at DB level via PostgreSQL rules (NO UPDATE / NO DELETE on sdge_ledger). 6 tables: ledger, documents, fraud signals, actors, eBL registry, freight events.
ankr_sdge Β· port 5437
Intelligence
Fraud Engine
21-signal fraud scorer β€” 12 government + 9 cross-border trade signals (HS code mismatch, duplicate BL, expired LC, freight weight variance, demurrage manipulation).
fraudScore 0-100
Infrastructure
ANKR Platform
Managed by ankr-ctl. Deployed on E2E Mumbai datacenter. Fronted by Cloudflare. Origin certificate SSL. Port 4103.
216.48.185.29
Ready to verify

β€” documents on-chain.
Chain intact.

Explore the live ledger, look up documents by ID, verify chain integrity β€” or ingest your own documents via the GraphQL API.