Skip to main content
The Atum Payment Gateway routes payments across a growing list of chains — including many EVM’s, Solana, and Tron — with built-in escrow protection and settlement verification, guaranteeing atomicity across chains and assets. See Supported networks for the full list of chains, tokens, and addresses.

How it works

When you submit a payment, the gateway:
  1. Validates the request and signatures
  2. Finds optimal settlement routes across chains and assets
  3. Secures funds in escrow
  4. Coordinates with settlement agents for execution
  5. Returns the result synchronously if it completes within ~30 seconds; otherwise a payment_id with pending status
For a direct integration (SDK, CLI, or raw HTTP), two ways work and you can mix them: poll 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.
A ticker is not a unique identifier. The same symbol maps to different tokens on different chains, and a single chain can host multiple versions of the “same” asset — native vs. bridged or wrapped (e.g. Polygon’s native USDC and bridged USDC.e are distinct tokens). Always identify an asset by its full CAIP-19 string, never by ticker. See Supported assets for the exact identifier on each chain.

Base URLs

See Endpoints for the canonical testnet and mainnet base URLs.