Blockchain-Verified Digital Credential

Credential Verified

🏅 Credential Certificate

Credential Certificate

📜 Credential Details

Credential ID
b9fd0eb9-eb10-46f8-9d45-425c6a529f84
Event Name
YDF Kria - AI Playday
User DID
Email
akhilagilgal@gmail.com
Event Description
Learning
Narrative
AKHIL ANIL
Skill Hierarchy
Issued Date
2026-06-19T14:34:24.877Z
Issuer
did:key:zDnaecARhDsBATi4mPJEzJmjMAkzwty5iSVvsNrpVXTapCJuQ
Tags
    Publisher
    Citizen Digital Foundation

    🔐 Blockchain Verification

    🔗 Network: polygon_mainnet

    This credential is permanently recorded on the blockchain for immutable verification.

    📜 Merkle Proof Data ▼

    Complete merkle proof data including blockchain transaction details:

    { "batch_id": "b65d26f1-5f08-4068-91be-3d2fc2317284", "blockchain_info": { "contract_address": "0x81FE95d5034D2B0B4E293fAe7d51243A09Ff31C5", "published_at": "2026-06-19T18:30:06.288552", "transaction_hash": "2cf61c8db2d9aec32cc0bdf295fdef839d5bf0ece403667301128679bc5f0140" }, "issuance_info": { "issued_at": "2026-06-19T18:00:01.780302", "issued_by": "did:key:zDnaecARhDsBATi4mPJEzJmjMAkzwty5iSVvsNrpVXTapCJuQ", "issued_to": "did:key:z6MkgbqxJNW7kARvB8RowaEbgXC2ZvoVMFXNcHNfB3JK5oVw" }, "merkle_proof": { "index": 0, "proof": [] }, "merkle_root": "0x7ea86b447fb2c73a51fc18891ce3f3e51536138f1ed06f9b3ac8eddcbf8a69a8", "status": "issued", "tree_type": "issuance" }
    🔍 Verification Steps & Blockchain Proof ▼

    Step-by-step verification process and blockchain verification results:

    { "blockchain_status": "BLOCKCHAIN_VERIFICATION_FAILED", "blockchain_verification": { "network_info": { "chain_id": 137, "current_block": 95156912, "is_testnet": false, "network": "polygon_mainnet", "rpc_url": "https://polygon-mainnet.g.alchemy.com/v2/7gs1nnlhLR4Az1nPfl-RU" }, "verification_method": "dynamic_network_config", "verified": false }, "credential_status": "ISSUED", "cryptographic_status": "VERIFIED_AS_ISSUED", "cryptographic_verification": { "computed_root": "0x7ea86b447fb2c73a51fc18891ce3f3e51536138f1ed06f9b3ac8eddcbf8a69a8", "stored_root": "0x7ea86b447fb2c73a51fc18891ce3f3e51536138f1ed06f9b3ac8eddcbf8a69a8", "verification_details": { "computed_merkle_root": "0x7ea86b447fb2c73a51fc18891ce3f3e51536138f1ed06f9b3ac8eddcbf8a69a8", "credential_hash": "0x7ea86b447fb2c73a51fc18891ce3f3e51536138f1ed06f9b3ac8eddcbf8a69a8", "merkle_proof_array": [], "roots_match": true, "stored_merkle_root": "0x7ea86b447fb2c73a51fc18891ce3f3e51536138f1ed06f9b3ac8eddcbf8a69a8", "verification_method": "cryptographic_merkle_proof_verification" }, "verified": true }, "overall_verified": false, "steps": [ { "computed_hash": "0x7ea86b447fb2c73a51fc18891ce3f3e51536138f1ed06f9b3ac8eddcbf8a69a8", "description": "Hash the complete credential data using SHA256", "input": "Full credential JSON data (credentialPreview object)", "method": "SHA256(JSON.stringify(credentialData, sort_keys=True))", "note": "For issued credentials, the entire credential data is hashed", "step": 1 }, { "computation_details": { "algorithm": "if bytes(current) \u003c= bytes(sibling): SHA256(current + sibling) else: SHA256(sibling + current)", "critical_note": "DO NOT use tree index positioning (even=left, odd=right). Use lexicographic byte comparison for deterministic ordering.", "ordering_rule": "lexicographic_byte_comparison" }, "computation_example": "Start with credential_hash, compare bytes with sibling1 lexicographically, hash smaller+larger, repeat with result and next sibling", "computation_method": "For each sibling hash: compare bytes lexicographically, put smaller hash first, then SHA256(smaller + larger)", "computed_root": "0x7ea86b447fb2c73a51fc18891ce3f3e51536138f1ed06f9b3ac8eddcbf8a69a8", "credential_hash": "0x7ea86b447fb2c73a51fc18891ce3f3e51536138f1ed06f9b3ac8eddcbf8a69a8", "description": "Compute merkle root using lexicographic byte ordering", "merkle_proof_array": [], "roots_match": true, "step": 2, "stored_root": "0x7ea86b447fb2c73a51fc18891ce3f3e51536138f1ed06f9b3ac8eddcbf8a69a8" }, { "blockchain_network": "polygon_mainnet", "blockchain_verified": false, "contract_address": "0x81FE95d5034D2B0B4E293fAe7d51243A09Ff31C5", "description": "Verify computed merkle root exists on blockchain using stored RPC URL", "method": "Call smart contract verifyProof() with tree_type=0", "rpc_url_used": "https://polygon-mainnet.g.alchemy.com/v2/7gs1nnlhLR4Az1nPfl-RU", "step": 3, "tree_type": "issuance (tree_type=0)" } ], "verification_method": "issuance_tree_verification" }
    This credential belongs to you? If yes, then click here to claim it!
    📱 Claim Your Credential