{"data":{"behavior":"STEP_CHANGE","claim_id":"signed_snapshot_verify","data_paths":["mcp_tools_signed_snapshot.py:tool_verify_snapshot_signature","signed_snapshot.py:verify_envelope","signed_snapshot.py:load_public_key"],"finalized_window":false,"label":"verify_snapshot_signature is stateless \u2014 re-derives leaf hash, checks Ed25519 signature against pinned pubkey, checks audit path against chain root, returns verify_result:bool + public_key_fingerprint + issues[].","layer2_rules":[],"needs_trace":false,"note":null,"page":{"path":"/mcp","url":"https://xrpldashboard.com/methodology#for-ai-agents"},"risk_note":"No shared state with the writer, no I/O beyond loading the pinned public key \u2014 same verification path a third-party verifier would run. Accepts either the full MCP envelope ({data, proof, server}) or the bare signed payload dict. Malformed input (missing required fields, non-dict envelope, None) raises rather than returning verify_result=False \u2014 malformed input is a caller bug, not a verification result. Freshness_contract=\"\u2264 5min\" reflects in-process stateless check, not data staleness.","sovereignty":{"layer3_source":"cryptographic-signature","tier":"green"},"status":"green","status_reason":"Sovereign source \u2014 our own infrastructure (local rippled node or Ed25519 signing key). Currently sellable through the future paid tier and signable in the daily snapshot chain.","uri":"xrpl.mcp.signed_snapshot_verify","verification":{"manifest_repo":"https://github.com/Enkryptedx/xrpldashboard/blob/main/CLAIMS.yaml","signed_snapshot_chain":"https://xrpldashboard.com/.well-known/snapshots/chain.json","walker_health":"https://xrpldashboard.com/coverage#walker-inventory"}},"proof":{"as_of":"2026-08-05T21:14:12Z","claims_ref":"xrpl.claims.uri_scheme","freshness_contract":"recomputed from CLAIMS.yaml on file change (mtime-cached)","honest_partial":false,"methodology_url":"https://xrpldashboard.com/methodology#for-ai-agents","source":"claims_manifest"}}
