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
}));
};