x402 Facilitator (Path B)

Create an x402 payment settlement on Solana

Changed on

Path B facilitator /settle: permanent message-hash reservation, cosign feePayer, submit, fail-closed confirm. Returns twzrd_receipt (V7) + merchant_attach for payTo. Gas-sponsored settle + trust memory in one hop. Attach is best-effort - never voids on-chain settle. Policy/replay failures usually HTTP 200 with success=false. Not Path A multi-rail paid-trust 402. settle_gate_enabled does not gate this rail when false (current prod default).

post/settle

Request

  • Base URL
    https://intel.twzrd.xyz
  • Auth
    none required

Request body

x402Versioninteger
paymentPayloadobject required

Same envelope accepted by POST /verify.

paymentRequirementsobject required

extra.feePayer must be GWRLgRB6diC2zG9BaoGJsan9T8JvJCk7usFruiefnfMP.

Response

Settle result. success=true includes transaction + best-effort twzrd_receipt/merchant_attach; success=false with errorReason for policy/replay (e.g. duplicate_settlement) still HTTP 200.

successboolean required
errorReasonstring nullable

Set when success=false. Examples: duplicate_settlement, policy:reservation_unavailable, settle_error:*, bad_request:…

transactionstring

Solana tx signature when success=true; empty on reject.

networkstring
payerstring
settlement_recordedstring

Durable ledger status: recorded | replay | error | …

twzrd_receipt_notestring

Why receipt was omitted (best-effort attach).

ack_pay_credentialobject

Optional ACK-Pay VC transform of twzrd_receipt (best-effort).

Example response

{
  "success": true,
  "transaction": "<solana-sig>",
  "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
  "payer": "<base58>",
  "settlement_recorded": "recorded",
  "twzrd_receipt": {
    "version": "v6"
  },
  "merchant_attach": {
    "attached": true,
    "facilitator": "twzrd",
    "signed": true
  }
}

Changes