MERKLE LEDGER
Connected to Ledger
Back to Portal

PUBLIC MERKLE LEDGER

Verify your vote inclusion and explore election integrity data using cryptographic proofs. All data is public, independently verifiable, and privacy-preserving.

VERIFY YOUR VOTE

ELECTION EXPLORER

REAL-TIME MERKLE TREE UPDATES

Live Updates: Merkle tree roots and election statistics update automatically via WebSocket connection.

PUBLIC MERKLE LEDGER API

Public API: No authentication required. All endpoints are rate-limited to 200 requests per 15 minutes per IP.

AVAILABLE ENDPOINTS

GET /api/public/merkle/:electionId/summary

Get election Merkle tree summary with blockchain commitment.

curl http://localhost:7500/api/public/merkle/1/summary

POST /api/public/merkle/verify-vote

Verify vote inclusion with cryptographic proof.

curl -X POST http://localhost:7500/api/public/merkle/verify-vote \ -H "Content-Type: application/json" \ -d '{"vote_hash":"abc123..."}'

POST /api/public/merkle/verify-proof

Independently verify Merkle proof without database.

curl -X POST http://localhost:7500/api/public/merkle/verify-proof \ -H "Content-Type: application/json" \ -d '{"vote_hash":"abc...","merkle_root":"def...","proof":[...]}'

GET /api/public/merkle/:electionId/audit-trail

Get complete Merkle block chain for election.

curl http://localhost:7500/api/public/merkle/1/audit-trail

GET /api/public/merkle/:electionId/export

Export verification package for offline audit.

curl http://localhost:7500/api/public/merkle/1/export?format=json

WebSocket: ws://localhost:7500/ws/public-merkle

Real-time Merkle tree updates via WebSocket.

const ws = new WebSocket('ws://localhost:7500/ws/public-merkle'); ws.onopen = () => { ws.send(JSON.stringify({ type: 'subscribe', election_id: 1 })); };