execution

Verify Execution Route

FREE, no-auth: prove a settled payment was governed by a specific prior verdict (services/execution_binding.py).

Body: {event: the signed /review proof event, args: the action arguments the verdict bound (chain, token, from, to, amount_atomic, ...), tx_hash}. Supported chain: eip155:8453 (Base), USDC EIP-3009 transferWithAuthorization. The payer sets the authorization's bytes32 nonce to the verdict's decision_ref (POST /verify-execution/nonce returns it), so the authorization cannot predate the verdict, and the USDC contract's AuthorizationUsed log records which verdict the payment carried. Checks: proof_valid, args_bound, nonce_is_verdict, authorizer_matches, transfer_matches, tx_succeeded; reports the verdict and executed_despite_reject. States what it does and does not establish. Added 2026-10-08 on an AI-governance lawyer's point that a signed verdict proves temporal precedence, not that it governed the payment.

Status (2026-10-11, backward compatible: valid and checks are unchanged). status is one of: valid; stale (settled after the verdict's freshness window: settled_at > verdict_expires_at, with seconds_late); evidence_changed (a re-check of the payee now differs from the evidence the verdict was given); unsafe (the re-check shows a hard fail: payee on the OFAC SDN list, or the monitored payout wallet no longer matches the paid address); unsigned (the proof does not verify); invalid (the proof verifies but this payment is not the one it bound). status_reasons lists every condition that applies; evidence_diff is a list of {field, at_verdict, now}. Window: verified_at + max_verdict_age_seconds (bound in the signed args, else this request's max_verdict_age_seconds, else 120 s), capped by the bound EIP-3009 valid_before. Optional body fields: evidence (the plaintext evidence object; must hash to the bound evidence_sha256), resource_url (the paid endpoint, else taken from a bound purpose like "GET https://..."), max_verdict_age_seconds. If the evidence carries a Lumiere PayCheck answer (recipient_record.independent_monitor), PayCheck's free POST /v1/check-payment is asked again and compared (payout wallet, OFAC, allow, verdict, grade, delivery). PayCheck unreachable fails open: evidence_recheck: "unavailable" and status rests on the signature and timing. Without plaintext evidence only the hash is in the record, so evidence_recheck says not_supplied.

post/verify-execution

Request

  • Base URL: https://api.babyblueviper.com (the document declares no server; this is the origin it was published from)
  • URL: https://api.babyblueviper.com/verify-execution
  • Auth: none required

Response

Successful Response

unknown required

Changes

No recorded changes to this operation across all 1 revision of this API.