Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Authorization not required, issuer https://api.babyblueviper.com
Changed the definition of "work_acceptance_check"
⟨52 unchanged words⟩ "string"},"producer":{"description":"{namename?,key_id?key_id} of who produced theworkwork. key_id (the producer's public key or key identifier) is required: independence is checker key != producer key, so a name alone is refused","type":"object"},"references":{ ⟨38 unchanged words⟩
Changed the definition of "work_acceptance_check"
⟨59 unchanged words⟩ produced the work","type":"object"},"references":{"description":"Optional inputs the judge may use as evidence (max 4), each {name, content_base64}; each one's sha256 must appear in the committed criteria (pinned before the work)","items":{"type":"object"},"type":"array"}},"required":["criteria","content_base64"],"type":"object"}
Changed the definition of "work_acceptance_check"
{"properties":{"bindings":{"description":"Optional 64-hex links: x402_receipt_commitment (the receipt's authorizationCommitment, x402#3827), x402_authorization_nonce (the ERC-3009 nonce, never a tx hash), terms_ref, ap2_mandate_hash, execution_receipt_sha256, request_occurrence_sha256","type ⟨45 unchanged words⟩
Changed the definition of "work_acceptance_check"
⟨3 unchanged words⟩ :"Optional 64-hex links: x402_receipt_commitment, terms_ref, ap2_mandate_hash, execution_receipt_sha256, request_occurrence_sha256","type":"object"},"client_ref":{ ⟨43 unchanged words⟩
Authorization not required, issuer https://api.babyblueviper.com
Added "work_acceptance_check" and "work_acceptance_criteria" (34 tools before, 36 now)
Independent work-acceptance record: we check a delivered file against criteria you committed earlier (work_acceptance_criteria) and return a record in Trilatic's work-acceptance format, signed by OUR checker key (never the producer's) with an RFC 3161 timestamp over it. Per criterion pass / fail / not-evaluated / error; anything that cannot be judged from the file is not-evaluated, never a guessed pass; verdict recomputed (required fail -> fail; required not-evaluated/error -> incomplete). The file (<= 2 MB, text or PDF) is hashed, never stored. Keys: /.well-known/invinoveritas-checker-keys.j…
FREE. Commit acceptance criteria BEFORE the work exists, for an independent work-acceptance record later. Send the criteria document ({criteria_set, version, title, criteria: [{id, title, requirement, required}]}) or only its sha256 so the content stays with you. Returns criteria_id and two RFC 3161 timestamp tokens (FreeTSA, DigiCert) plus a Bitcoin OpenTimestamps proof. The first commitment of a hash is permanent; committing again never moves its time. This is the 'criteria were fixed first' evidence dispute specs (ACP SEP #303 7.4a) require.
Added "verify_media" (9 tools before, 10 now)
Check whether a video, audio or image file is byte-for-byte a file a publisher registered with invinoveritas. Pass the file's SHA-256 (compute it locally; the file is not sent). A match returns the registration: per-claim evidential states from its C2PA Content Credentials (signature/hash binding, signer trust, declared edit history, declared AI-generation labels: VERIFIED / DECLARED_ONLY / CONTRADICTED / INSUFFICIENT), any capture tier with its caveat, the signed verdict and the Bitcoin timestamp. No match means not registered, which says nothing either way about the file. A re-encoded copy …
Changed the definition of "payment_receipt"
⟨87 unchanged words⟩ job without paying again for a ghost result. With a tx_hash it states observed_amount / observed_payee (read from the tx's Transfer logs) next to expected_amount, with amount_matches / payee_matches; every receipt names issuer_key_id and verifier_url. Every receipt carries denial_code / denial_codes (verdict_reject, verdict_outside_proceed_on, retry_window_expired, tx_not_bound_payment, tx_wrong_payee, tx_amount_mismatch, wallet_approval_mismatch, terms_hash_conflict, paid_no_output_recorded) so an agent ⟨82 unchanged words⟩
Added "verify_media" (33 tools before, 34 now)
Check whether a video, audio or image file is byte-for-byte a file a publisher registered with invinoveritas. Pass the file's SHA-256 (compute it locally; the file is not sent). A match returns the registration: per-claim evidential states from its C2PA Content Credentials (signature/hash binding, signer trust, declared edit history, declared AI-generation labels: VERIFIED / DECLARED_ONLY / CONTRADICTED / INSUFFICIENT), any capture tier with its caveat, the signed verdict and the Bitcoin timestamp. No match means not registered, which says nothing either way about the file. A re-encoded copy …
Authorization not required, issuer https://api.babyblueviper.com
Changed the definition of "review"
⟨587 unchanged words⟩ tier values.","type":"string"},"evidence":{"description":"Optional, with policy: [{id, provenance (requester_supplied|independent), kind, content}] for the substantive conditions.","items":{"type":"object"},"type":"array"},"external_evidence":{"description":"Optional (v17, 2026-09-10 ⟨108 unchanged words⟩ cited evidence.","type":"array"},"facts":{"description":"Optional, with policy: the structured request fields the deterministic rules read (e.g. recipient, amount_atomic, chain, token).","type":"object"},"intended_audience":{"description":"Optional: declare who/what ⟨222 unchanged words⟩ Establishes key control at issue time, NOT independence.","type":"object"},"policy":{"description":"Optional (2026-10-13): policy-governed review. {schema: 'invinoveritas.review_policy.v1', deterministic: [{id, field, op (eq|ne|in|not_in|lte|lt|gte|gt), value}], substantive: [{id, requirement, accept_states (subset of [VERIFIED, DECLARED_ONLY], default [VERIFIED]), min_provenance (requester_supplied|independent)}]}. Deterministic rules are checked in code against `facts` first; any FAIL or MISSING rejects with no model call. Only substantive conditions go to the model, which returns VERIFIED / DECLARED_ONLY / CONTRADICTED / INSUFFICIENT per condition; a fixed rule from the policy decides. The result's policy_evaluation (also inside the signed proof) states its claim: 'factual' only if every condition was VERIFIED by evidence, else 'declarative'. Pair with verdict_relay to release a VerdictGatedEscrow payment on Base.
Changed the definition of "review"
⟨614 unchanged words⟩ tier values.","type":"string"},"evidence":{"description":"Optional, with policy: [{id, provenance (requester_supplied|independent), kind, content}] for the substantive conditions.","items":{"type":"object"},"type":"array"},"external_evidence":{"description":"Optional (v17, 2026-09-10 ⟨108 unchanged words⟩ cited evidence.","type":"array"},"facts":{"description":"Optional, with policy: the structured request fields the deterministic rules read (e.g. recipient, amount_atomic, chain, token).","type":"object"},"intended_audience":{"description":"Optional: declare who/what ⟨222 unchanged words⟩ Establishes key control at issue time, NOT independence.","type":"object"},"policy":{"description":"Optional (2026-10-13): policy-governed review. {schema: 'invinoveritas.review_policy.v1', deterministic: [{id, field, op (eq|ne|in|not_in|lte|lt|gte|gt), value}], substantive: [{id, requirement, accept_states (subset of [VERIFIED, DECLARED_ONLY], default [VERIFIED]), min_provenance (requester_supplied|independent)}]}. Deterministic rules are checked in code against `facts` first; any FAIL or MISSING rejects with no model call. Only substantive conditions go to the model, which returns VERIFIED / DECLARED_ONLY / CONTRADICTED / INSUFFICIENT per condition; a fixed rule from the policy decides. The result's policy_evaluation (also inside the signed proof) states its claim: 'factual' only if every condition was VERIFIED by evidence, else 'declarative'. Pair with verdict_relay to release a VerdictGatedEscrow payment on Base.
Changed the definition of "payment_receipt"
⟨87 unchanged words⟩ job without paying again for a ghost result. Every receipt carries denial_code / denial_codes (verdict_reject, verdict_outside_proceed_on, retry_window_expired, tx_not_bound_payment, tx_wrong_payee, wallet_approval_mismatch, terms_hash_conflict, paid_no_output_recorded) so an agent can branch on why not to spend. Args the verdict did not bind (for example a different payee) on a verdict that verifies return a SIGNED 422 refusal (refusal_code args_not_bound). The same nonce cannot settle twice. settlement_id is ⟨43 unchanged words⟩
Added "payment_receipt" (8 tools before, 9 now)
Signed receipt for one verdict-governed payment: endpoint, network, asset, max amount, payer, facilitator verdict, settlement id, denial reason, and retry state. retry_state is read from the token's authorizationState, so retrying with the same nonce cannot double-pay. Pass the signed review event and the payment args it bound; optional tx_hash. Refuses unsigned when the verdict does not verify or does not bind those args. The receipt itself checks with verify_proof. Free, no sign-in. Does not move funds. Docs: https://github.com/babyblueviper1/invinoveritas/tree/main/examples/qbtlabs-x402-ve…
Changed the definition of "payment_receipt"
⟨56 unchanged words⟩ payer, nonce): paid_do_not_retry, pending, denied_do_not_retry, expired_do_not_retry, or not_paid_safe_to_retry. Optional terms_hash, authorization_signature (verified to recover to the payer) and output_hash add terms_hash, wallet_approval, output_hash and job_state, so an agent can retry the job without paying again for a ghost result. The same nonce cannot settle twice. settlement_id is ⟨43 unchanged words⟩
⟨14 unchanged words⟩ verdict's action_binding_args_hash.","type":"object"},"authorization_signature":{"description":"Optional: the payer's 65-byte EIP-3009 signature (hex). The receipt verifies it recovers to the payer over the bound amount, payee, validity window and the verdict's nonce, under the token's on-chain EIP-712 domain.","type":"string"},"event":{"description":"The signed /review verdict ⟨20 unchanged words⟩ Default 120.","type":"integer"},"
Added "payment_receipt" (32 tools before, 33 now)
CALL THIS after a verdict-governed EIP-3009 payment, before you retry it. Pass the signed /review event and the payment args it bound (optional tx_hash). Returns a BIP-340-signed receipt with endpoint, network, asset, max_amount, payer, facilitator_verdict, settlement_id, denial_reason, retry_state, and idempotency_key (the EIP-3009 nonce, equal to the verdict's decision_ref). retry_state is read from USDC authorizationState(payer, nonce): paid_do_not_retry, pending, denied_do_not_retry, or not_paid_safe_to_retry. The same nonce cannot settle twice. settlement_id is set only when the tx is pr…
Authorization not required, issuer https://api.babyblueviper.com
Changed the definition of "seller_intel"
⟨40 unchanged words⟩ → a DISCOVERABILITY audit (your exact CDP-catalog offset+ freshness, how therecency-rankedusage-rankeddepth-firstcatalogdailyordercrawl(30-dayfindsdistinctlistingspayers and calls) decides who crawlers find, why you're buried, the honest levers). ⟨9 unchanged words⟩
Authorization not required, issuer https://api.babyblueviper.com
Changed the definition of "decision_receipt"
⟨28 unchanged words⟩ the choice, never your plaintext; the saltcomesstaysbackwithtoyou.youAddonly.decider.request_id, decider.pubkey and decider_sig (BIP-340 over the claim) and the receipt holds a decider-scoped slot: one receipt per decider key and request_id whatever account pays; a second, different claim is refused with no charge and listed publicly as a conflict. Slot lookup and the daily Bitcoin-stamped slot log are free (GET /decision-receipt/slot/{slot}, /decision-receipt/slots/log). Options you mark irreversible come back executable=false unless ⟨37 unchanged words⟩
Authorization not required, issuer https://api.babyblueviper.com
Authorization not required, issuer https://api.babyblueviper.com
Authorization not required, issuer https://api.babyblueviper.com
Changed the definition of "review"
⟨1204 unchanged words⟩ later with verify_proof.","type":"boolean"},"verdict_relay":{"description":"Optional (verdict-relay/v2): also return a BIP-340 signature an ERC-8414 InvinoveritasVerdictAuthoritySigned contract verifies on-chain (garyyang-finchip/task-token-standard#2). {chain_id, authority, task_contract, token_id, submission_id, task_version, result_hash, task_document}. Requires sign=true. result_hash must be sha256 of the exact artifact; task_document is the plaintext task document (sha256 = the kernel's tdHash) and is put into the review context. approved/decision_ref come from our own verdict (approve->true, reject->false; concerns/defer unsigned). Checked before any charge. Result field verdict_relay.","type":"object"}},"required":["artifact"],"type":"object"}
Added "decision_receipt" (31 tools before, 32 now)
Signed receipt for a bounded-choice decision from OpenAI's Decisions API, Jev, or any classifier. It signs hashes of the question, options and context plus a salted commitment to the choice, never your plaintext; the salt comes back to you only. Options you mark irreversible come back executable=false unless you attach a signed review proof over the same input (artifact = context). The decision is caller-reported: the receipt attests the commitment and the gate, not that the decider chose it. Verify with verify_proof (free).
Changed the definition of "review"
⟨1343 unchanged words⟩ model we run.","type":"boolean"},"verdict_relay":{"description":"Optional (verdict-relay/v2): also return a BIP-340 signature an ERC-8414 InvinoveritasVerdictAuthoritySigned contract verifies on-chain (garyyang-finchip/task-token-standard#2). {chain_id, authority, task_contract, token_id, submission_id, task_version, result_hash, task_document}. Requires sign=true. result_hash must be sha256 of the exact artifact; task_document is the plaintext task document (sha256 = the kernel's tdHash) and is put into the review context. approved/decision_ref come from our own verdict (approve->true, reject->false; concerns/defer unsigned). Checked before any charge. Result field verdict_relay.","type":"object"}},"required":["artifact"],"type":"object"}
Certificate recorded, valid to 2026-12-15
Authorization not required, issuer https://api.babyblueviper.com
First tool surface recorded: 8 tools (server version 1.13.0)
https://api.babyblueviper.com/mcp/verify (mcp_streamable_http) — from mcp_registry
Changed the definition of "review"
⟨731 unchanged words⟩ cited evidence.","type":"array"},"include_trading_state":{"default":false,"description":"Sentinel mode: inject live Sovereign Earner state (equity, regime, open position, PnL) for trading-related reviews. Highly recommended for any trading or risk decision.","type":"boolean"},"intended_audience":{"description":"Optional: declare who/what ⟨612 unchanged words⟩
Changed the definition of "review"
⟨921 unchanged words⟩ own chain_id/address.","type":"string"},"mediator_attestation":{"description":"Optional (v22): your mediator proves control of its own key. {key_url (https, mediator's own domain), public_key_ed25519_b64, requested_at (unix s, +-600 s), nonce (8-128 ASCII), signature_ed25519_b64} -- Ed25519 over the RFC 8785 JCS bytes of {schema:'invinoveritas.mediator_request.v1', artifact_hash (sha256 hex of the exact artifact), artifact_type, requested_at, nonce}; key_url must list the key. Requires sign=true; checked before any charge; bound into the proof as mediator_attestation_hash. Establishes key control at issue time, NOT independence.","type":"object"},"related_claims":{"description":"Optional (policy v20) ⟨375 unchanged words⟩
Changed the definition of "review"
⟨921 unchanged words⟩ own chain_id/address.","type":"string"},"related_claims":{"description":"Optional (policy v20): a structured claim about related_proof_event -- a non-empty subset of {artifact_hash, verdict, verified_at, policy_version, decision_ref}. Compared by exact equality against the referenced proof (which we re-verify); the claims hash, comparison version and result (matched|mismatched|missing_proof|unverifiable_proof; not_supplied if omitted) are bound into decision_ref. Faithful restatement only: not relevance, authorization or truth.","type":"object"},"related_proof_event":{"description":"Optional: if the ⟨317 unchanged words⟩
Verified owner set by repo_file proof on github.com/babyblueviper1/invinoveritas
Certificate changed, valid to 2026-12-15
Certificate recorded, valid to 2026-10-17
Authorization not required
First tool surface recorded: 31 tools (server version 1.13.0)
Showing the latest 39 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨38 unchanged words⟩ ":{"description":"{provider, model, request_id, pubkey}; request_id stored only as ahashhash; pubkey (x-only BIP-340) makes the slot decider-scoped","type":"object"},"decider_claimed_at":{"description":"Decider-scoped only: unix time in the signed claim","type":"integer"},"decider_sig":{"description":"Decider-scoped only: BIP-340 sig by decider.pubkey over sha256(JCS(decision claim))","type":"string"},"irreversible_options":{"description":"Options that need a ⟨43 unchanged words⟩ same bytes as context","type":"object"},"salt":{"description":"Decider-scoped only: the decider's 64-hex salt for the commitments it signs","type":"string"},"score":{"description":"Decider score ⟨12 unchanged words⟩
{"openWorldHint":false,"readOnlyHint":truefalse,"title":"Receipt a bounded-choice decision"}