Check agent purchase
check_agent_purchaseInspect one autonomous HTTP purchase before the calling agent pays it. This $0.01 machine-payment operation validates a real 402 challenge, compares advertised price/protocol/network/asset/payment destination when supplied, checks x402 v2 exact resource binding when available, and surfaces retry or settled-delivery recovery signals. ExitProof never forwards payment credentials and never sends a live POST, PUT, PATCH, or DELETE probe; for those methods the caller supplies an already-observed 402 challenge. Conflicting, malformed, inaccessible, non-402, or unsafe targets are rejected before ExitProof issues its own payment challenge. Use check_reversibility instead for cancellation/refund terms on a real-world commitment, create_exit_manifest to preserve an eligible exit path, and build_exit_pack when an exit is actually needed. A successful check is not a recommendation, merchant-identity guarantee, delivery guarantee, legal opinion, or authorization to spend.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| operation | No | Optional caller label for the target operation. This is descriptive only and is included in the check digest. | |
| advertised | No | Optional payment facts advertised by discovery metadata. ExitProof compares these to the observed 402 challenge and rejects material conflicts before its own payment challenge. | |
| live_probe | No | Whether ExitProof may make one anonymous, credential-free request to target_url. Defaults true for GET/HEAD and false for state-changing methods. | |
| target_url | Yes | Public HTTPS endpoint the agent is considering paying. Credentials, localhost, private-address literals, and non-HTTPS URLs are rejected. | |
| request_method | No | HTTP method of the contemplated purchase. Live probing is allowed only for GET or HEAD. For state-changing methods supply observed_response instead. | GET |
| retry_contract | No | Optional retry, settled-delivery recovery, and refund/reversal facts advertised by the target. These remain caller-supplied unless independently verified elsewhere. | |
| observed_response | No | A 402 response already observed by the calling agent. Required when live_probe is false. Supply payment challenge headers only, never a payment credential. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| checks | Yes | Individual safety checks. Conflicts reject before payment and therefore never appear as a paid result. | |
| target | Yes | Normalized target endpoint and contemplated method. | |
| evidence | Yes | Evidence provenance, including whether the 402 challenge was independently observed by ExitProof. | |
| nextStep | Yes | Machine-readable status and bounded instruction for the calling agent. | |
| checkedAt | Yes | Time the check result was produced. | |
| advertised | No | Normalized caller-supplied advertised terms used for consistency checks. | |
| assessment | Yes | Bounded pre-payment status. This is not a recommendation to buy. | |
| checkDigest | Yes | SHA-256 digest of the normalized target, payment facts, recovery facts, and evidence provenance. | |
| limitations | Yes | Boundaries on what the paid result establishes. | |
| reversibility | Yes | Published retry, settled-delivery recovery, and reversal metadata supplied for this target. | |
| schemaVersion | Yes | Agent purchase check schema version. | |
| observedPayment | Yes | Selected machine-payment offer normalized from the observed 402 challenge. | |
| receiptEnvelope | Yes | Additive Davisville Receipt Envelope v1. The native ExitProof purchase-check result remains authoritative. | |
| availablePaymentOffers | Yes | All parseable x402 or MPP offers found in the observed response. |