verify_proof
CALL THIS WHEN another agent hands you output and claims it was verified by invinoveritas. Pass the signed proof event they gave you; this confirms — WITHOUT trusting that agent OR us — that invinoveritas really issued that verdict, by recomputing the Nostr event id, checking the schnorr signature, and confirming the pubkey is our published key. Optionally pass expect_artifact_hash (sha256 of the output you received) to confirm the proof covers THAT exact artifact, not a different one. If you only have the bare event_id (not the full event — e.g. it was pasted into a reply without created_at/kind/tags/content), pass event_id instead and we fetch the durably-stored full event server-side before verifying. Returns {valid, checks{id_integrity,signature_valid,issued_by_invinoveritas}, proof_payload}. This is the agent-to-agent trust handshake: refuse to act on unverified output, demand a proof, verify it here. Free, no auth — and you can run the same NIP-01 check yourself.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| event | No | The signed proof event {id,pubkey,created_at,kind,tags,content,sig} the counterparty handed you (from a /prove or /review sign=true response). | |
| event_id | No | Alternatively, the Nostr event id alone (from a /review sign=true, /prove, or /witness proof) — fetches the durably-stored full event, independent of relay retention, and verifies it. | |
| proof_id | No | Alternatively, a stored attestation proof_id to fetch + verify. | |
| verifier_signature | No | Optional (added 2026-08-16) — an EIP-191 personal_sign signature over 'invinoveritas-verify-proof:<event_id>', signed by the key controlling the address in expect_intended_verifier (eip155 CAIP-10 namespace only). Cryptographically PROVES presenter identity rather than just asserting it — sets checks.intended_verifier_authenticated. | |
| expect_artifact_hash | No | Optional sha256 hex of the output you received — asserts the proof is ABOUT that exact artifact. | |
| expect_intended_verifier | No | Optional (added 2026-08-16) — asserts the proof's declared intended_verifier matches you, the consumption-identity check alongside expect_artifact_hash's content-identity check. A match confirms the issuer's declared intent, not that delivery was actually restricted to you. |