> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atum.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Atum infrastructure

> A two-minute orientation on how Atum's payment infrastructure differs from traditional rails — no blockchain background needed.

If you've worked with ACH, SWIFT, or card networks, you already have the mental model you need to use Atum. This page maps Atum's concepts to what you likely already know.

## Payment rails

A **payment rail** is a network that moves value according to its own rules, speeds, and costs. ACH, SWIFT, FedWire, and Visa are all payment rails. Arbitrum, Solana, and Tron are also payment rails — they run tokenized currency instead of traditional bank balances, but the core concept is the same.

Each rail is independent. A balance on Arbitrum is a completely separate balance from one on Tron — the same way an ACH account and a SWIFT correspondent account are separate, even if both hold dollars.

Atum's job is to move value between rails without you having to manage correspondent relationships or intermediary routing on each one.

**Learn more:** [What is a blockchain? (Investopedia)](https://www.investopedia.com/terms/b/blockchain.asp)

## Tokenized currency

**Tokenized currency** is a digital representation of a fiat currency that lives on a payment rail. USDC (issued by Circle) and USDT (issued by Tether) are both dollar-denominated tokenized currencies — always worth \$1, always redeemable, and transferable on any rail that supports them.

Think of them like branded forms of digital cash: the same way Visa and Mastercard both move dollars but through different networks, USDC and USDT both represent dollars but are issued by different entities and may be available on different rails.

Atum coordinates the movement of tokenized currency between rails. You tell it which token you're sending from and which the recipient gets.

**Learn more:** [What is a stablecoin? (Investopedia)](https://www.investopedia.com/terms/s/stablecoin.asp)

## Accounts and addresses

An **account** on a payment rail is identified by an address — a unique string (typically `0x…` on most rails) that works like a routing and account number combined. It's public and safe to share.

| Role          | What they do                                               |
| ------------- | ---------------------------------------------------------- |
| **Sender**    | Holds the source token and authorizes the payment          |
| **Recipient** | Receives funds on the destination rail — any valid address |

The sender and recipient can be the same address — that's the setup used in the sandbox quickstart.

**Popular account apps:** [MetaMask](https://metamask.io/) (most rails) · [Phantom](https://phantom.app/) (Solana) · [TronLink](https://www.tronlink.org/) (Tron)

## Payment authorization

Before Atum can move funds from a sender's account, that account must grant **one-time authorization** — similar to setting up a direct debit mandate or enabling ACH pull. You set it up once per account and token; each payment still requires a separate signature.

The CLI and SDK handle this step for you automatically.

<Accordion title="Technical details: Permit2">
  Atum uses [Permit2](https://github.com/Uniswap/permit2) — a widely adopted spending authorization contract originally built by [Uniswap](https://uniswap.org/). It's a single on-chain transaction per wallet and token that approves the Atum escrow contract to spend on your behalf. [Read the Permit2 announcement →](https://blog.uniswap.org/permit2-and-universal-router)
</Accordion>

## How an Atum payment differs from a direct transfer

A direct on-chain transfer is one step: sender pushes tokens to recipient.

Atum works differently:

1. Your app **signs a payment request** — who pays, from which rail, to which recipient
2. Atum finds a settlement provider, coordinates delivery, and handles all the routing and settlement steps
3. You get a settlement receipt with confirmation references from both rails

You never push tokens directly. You sign the request and poll for a result.

**Learn more:** [Atum payment lifecycle](/get-started/overview/how-an-atum-payment-works)

## Currency identifiers

The API identifies each token by rail and contract address, combined into one string:

```
eip155 : 421614 / erc20 : 0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d
  │        │       │              │
rail    rail ID  token type   contract address
```

That is USDC on Arbitrum Sepolia. Always copy these identifiers from [Supported networks](/get-started/reference/supported-networks) — using an address from the wrong rail will cause your payment to fail.

<Accordion title="Technical name: CAIP-19">
  This format follows [CAIP-19](https://chainagnostic.org/CAIPs/caip-19) — a standard for identifying tokens across chains. Rail IDs use [CAIP-2](https://chainagnostic.org/CAIPs/caip-2) format.
</Accordion>

<Accordion title="Network processing fees (gas)">
  Every on-chain action on most rails costs a small network processing fee — called "gas" — paid in the rail's native token. On Arbitrum or Base, that's ETH. On Tron, it's TRX. On Solana, it's SOL.

  The **settlement provider** [holds gas](/settle-payments/integration-guide#4-fund-your-settler-wallets) for moving the funds. That is the ongoing fee on each payment.

  The **sender** needs gas only once: a one-time [token approval](/get-started/concepts/permit2-and-approvals) on EVM and Tron, before the first payment of that token. Later payments are signatures — they do not spend the sender's gas. Solana does not need that approval. The **recipient** never needs gas.

  | Rail            | Fee token |
  | --------------- | --------- |
  | Arbitrum / Base | ETH       |
  | Solana          | SOL       |
  | Tron            | TRX       |

  **Learn more:** [What is gas? (ethereum.org)](https://ethereum.org/en/developers/docs/gas/)
</Accordion>

## Next steps

<CardGroup cols={2}>
  <Card title="Quick start" icon="rocket" href="/get-started/start-building/using-the-cli">
    Set up sandbox, send your first payment
  </Card>

  <Card title="What is Atum?" icon="circle-info" href="/get-started/overview/what-is-atum">
    Protocol overview and where Atum fits in your stack
  </Card>
</CardGroup>
