An x402 facilitator that verifies and settles USDG through Permit2 — one payer signature per payment, gas paid by the facilitator, never in custody. Gasless per payment after a one-time Permit2 approval.
Built on Robinhood Chain · Settles in USDG · Non-custodial
After a one-time on-chain approve(Permit2), every payment is just an EIP-712 PermitWitnessTransferFrom signature: token, exact amount, deadline, nonce — and the recipient, bound into an X402Witness. No transaction, no gas per payment.
Thirteen ordered checks against live chain state: scheme, network, asset, amount, deadline, signature recovery, nonce bitmap, balance, allowance. Any failure returns a stable reason code — never a raw error.
The relayer submits permitWitnessTransferFrom and pays the gas. USDG moves payer → payee directly. Idempotent on (owner, nonce); replays return AUTHORIZATION_USED.
Funds move payer→payee inside one Permit2 call. The facilitator holds nothing and pays only gas.
The payee address is inside the payer's signature. A tampered destination fails ECDSA recovery.
Every check must pass. RPC failures reject the payment; nothing is assumed valid.
In-flight dedupe plus the on-chain Permit2 nonce bitmap. Replays and races resolve to AUTHORIZATION_USED.
USDG is promoted by an on-chain preflight that proves the EIP-712 domain against DOMAIN_SEPARATOR.
Structured JSON logging with redaction. Raw private keys are refused in production.
https://facilitator.canopyfinance.io
Seller quickstart Client quickstart