Verify Stratigraphy ZK Proof
proof.verifyPURPOSE: Verifies a base64url-encoded Groth16/Poseidon BN254 proof against typed public claims and a telemetry snapshot. USAGE: Use to validate a proof against snapshot data. Do NOT use to submit proof coordinates for optional Nostr publication; use proof.submit instead. PARAMETERS: proof is a non-empty base64url proof string; publicInputs is an object with non-negative integer blockHeight, non-empty string snapshotDigest, non-empty string thermodynamicHash, non-negative integer timestamp, and non-negative integer valuationSat; verificationKeyId is a non-empty string; data is a telemetry object or an array of telemetry objects. BEHAVIOR: Checks the snapshot digest, semantic claims, verification-key identifier, and Groth16 proof in memory, and updates bounded process-memory verification and lifecycle indexes without durable database storage. Rate limit: 60 req/min per IP shared across /mcp. RETURNS: Object containing valid, verifiedAt, and computationTimeMs; proof, snapshot, semantic, or key mismatches produce valid false. ERRORS: -32602 (Invalid Parameters) for malformed or missing input properties; HTTP 429 (Rate Limit) when the shared limit is exceeded. No 402 payment required.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Telemetry snapshot payload object or array of objects containing canonical state values. | |
| proof | Yes | Base64url-encoded Groth16/Poseidon BN254 proof string without padding. | eyJwaV9hIjpbIjEyMyIsIjQ1NiIsIjEiXX0 |
| publicInputs | Yes | Object containing five typed public statement inputs committed by the proof. | |
| verificationKeyId | Yes | SHA-256 verification-key identifier string formatted with 'sha256:' prefix. | sha256:4c095e183ea45a9d |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| error | No | Human-readable verification error message when verification cannot validate the proof. Example: 'Verification key identifier does not match the proof.'. | Verification key identifier does not match the proof. |
| valid | Yes | Whether the proof is valid and bound to the snapshot. | |
| verifiedAt | Yes | ISO 8601 UTC date string format. | 2026-09-19T01:41:36.458Z |
| computationTimeMs | Yes | Server-side proof verification duration in milliseconds. |