ART-284 · Trust Rails · Agent Identity Family

did:webvh DID Log Verifier

Verifies a did:webvh self-certifying DID log: per-entry self-hash integrity, sequential versionId numbering, update-key-authorized signatures on every entry, deactivation status, and (optionally) that the resolved current DID Document matches an expected value. did:webs is superseded: DIF/ToIP recommend did:webvh (June 2026). Verify-only: this tool never operates witness/registry infrastructure and never resolves a live document over the network.

did:webvh 1.0 Verify-Only Zero-Fetch
🔒 All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data or production key material; use synthetic or anonymised inputs only.
Successor to ART-04
ART-04 (Agent Identity & Authorization Attestation Checker) validates KYA-OS AgentCredential / DelegationChain structure and named this did:webvh upgrade path as the portable-identifier target. This tool verifies the actual did:webvh log mechanics (hash chaining and update-key authorization) that ART-04 references but does not check.
Subject
DID Log (JSON array)
Valid
Entries Checked
Deactivated
Failures
EntryCodeDetail
Compliance Flags
⚠ DECISION-SUPPORT DRAFT. Verifies log mechanics only; it is not a legal determination that the controlling entity is who it claims to be.
OpenChainGraph v0.4 artifact · execution_hash:


    

Ask your agent

Copy this paragraph into Claude, OpenClaw, or any MCP-aware agent to run this exact tool, with this sample, and verify the artifact.

Run the AINumbers MCP tool `verify_did_webvh_log`. Task: Verify a did:webvh self-certifying DID log: per-entry self-hash integrity, sequential versionId numbering, update-key-authorized Ed25519 signatures on every entry, deactivation status, and optional resolved-document match.
Call it with arguments: {"policy_parameters":{"did":"did:webvh:{SCID}:example.com:agents:alpha","did_log":[{"versionId":"1-e42e4191001ee7d68d48609c2f30b141bd0a38da21496378a29108720c435a56","versionTime":"2026-01-01T00:00:00Z","parameters":{"method":"did:webvh:1.0","scid":"QmScidPlaceholder1234567890abcdef1234567890abcdef1234567890","updateKeys":["did:key:z6MkfJpX7dP5KqfxbK9nN3ttWptKBjRGrCqJaW28zqBUnRjX"],"portable":false},"state":{"id":"did:webvh:{SCID}:example.com:agents:alpha","verificationMethod":[{"id":"did:webvh:{SCID}:example.com:agents:alpha#key-1","type":"Ed25519VerificationKey2020","controller":"did:webvh:{SCID}:example.com:agents:alpha","publicKeyMultibase":"z6MkfJpX7dP5KqfxbK9nN3ttWptKBjRGrCqJaW28zqBUnRjX"}]},"proof":[{"type":"DataIntegrityProof","cryptosuite":"eddsa-jcs-2022","verificationMethod":"did:key:z6MkfJpX7dP5KqfxbK9nN3ttWptKBjRGrCqJaW28zqBUnRjX","proofPurpose":"assertionMethod","proofValue":"1Ha0QDlQmx8Ch0H+ARATa1UU6jnghtm2LpqpV11m//W+42YnRwc9Bl8sx43JLmEskTzcSlngUcQdgFgrLK6lBg=="}]},{"versionId":"2-81ead391846f6088ddab084e2119b8304224a671b6c3f4b598605661ccd91196","versionTime":"2026-02-01T00:00:00Z","parameters":{"updateKeys":["did:key:z6MknN3rKuzKRmKyRQheSZ2n8yBKCwsTfZprYj1HBmF48bp2"]},"state":{"id":"did:webvh:{SCID}:example.com:agents:alpha","verificationMethod":[{"id":"did:webvh:{SCID}:example.com:agents:alpha#key-1","type":"Ed25519VerificationKey2020","controller":"did:webvh:{SCID}:example.com:agents:alpha","publicKeyMultibase":"z6MkfJpX7dP5KqfxbK9nN3ttWptKBjRGrCqJaW28zqBUnRjX"}],"service":[{"id":"did:webvh:{SCID}:example.com:agents:alpha#agent-endpoint","type":"AgentEndpoint","serviceEndpoint":"https://example.com/agents/alpha"}]},"proof":[{"type":"DataIntegrityProof","cryptosuite":"eddsa-jcs-2022","verificationMethod":"did:key:z6MkfJpX7dP5KqfxbK9nN3ttWptKBjRGrCqJaW28zqBUnRjX","proofPurpose":"assertionMethod","proofValue":"PUj6zxdMWvEQeQhhfCHShlQzgagicFXph2tFcQK9e3RGF6/8yHNr3ASsUTiHySBhfOWv1A7J3PnoVy4qEBVrCg=="}]}]}}
Verify before trusting: call `verify_execution_hash` on mcp.ainumbers.co (https://mcp.ainumbers.co/mcp) with the parameter `claimed_hash` set to the returned `execution_hash`, passing the full artifact the run returned (the object containing `policy_parameters` + `output_payload` + `execution_hash`; equivalently `policy_parameters` + `output_payload` with `claimed_hash`), not the bare hash string.
Return the ledger link https://ledger.ainumbers.co/ so a human can re-verify without contacting us.
PII rule: All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data — use synthetic or anonymised inputs only.
Open the tool with the sample prefilled: https://ainumbers.co/chaingraph/art-284-did-webvh-log-verifier.html#p=v1.H4sIAAAAAAAA_wGKB3X4eyJkaWQiOiJkaWQ6d2Vidmg6e1NDSUR9OmV4YW1wbGUuY29tOmFnZW50czphbHBoYSIsImRpZF9sb2ciOlt7InZlcnNpb25JZCI6IjEtZTQyZTQxOTEwMDFlZTdkNjhkNDg2MDljMmYzMGIxNDFiZDBhMzhkYTIxNDk2Mzc4YTI5MTA4NzIwYzQzNWE1NiIsInZlcnNpb25UaW1lIjoiMjAyNi0wMS0wMVQwMDowMDowMFoiLCJwYXJhbWV0ZXJzIjp7Im1ldGhvZCI6ImRpZDp3ZWJ2aDoxLjAiLCJzY2lkIjoiUW1TY2lkUGxhY2Vob2xkZXIxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTAiLCJ1cGRhdGVLZXlzIjpbImRpZDprZXk6ejZNa2ZKcFg3ZFA1S3FmeGJLOW5OM3R0V3B0S0JqUkdyQ3FKYVcyOHpxQlVuUmpYIl0sInBvcnRhYmxlIjpmYWxzZX0sInN0YXRlIjp7ImlkIjoiZGlkOndlYnZoOntTQ0lEfTpleGFtcGxlLmNvbTphZ2VudHM6YWxwaGEiLCJ2ZXJpZmljYXRpb25NZXRob2QiOlt7ImlkIjoiZGlkOndlYnZoOntTQ0lEfTpleGFtcGxlLmNvbTphZ2VudHM6YWxwaGEja2V5LTEiLCJ0eXBlIjoiRWQyNTUxOVZlcmlmaWNhdGlvbktleTIwMjAiLCJjb250cm9sbGVyIjoiZGlkOndlYnZoOntTQ0lEfTpleGFtcGxlLmNvbTphZ2VudHM6YWxwaGEiLCJwdWJsaWNLZXlNdWx0aWJhc2UiOiJ6Nk1rZkpwWDdkUDVLcWZ4Yks5bk4zdHRXcHRLQmpSR3JDcUphVzI4enFCVW5SalgifV19LCJwcm9vZiI6W3sidHlwZSI6IkRhdGFJbnRlZ3JpdHlQcm9vZiIsImNyeXB0b3N1aXRlIjoiZWRkc2EtamNzLTIwMjIiLCJ2ZXJpZmljYXRpb25NZXRob2QiOiJkaWQ6a2V5Ono2TWtmSnBYN2RQNUtxZnhiSzluTjN0dFdwdEtCalJHckNxSmFXMjh6cUJVblJqWCIsInByb29mUHVycG9zZSI6ImFzc2VydGlvbk1ldGhvZCIsInByb29mVmFsdWUiOiIxSGEwUURsUW14OENoMEgrQVJBVGExVVU2am5naHRtMkxwcXBWMTFtLy9XKzQyWW5Sd2M5Qmw4c3g0M0pMbUVza1R6Y1NsbmdVY1FkZ0ZnckxLNmxCZz09In1dfSx7InZlcnNpb25JZCI6IjItODFlYWQzOTE4NDZmNjA4OGRkYWIwODRlMjExOWI4MzA0MjI0YTY3MWI2YzNmNGI1OTg2MDU2NjFjY2Q5MTE5NiIsInZlcnNpb25UaW1lIjoiMjAyNi0wMi0wMVQwMDowMDowMFoiLCJwYXJhbWV0ZXJzIjp7InVwZGF0ZUtleXMiOlsiZGlkOmtleTp6Nk1rbk4zckt1ektSbUt5UlFoZVNaMm44eUJLQ3dzVGZacHJZajFIQm1GNDhicDIiXX0sInN0YXRlIjp7ImlkIjoiZGlkOndlYnZoOntTQ0lEfTpleGFtcGxlLmNvbTphZ2VudHM6YWxwaGEiLCJ2ZXJpZmljYXRpb25NZXRob2QiOlt7ImlkIjoiZGlkOndlYnZoOntTQ0lEfTpleGFtcGxlLmNvbTphZ2VudHM6YWxwaGEja2V5LTEiLCJ0eXBlIjoiRWQyNTUxOVZlcmlmaWNhdGlvbktleTIwMjAiLCJjb250cm9sbGVyIjoiZGlkOndlYnZoOntTQ0lEfTpleGFtcGxlLmNvbTphZ2VudHM6YWxwaGEiLCJwdWJsaWNLZXlNdWx0aWJhc2UiOiJ6Nk1rZkpwWDdkUDVLcWZ4Yks5bk4zdHRXcHRLQmpSR3JDcUphVzI4enFCVW5SalgifV0sInNlcnZpY2UiOlt7ImlkIjoiZGlkOndlYnZoOntTQ0lEfTpleGFtcGxlLmNvbTphZ2VudHM6YWxwaGEjYWdlbnQtZW5kcG9pbnQiLCJ0eXBlIjoiQWdlbnRFbmRwb2ludCIsInNlcnZpY2VFbmRwb2ludCI6Imh0dHBzOi8vZXhhbXBsZS5jb20vYWdlbnRzL2FscGhhIn1dfSwicHJvb2YiOlt7InR5cGUiOiJEYXRhSW50ZWdyaXR5UHJvb2YiLCJjcnlwdG9zdWl0ZSI6ImVkZHNhLWpjcy0yMDIyIiwidmVyaWZpY2F0aW9uTWV0aG9kIjoiZGlkOmtleTp6Nk1rZkpwWDdkUDVLcWZ4Yks5bk4zdHRXcHRLQmpSR3JDcUphVzI4enFCVW5SalgiLCJwcm9vZlB1cnBvc2UiOiJhc3NlcnRpb25NZXRob2QiLCJwcm9vZlZhbHVlIjoiUFVqNnp4ZE1XdkVRZVFoaGZDSFNobFF6Z2FnaWNGWHBoMnRGY1FLOWUzUkdGNi84eUhOcjNBU3NVVGlIeVNCaGZPV3YxQTdKM1Bub1Z5NHFFQlZyQ2c9PSJ9XX1dfQzQKdeKBwAA