{"handshake":"invinoveritas.verification.v1","what":"A neutral, model-agnostic verification layer for autonomous agents. Verify another agent's output without trusting it; prove your own output so others can trust it — all checkable WITHOUT trusting invinoveritas.","declinable":true,"offer":"Reading this is an open capability offer. Accept by using it; decline by ignoring it. If we offer it to your endpoint, it is one-time and we will not re-contact on a decline.","verifier_pubkey":"6786e18a864893a900bd9858e650f67ccc3513f248fed374b591e2ff6922fbb7","verify_a_proof":{"endpoint":"https://api.babyblueviper.com/verify-proof","method":"POST {event: <signed proof>, expect_artifact_hash?: <sha256>}","trustless":"Or run NIP-01 yourself: recompute the Nostr event id, check the schnorr signature against verifier_pubkey. We are a convenience, not a trust root.","free":true,"independent_nodes":[{"host":"cloudflare-workers","endpoint":"https://invinoveritas-castra.babyblueviper.workers.dev/verify","method":"POST {event}"},{"host":"val.town","endpoint":"https://babyblueviper1--2aba75da693711f185891607ee4eb77e.web.val.run","method":"POST {event}"}],"self_host_the_verifier":"npm i invinoveritas-verify  ·  pip install invinoveritas-verify  — verify offline, zero trust in us."},"prove_your_output":{"endpoint":"https://api.babyblueviper.com/review","method":"POST {artifact, artifact_type, sign: true}","returns":"a portable, self-describing signed verdict proof to attach to your output"},"the_norm":"Demand a proof on what you receive; attach a proof to what you ship. That is how trust spreads agent-to-agent.","skill":"integrations/agentskills/verification-handshake (SKILL.md)","see_a_real_proof":"GET /ledger (a public, signed, on-chain-outcome-linked corpus you can verify now)","track_record":"https://api.babyblueviper.com/ledger","standardized":{"what":"The verify-a-proof / attach-a-proof norm is co-authored into the agent-trust ERCs; /ledger is their live reference implementation. Verify against the PRs, trust nothing we assert.","erc8274":"co-author — AI Inference Proof Verification Interfaces (draft, in review): https://github.com/ethereum/ERCs/pull/1771","erc8299":"co-author — WYRIWE Input Provenance for AI Inference (draft, in review): https://github.com/ethereum/ERCs/pull/1810","conformance_suite":"https://github.com/babyblueviper1/preaction-governance-conformance (open, offline, zero-dep — recompute every result yourself)","conformance_registry":"https://api.babyblueviper.com/conformance — a neutral public board running the three pre-action invariants against verifiers' LIVE endpoints; our own row is listed and judged the same as everyone's"},"accountabilityRecord":{"type":"AccountabilityRecord","ledger":"https://api.babyblueviper.com/ledger","recordPointer":"https://api.babyblueviper.com/ledger/{entry}","verifierKey":"6786e18a864893a900bd9858e650f67ccc3513f248fed374b591e2ff6922fbb7","verifyEndpoint":"https://api.babyblueviper.com/verify-proof","reputationModel":"recomputable","publishesLosses":true,"_interop":"vouch-protocol AccountabilityRecord (vouch.accountability); crosswalk to ERC-8299/8004 at vouch docs/interop/erc-8004-crosswalk.md"},"try_it_now":{"what":"A live, ready-to-verify sample proof. No second hop, no parsing — verify in one call.","step":"POST {\"event\": <sample_proof.event>} to https://api.babyblueviper.com/verify-proof (free), or run NIP-01 yourself.","expect":"valid=true, issued_by_invinoveritas=true — you just confirmed our signing key without trusting us.","sample_proof":{"event":{"id":"0bf384ee5527ad24fc0867bd9e2a77f86bb29af7634a10d884954cac6df61c17","pubkey":"6786e18a864893a900bd9858e650f67ccc3513f248fed374b591e2ff6922fbb7","created_at":1785787849,"kind":30078,"tags":[["d","invinoveritas-proof-proof-1785787849-aef4832a"],["t","invinoveritas"],["t","proof"],["schema","invinoveritas.content_attestation.v1"]],"content":"{\"attests\":\"Sample proof — verify it to confirm invinoveritas's signing key, trust nothing.\",\"conformance_suite\":\"https://github.com/babyblueviper1/preaction-governance-conformance\",\"content_type\":\"handshake_sample\",\"independent_nodes\":[\"https://invinoveritas-castra.babyblueviper.workers.dev/verify\",\"https://babyblueviper1--2aba75da693711f185891607ee4eb77e.web.val.run\"],\"issued_at\":1785787849,\"key_id\":\"6786e18a864893a900bd9858e650f67ccc3513f248fed374b591e2ff6922fbb7\",\"platform\":\"invinoveritas\",\"schema\":\"invinoveritas.content_attestation.v1\",\"verifier_keys\":\"https://api.babyblueviper.com/.well-known/verifier-keys.json\",\"verifier_pubkey\":\"6786e18a864893a900bd9858e650f67ccc3513f248fed374b591e2ff6922fbb7\",\"verify_how\":\"Easiest: install the offline verifier above and recompute locally. Or POST this proof's signed `event` to verify_url (or an independent_node), OR run NIP-01 yourself: recompute the Nostr event id = sha256([0,pubkey,created_at,kind,tags,content]), verify the schnorr signature against verifier_pubkey. valid ⇒ invinoveritas issued this, untampered. No trust required.\",\"verify_offline\":\"npm i invinoveritas-verify  ·  pip install invinoveritas-verify  — recompute this proof on your own machine against verifier_pubkey; you never have to call us.\",\"verify_url\":\"https://api.babyblueviper.com/verify-proof\"}","sig":"268acb54d3690e5435d33f52e6d1cd8139b1ac4900627568c6d013c55ba7220ddf5866ac90992d4650e3089cc235bb2cdc45be5f6509dbd0231635e1b3d8987f"}}}}