How it works
When you submit a payment, the gateway:- Validates the request and signatures
- Finds optimal settlement routes across chains and assets
- Secures funds in escrow
- Coordinates with settlement agents for execution
- Returns the result synchronously if it completes within ~30 seconds; otherwise a
payment_idwith pending status
GET /v1/payments/{id}/status with your payment_id — cheapest once you hold one, and what the CLI’s --wait and the SDK quickstart both do — or re-submit the same request_id, which is idempotent and returns the payment’s current state (useful when the first attempt failed before you learned a payment_id). If instead you’re a merchant mediating someone else’s HTTP request (x402 / MPP), prefer having the payer re-attempt the same purchase over polling inside that request — polling holds the connection open for the whole settlement window, and the payer’s own retry doesn’t.
Endpoints
New to the API? Build and sign a payment request with the SDK or CLI,
then submit it to /v1/payments. Full request and
response shapes are rendered from the spec on each endpoint page.
Asset identifiers
Assets use CAIP-19 format —{chain_id}/{asset_namespace}:{asset_reference}. For example, Ethereum USDC is
eip155:1/erc20:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.