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

# Configuration overview

> Directory structure, environment variables, and profile configuration for a settler agent.

## Overview

The settler agent uses profile-based configuration to support different environments (testnet, mainnet) and business requirements. This section covers the directory layout, environment variables, and profile configuration, plus dedicated pages for RPC endpoints, databases, volume mounts, production deployments, and best practices.

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

## Directory structure

After running setup (`./setup.sh` or `./setup-cloud.sh`), you'll have:

```
settler-config/          # or cloud-config/ for cloud setup
├── profiles/
│   └── testnet.yaml     # Main profile configuration
└── plugins/
    ├── evm/
    │   └── config.yaml  # EVM blockchain config (Celo)
    └── tron/
        └── config.yaml  # Tron blockchain config
```

<Info>
  Configuration files are organized by environment (profiles) and blockchain (plugins). The setup scripts create this structure automatically.
</Info>

## Environment variables

### Required

| Variable           | Description                                                                                                                     | Example                               |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- |
| `ORGANIZATION`     | Your organization identifier                                                                                                    | `my-company`                          |
| `DATABASE_URL`     | PostgreSQL connection string                                                                                                    | `postgresql://user:pass@host:5432/db` |
| `GATEWAY_ADDR`     | Settler Gateway gRPC address (`host:port`). Not a Payment Gateway HTTPS URL from [Endpoints](/get-started/reference/endpoints). | Provided by Atum                      |
| `NETWORK_ENV`      | Network environment                                                                                                             | `testnet` or `mainnet`                |
| `CELO_PRIVATE_KEY` | Celo wallet private key                                                                                                         | With `0x` prefix                      |
| `TRON_PRIVATE_KEY` | Tron wallet private key                                                                                                         | Without `0x` prefix                   |

### Optional (recommended for production)

| Variable       | Description              | Example                                      |
| -------------- | ------------------------ | -------------------------------------------- |
| `TRON_API_KEY` | TronGrid API key         | Required for production                      |
| `CELO_RPC_URL` | Custom Celo RPC endpoint | `https://celo-mainnet.infura.io/v3/YOUR_KEY` |
| `TRON_RPC_URL` | Custom Tron RPC endpoint | `https://api.trongrid.io`                    |

### Private key format

<Warning>
  Different chains require different private key formats.

  * **Celo (EVM)** — private key **with** the `0x` prefix: `CELO_PRIVATE_KEY=0xabc123…`
  * **Tron** — private key **without** the `0x` prefix: `TRON_PRIVATE_KEY=abc123…`
</Warning>

## Profile configuration

The main profile file (`profiles/testnet.yaml` or `profiles/mainnet.yaml`) configures network selection, asset corridors, and bidding.

### Network selection

```yaml theme={null}
chains:
  Celo: eip155:11142220  # Celo Sepolia testnet
  Tron: tron:shasta       # Tron Shasta testnet
```

For mainnet:

```yaml theme={null}
chains:
  Celo: eip155:42220     # Celo mainnet
  Tron: tron:mainnet     # Tron mainnet
```

### Asset corridors

Define which asset corridors the agent supports:

```yaml theme={null}
subscription:
  assetFilters:
    USDC:
      corridors:
        Celo:
          destinations: [Tron]
        Tron:
          destinations: [Celo]
    USDT:
      corridors:
        Celo:
          destinations: [Tron]
        Tron:
          destinations: [Celo]
```

<Info>
  Choose corridors based on your liquidity on each chain, gas costs and profitability, competition, and target market.
</Info>

### Bidding

Configure the bidding strategy in the profile:

```yaml theme={null}
execution:
  bidding:
    strategy: staticMarkup  # or oneToOne, corridorBased, tiered, spreadBased
    quoteDeadlineFallbackSeconds: 300
    staticMarkup:
      markupBps: 50
      markupAbsolute: '0'
```

See [Bidding strategies](/settle-payments/bidding-strategies) for full strategy configuration.

## Next steps

| Topic                                  | Guide                                                                           |
| -------------------------------------- | ------------------------------------------------------------------------------- |
| Configure blockchain RPC access        | [RPC endpoints](/settle-payments/configuration/rpc-endpoints)                   |
| Provision the database                 | [Databases](/settle-payments/configuration/databases)                           |
| Mount configuration into the container | [Volume mounts](/settle-payments/configuration/volume-mounts)                   |
| Size and scale production              | [Production deployments](/settle-payments/configuration/production-deployments) |
| Secure the deployment                  | [Best practices](/settle-payments/configuration/best-practices)                 |
