> ## 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.

# Token approvals

> One-time setup that lets Atum move tokens from your source account before a payment.

Before your first payment on EVM or Tron chains, your source account needs to grant permission for the Atum contracts to move tokens on your behalf. This is a **one-time on-chain transaction** per wallet and token — you don't repeat it for every payment.

Think of it like enabling autopay: you authorize once, and subsequent payments can proceed without re-approving.

## When you need to do this

* First time sending a given token from a given wallet on an EVM or Tron chain
* After switching to a new wallet
* Not required on Solana (different token model)

## How to complete it

* **Hands-on (CLI):** [Using the CLI → Approve USDC spend](/get-started/start-building/using-the-cli#3-approve-usdc-spend)
* **In your app (SDK):** [Build with the SDK → Approve USDC spend](/get-started/start-building/build-with-the-sdk#3-approve-usdc-spend)
* **API reference:** [Payment Gateway API](/api-reference/payment-gateway/introduction)

## Next steps

After you finish this page, the following go deeper:

* [Atum infrastructure → Payment authorization](/get-started/architecture/payment-rails-primer#payment-authorization)
* [Payment request](/get-started/concepts/payment-intent)
