Skip to main content
The x402 and MPP payment examples run against three environments. Pick based on what you’re doing — the example apps default to the local stub, so real settlement is always opt-in.
Hosted URLs live on Endpoints. Each example’s README covers that app’s stub flags, .env, and corridor. Other surfaces — the CLI and SDK quickstarts — may point at different endpoints.

Which environment should I use?

The example merchants default to stub mode, so any private key works and no funds move. Set the stub flag to false to settle for real over Atum’s hosted testnet, or against mainnet (rate-limited to small payment amounts).
production-testnet is a testnet, and it is not yet hardened.Expect occasional slow corridors. When settlement outruns the gateway’s ~30s synchronous window, the acceptance side reports the payment as still settling and the payer re-attempts the same purchase until it reaches a terminal outcome — that cannot charge twice. See Idempotency.

Examples repository

Stub flags (USE_STUB_FACILITATOR / USE_STUB_SUBMITTER), .env.example, and the corridor each app ships with are documented in the examples repository README (Environments section) and in each app’s “Going to testnet / mainnet” section. Hosted URLs are on Endpoints.

Next steps