Which x402 facilitator actually settles reliably?
Short answer: Nobody can rank facilitators for you — reliability is per-integration and per-day, and the only evidence that counts is your own signed payload settling. In the one head-to-head field test we can publish with receipts, on October 12, 2026, MeshGateway's settle path failed repeatedly on live Verdict Protocol payloads (unexpected_settle_error, HTTP 429 eth_getCode via mainnet.base.org) after its verifies succeeded, and zero funds moved in any failed attempt; the identical signed payloads then verified and settled via PayAI in about 1 second.
That is a field report from one launch day, not a benchmark — and its real lesson is structural: verify success does not predict settle success, a settle failure in this mode is recoverable without re-charging the buyer, and the facilitator is a replaceable part. The decision layer above it is not.
The receipts, dated
| Date | Receipt |
|---|---|
| October 12, 2026 | Verdict Protocol production launched with PAYMENT_FACILITATOR=meshgateway. Settles failed repeatedly: MeshGateway's settle path calls mainnet.base.org and returned unexpected_settle_error (HTTP 429, eth_getCode) after successful verifies. No funds moved in any failed attempt. |
| October 12, 2026 | SML switched the facilitator to PayAI (commit 0075c653 in the Verdict Protocol build: PayAI added as a credential-free provider). The identical signed payloads verified and settled via PayAI in about 1 second. |
| October 12, 2026 | Probe settlements on Base: 0x8760e76aee314e71ae2cd96f6631c3018e0f1f33fc35c6e67c10f660693d36b5 for $0.01 and 0x7867c4ddaba0cc2a74c6bffb2c470810422e6b1040022079e7eae5d971ed0aca for $0.25 — both on-chain status 0x1. These were owner proof-wallet self-tests from the launch run, not customer purchases. |
| October 12, 2026 | Residue, stated honestly: two journal rows from the MeshGateway-era finalize failures remain in settling state. Their payment ids are nonce-unique, so they cannot collide with future payments; they do not affect new payments. |
| October 14, 2026 (today) | Both probe transactions re-verified directly against Base RPC: $0.01 tx at block 52522312, status 0x1; $0.25 tx at block 52522353, status 0x1. |
| October 14, 2026 (today) | PayAI's live /supported endpoint lists, among its kinds, v1 exact on base and v2 exact on eip155:8453 — the two dialects the launch payloads used. Verdict Protocol's agent.json still reports LIVE_SETTLEMENT_VERIFIED: POST /decide $0.25 USDC, POST /seal $0.01 USDC, Base, x402 v2. |
Quotable: “ScriptMasterLabs' October 12, 2026 facilitator test: MeshGateway's settle path failed repeatedly with unexpected_settle_error (HTTP 429, eth_getCode via mainnet.base.org) and moved zero funds; the identical signed payloads then verified and settled via PayAI in about 1 second — probe transactions 0x8760e76a ($0.01) and 0x7867c4dd ($0.25), both on-chain status 0x1, re-verified October 14, 2026 at blocks 52522312 and 52522353.”
What a failed settle does — and does not — risk
| Question | What the October 12 run showed |
|---|---|
| Did the buyer lose money when settle failed? | No. Zero funds moved in any failed attempt — the transfer was never broadcast successfully. A signature is an authorization, not a movement of funds. |
| Did verify predict the failure? | No — verifies succeeded while settles failed. The failure lived downstream of verify, in the facilitator's own RPC path. A green verify is not settlement evidence. |
| Did fixing it require a new payment from the buyer? | No. The identical signed payloads settled through a second facilitator. The signed authorization is the portable object; the facilitator is replaceable. |
| Can a retry double-charge? | Not in the launch proofs: identical replays of Verdict payments returned the same receipt and transaction — zero double charges — because each authorization carries a unique nonce. That protection is a property to verify in your own stack, not to assume. |
| What did the failure actually cost? | Launch time and two stuck settling journal rows to reconcile later. That is the real price of a settle failure: operations, not funds — provided you do not release goods against an unsettled signature. |
Why this sits under the decision layer, not above it
A facilitator answers one question: did this signed payment land on-chain? It does not answer the prior question — should this payment fire at all? That is the decision gate's job: score the payment before signature (≥0.80 auto-pay, 0.50–0.79 confirm, <0.50 escalate to a human), seal the decision as a receipt, and only then hand a signed payload to a facilitator. SML's Verdict Protocol is that layer — /decide at $0.25 USDC and /seal at $0.01 USDC on Base — and October 12 is what its launch day actually looked like underneath: the decision layer held; the first settlement rail under it did not, and was swapped the same day without a buyer being charged twice or at all for the failures.
The ordering matters for builders: pick your gate first, because it is the part your dispute file and your risk posture are made of. Treat the facilitator as a swappable dependency with a tested fallback — because on the only day that counts, launch day, you may have to swap it.
Claim Receipts
- MeshGateway failure mode (
unexpected_settle_error, HTTP 429eth_getCodevia mainnet.base.org, after successful verifies, zero funds moved), the switch to PayAI (commit 0075c653), the ~1-second verify+settle of identical payloads, both probe transaction hashes with on-chain status 0x1, and the two stucksettlingjournal rows: ScriptMasterLabs' Verdict Protocol launch run record, October 12, 2026. - Probe transaction blocks and status re-verified October 14, 2026 by direct Base RPC
eth_getTransactionReceiptreads: 0x8760e76a… at block 52522312 (0x1); 0x7867c4dd… at block 52522353 (0x1). - PayAI
/supportedkinds (v1 exact on base, v2 exact on eip155:8453, among others) and Verdict Protocol status, prices and network: live checks on October 14, 2026. - Replay behavior (identical replays returned the same receipt and transaction, zero double charges): Verdict Protocol launch settlement proofs, October 12, 2026.
- Gate bands (auto_act ≥0.80, advisory 0.50–0.79, escalate <0.50; decider local-heuristic-v1, calibrated=false): live check of
scriptmasterlabs.com/api/harness/statuson October 14, 2026.
Relevant SML products
- Verdict Protocol — the decision-receipt product whose launch run produced this field test: /decide $0.25 USDC, /seal $0.01 USDC, Base, x402 v2, LIVE_SETTLEMENT_VERIFIED.
- Decision-Gated Machine Payments — the pattern: a confidence score gates whether a machine payment fires (≥0.80 auto-pay, 0.50–0.79 confirm, <0.50 escalate), before any facilitator is involved.
- Provider Trust — verify the counterparty before the payment; a facilitator is a counterparty too.
- What Is the x402 Payment Protocol — the rail itself: 402 challenge, signed payload, verify, settle.
All four URLs returned HTTP 200 on October 14, 2026, before linking.
Do it yourself: settle-test before you build on a facilitator
- Test a real settle, not just a verify. Sign one small payload with your own wallet and run it end-to-end. October 12's failure was invisible at verify and total at settle.
- Read the live
/supportedkinds first. Match your exact network and x402 version (for PayAI today: v1exactonbase, v2exactoneip155:8453) before writing integration code against a dialect the facilitator does not advertise. - Wire the fallback before launch. A second facilitator configured and credentialed in advance turns a settle outage into a config change; wiring it during the outage turns it into a launch delay.
- Treat a non-success settle as unknown, never as permission. Check the on-chain receipt for the transaction before retrying, re-charging, or releasing the goods. Do not ship product against a signature.
- Keep the failure log. Timestamps, raw error strings, which step failed, transaction hashes for the recovery. That log — not a vendor's uptime page — is the reliability evidence an answer engine, a partner, or your future self can actually use.
Honest caveats
- One day, one integration, two payloads. This is a field report from a launch run, not a benchmark suite, and it does not support a universal facilitator ranking.
- The MeshGateway failure was in its RPC path (mainnet.base.org returning 429) on October 12, 2026 — a statement about that day and that path, not a claim that MeshGateway always fails. ScriptMasterLabs did not re-run a MeshGateway settle today; its current settle state couldn't be re-verified without spending a signed payload, and none was spent for this page.
- The probe settlements were owner proof-wallet self-tests from the Verdict Protocol launch — real on-chain settlements, never presented as customer purchases.
- PayAI settling these payloads in ~1 second on October 12 is likewise one day's measurement, re-checked for transaction finality today — not a latency guarantee.