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

# Test a settlement flow

> Run an end-to-end settlement on testnet before deploying to mainnet.

## Overview

Exercise a complete settlement on testnet — from quote to release — to confirm your agent is configured, funded, and winning payments before you move to mainnet.

<Note>
  Celo and Tron are used here as an example. Atum supports many additional EVM networks, plus Solana, with more chains on the way — see [Supported mainnets](/settle-payments/supported-mainnets).
</Note>

<Steps>
  <Step title="Configure the corridor">Point the agent at a testnet corridor.</Step>
  <Step title="Start the agent">Bring the agent online and confirm it subscribes to requests.</Step>
  <Step title="Submit a test payment">Send a payment through the gateway for the agent to fulfill.</Step>
  <Step title="Monitor the settlement">Watch the agent quote, win, and settle on-chain.</Step>
</Steps>

## Prerequisites

<AccordionGroup>
  <Accordion title="A deployed settler agent">
    Complete the [Integration guide](/settle-payments/integration-guide) first — the agent should build, start, and pass `./test-setup.sh`.
  </Accordion>

  <Accordion title="Funded testnet wallets">
    Gas and tokenized money on both chains in the corridor. See [Settlement testnets](/settle-payments/supported-testnets) for networks, assets, and faucets.
  </Accordion>
</AccordionGroup>

## 1. Configure the testnet corridor

Point the agent at a testnet corridor. This example uses Celo Sepolia ↔ Tron Shasta. For the CAIP-19 asset identifiers, see [Settlement testnets](/settle-payments/supported-testnets#assets).

```yaml theme={null}
chains:
  Celo: eip155:11142220
  Tron: tron:shasta

subscription:
  assetFilters:
    USDC:
      corridors:
        Celo:
          destinations: [Tron]
        Tron:
          destinations: [Celo]
    USDT:
      corridors:
        Celo:
          destinations: [Tron]
        Tron:
          destinations: [Celo]
```

## 2. Start the agent

Start the agent with the testnet configuration and confirm it connects to the gateway:

```bash theme={null}
docker compose up -d
docker compose logs -f settler-agent
```

The logs should show the agent connecting to the gateway and subscribing to payment requests.

## 3. Submit a test payment

Submit a payment request through the Payment Gateway for your agent to fulfill. The quickest way is the CLI — see [Using the CLI](/get-started/start-building/using-the-cli) — or the [Payment Gateway API](/api-reference/payment-gateway/introduction) directly.

Send a payment on the corridor your agent subscribes to (for example, USDC on Celo Sepolia → USDC on Tron Shasta) so your agent is eligible to quote.

## 4. Monitor the settlement

Watch the agent quote and execute. In the logs, look for:

* Quote submission
* Quote selection
* Deposit transaction
* Fulfillment transaction
* Release transaction

On the block explorers, deposit and release appear on the source chain; fulfillment appears on the destination chain.

## Success criteria

The flow works end to end when:

* [ ] The agent logs a quote and that quote is selected
* [ ] Deposit and release transactions confirm on the source chain
* [ ] The fulfillment transaction confirms on the destination chain
* [ ] The payment reaches `completed` status on the gateway

## Troubleshooting

<AccordionGroup>
  <Accordion title="Insufficient funds error">
    Ensure wallets hold enough gas tokens for fees and enough tokenized money for fulfillment on the destination chain.
  </Accordion>

  <Accordion title="Faucet not working">
    Testnet faucets can be rate-limited. Wait and retry, use a different wallet address, or [ask in Discord](https://discord.gg/a5mbNjnDNj) for testnet tokens.
  </Accordion>

  <Accordion title="Transactions failing">
    Common causes are insufficient gas and unreliable RPC endpoints. Use a paid RPC provider if public endpoints are flaky.
  </Accordion>

  <Accordion title="Quotes not being selected">
    Pricing may be uncompetitive. Consider lowering the markup in your [bidding strategy](/settle-payments/bidding-strategies), check logs for selected quote amounts, and confirm the agent responds quickly.
  </Accordion>
</AccordionGroup>

## Next steps

| Topic                             | Guide                                                      |
| --------------------------------- | ---------------------------------------------------------- |
| Tune pricing and selection rate   | [Bidding strategies](/settle-payments/bidding-strategies)  |
| Full configuration reference      | [Configuration](/settle-payments/configuration/overview)   |
| Testnet networks, assets, faucets | [Settlement testnets](/settle-payments/supported-testnets) |

<Warning>
  **Ready for mainnet?** Email [support@atum.xyz](mailto:support@atum.xyz) before deploying to mainnet. You'll need a production gateway URL, mainnet RPC endpoints, and sufficient mainnet liquidity.
</Warning>
