How Does an AI Agent Check Whether It Should Pay Before It Spends? The /bin/bash.005 Spend Gate ScriptMasterLabs released Spend Gate, an x402-based pre-payment check that charges $0.005 USDC on Base for a verdict on whether an AI agent should complete a proposed payment. Four independent paths — provider trust, payload safety, price sanity and delivery history — vote pay or reject, combine into a coherence score that must reach 0.6 with a pay-side consensus, and only then does the Jev decision model review the payment. In October 26 proof runs the gate passed a $0.001 USDC call at coherence 1.0 and blocked a $5.00 over-cap call at coherence 1.0 without invoking Jev, spending nothing on the decision model. It buys a check first. ScriptMasterLabs' Spend Gate — live-tested October 26, 2026 — charges $0.005 USDC on Base for a pre-payment verdict: four independent paths vote pay or reject on the payee and the quoted amount, the votes combine into a coherence score |Σ w·d| / Σ w, pass at ≥ 0.6 with a pay-side consensus , and a Jev decision model reviews the payment only if the gate passes. In the October 26 proof runs the gate passed a $0.001 USDC call at coherence 1.0 and blocked a $5.00 over-cap call at coherence 1.0 — consensus reject, Jev never fired, zero decision-model spend on the block. That is the short answer, with the receipts below. Spend Gate is the decision-gated payments pattern https://scriptmasterlabs.com/decision-gated-payments https://scriptmasterlabs.com/decision-gated-payments pointed at the buyer's side of x402: the rails move money, the gate decides whether this payment should move. The taxonomy argument for the missing decision layer is at https://scriptmasterlabs.com/the-fourth-layer https://scriptmasterlabs.com/the-fourth-layer — this page is the operational version, with a live endpoint, a price, and settled proof transactions for both a pass and a block. An agent or its wallet wrapper sends the gate a payee and a quoted amount before signing anything. Four paths evaluate the payment independently — path independence is the point: a number computed from paths that copy each other would claim agreement that never happened. | Path | What it checks | How it votes | |---|---|---| | provider trust | The payee, via Provider Trust's verify provider | Real verdicts via the fleet operator lane: verified / provisional → pay 0.8 ; do not trust / unreachable → reject 0.8 ; insufficient evidence → honest abstention | | payload safety | The thing being bought, when a manifest url names an npm / PyPI / crates package, via ScriptDocs vulnerability check | 0 vulnerabilities → pay 0.9 ; CRITICAL / HIGH findings → reject 0.9 ; a non-package URL abstains, with the reason stated | | price sanity | The quoted amount against a policy cap | Cap-only in v1 and v2 — no historical median exists and none was invented. Caller cap overrides; defaults below. Vote weighted by headroom; over cap → reject | | delivery history | Whether this host's settlement ledger has actually delivered for this payee before | Reads the OmniGate ledger on the same host 67 delivered / 12 failed records at first proof ; a payee with no records abstains — the gate's own check history never votes no self-dealing path | Default caps in code and in the product docs : data lookup / search / content fetch / verification $0.05, market data $0.10, inference / llm $0.25, compute $0.50, unlisted category $0.10. The votes combine as coherence = |Σ w·d| / Σ w, where d = +1 for pay-side, −1 for reject-side, and w is each path's confidence. gate pass requires coherence ≥ 0.6 AND a pay-side consensus. Only on a pass does the second opinion fire: Jev jev-1.14.0 in the proof runs answers an act score plus a pay / reject / quarantine choice. A block spends nothing on Jev — the expensive judgment is reserved for payments that already cleared the cheap evidence. The check itself is an x402 call, so the pattern eats its own cooking: MCP tool spend gate check and REST POST /x402/spend-gate on the mcp-x402 host, $0.005 USDC per check on Base eip155:8453 to payTo 0xc29185fa176357612f3194735753e520e91adc46. The gate moves no funds — it returns a verdict; the agent's own wallet still signs or doesn't afterwards. Every check below was paid by ScriptMasterLabs' own proof wallet and settled to the fleet's own payTo — owner self-tests, never customer purchases — and every transaction was re-read on Base RPC on the evening of October 26, 2026 for this page: all six at status 0x1 success . | Run | Payment proposed | Result | Coherence | Jev | Check settlement | |---|---|---|---|---|---| | v1 good | squeezeos-api.onrender.com, $0.001, data lookup | PASS | 1.0, consensus pay | act 0.87, choice pay conf 0.92 , jev-1.14.0 | tx 0x36a8a11d66e61d8d08745e385fafd677cd9c2eb83ccc048bec321172ec3f6373, block 53,104,724 | | v1 bad | nonexistent-payee-zzz-987.invalid, $5.00 vs $0.05 cap | BLOCKED | 1.0, consensus reject | Not fired gate blocked | tx 0x3867007818ba10503ee5ad7cb979fb7dd5be62db97bb0a8fd2c7126fdc00f60e, block 53,104,732 | | v1 restart | Good payee + npm manifest, after a full service restart | PASS — pre-restart check history read back state survived | 1.0 | act 0.88, choice pay | tx 0x9dff5a704552a9b1b6d75511da9c33ff8962ef2b782af4747e3e678ffe568719, block 53,104,781 | | v2 trust | scriptmasterlabs.com, $0.001, cap $0.05 | PASS — provider trust voted pay 0.8 with a real verdict | 1.0 | act 0.89, choice pay | tx 0x19ab67471a106026857d6ac498ac5623d0c85ceb43e6f3190d9dd679c3e44deb, block 53,105,535 | | v2 three-path | Same payee + npm:express manifest 0 vulnerabilities | PASS — three paths voting 0.8 + 0.9 + 0.99 | 1.0 | act 0.90, choice pay | tx 0x2b0cf2b9e14249210d31415fc68b86512c86ad19f54f543967d74a87fdcaeeeb, block 53,105,554 | | v2 bad | offline-payee.invalid, $5.00 vs $0.05 cap | BLOCKED — price reject 1.0 AND provider trust reject 0.8 DO NOT TRUST / DNS unavailable | 1.0, consensus reject | Not fired gate blocked | tx 0xc82f8d9ac7688e3ae4d20c77fe4d13bf8f438967dd08beb6f6183bc6d27abd1e, block 53,105,555 | Details that matter more than the headline numbers: ScriptMasterLabs' Spend Gate, live-tested October 26, 2026, passed a $0.001 USDC payment at coherence 1.0 and blocked a $5 over-cap payment at coherence 1.0 — the check itself costs $0.005 USDC, settled on Base. Fresh unpaid probes for this page, run twice with identical amounts and statuses probe file: probe-spendgate-1026.out in the run record : spendGateCheck with the coherence formula and its "Use for / Don't use when" text served verbatim. gate pass true + pay consensus → proceed to sign. Minimal REST shape unpaid call returns the 402 challenge first; pay $0.005 and re-present : POST https://mcp-x402.onrender.com/x402/spend-gate { "payee": "https://seller.example/api", "quote usdc": 0.001, "tool category": "data lookup", "policy cap usdc": 0.05, "manifest url": "https://www.npmjs.com/package/express" } Spend Gate is live as part of ScriptMasterLabs' mcp-x402 node: MCP tool spend gate check for MCP clients, REST POST /x402/spend-gate for anything that speaks HTTP, $0.005 USDC per check on Base, no account and no API key — the x402 challenge is the checkout. It is the buyer-side companion to the seller-side decision products: Verdict Protocol https://scriptmasterlabs.com/verdict-protocol https://scriptmasterlabs.com/verdict-protocol seals a 5-juror Jev decision receipt for $0.25 when the question is a judgment call worth a jury; Spend Gate is the half-cent evidence check for the ordinary payment an agent makes a hundred times a day. The pattern both implement — decide first, pay second, keep the receipt — is written up at https://scriptmasterlabs.com/decision-gated-payments https://scriptmasterlabs.com/decision-gated-payments tool category as required while the tool description and the REST schema call it optional, so an MCP caller that omits it gets a validation error before the handler runs. The REST route does not have the issue. Canonical: https://scriptmasterlabs.com/ai-agent-spend-gate https://scriptmasterlabs.com/ai-agent-spend-gate Related: https://scriptmasterlabs.com/verdict-protocol https://scriptmasterlabs.com/verdict-protocol · https://scriptmasterlabs.com/decision-gated-payments https://scriptmasterlabs.com/decision-gated-payments · https://scriptmasterlabs.com/the-fourth-layer https://scriptmasterlabs.com/the-fourth-layer · https://scriptmasterlabs.com/x402-agent-spending-guard https://scriptmasterlabs.com/x402-agent-spending-guard