Overview
Run a settlement agent on your own infrastructure, connect it to Atum’s network, and start potentially earning fees by fulfilling settlements. This guide covers a testnet deployment; the same flow applies to mainnet with production credentials and RPC endpoints.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.
You operate your own settler agent. You deploy, configure, and run it under your own infrastructure, credentials, keys, liquidity, pricing, and compliance controls. Atum provides the agent software and protocol interfaces; it does not run the agent for you or control your funds.
1
Authenticate and pull the image
Sign in to the container registry and pull the settler agent.
2
Set up and configure
Run a setup script, then set your credentials and connection details.
3
Fund your wallets
Provide gas tokens and liquidity on each chain so the agent can transact.
4
Run the agent
Start the agent and confirm it connects to the gateway.
Prerequisites
Docker
Docker
Docker Engine installed and running on your host.
PostgreSQL 17
PostgreSQL 17
A PostgreSQL 17 database — managed (AWS RDS, GCP Cloud SQL) or self-hosted. Atum does not host databases for operators; you provision, maintain, and back up your own.
Temporal
Temporal
A Temporal instance — managed or self-hosted — used for workflow orchestration. Atum does not host this for you.
Testnet wallets
Testnet wallets
An EVM wallet (Celo Sepolia) and/or a Tron wallet (Tron Shasta), each funded with testnet gas — see Fund your settler wallets.
Settler Gateway access
Settler Gateway access
GATEWAY_ADDR is the Settler Gateway gRPC host (host:port), not the Payment Gateway HTTPS URL on Endpoints. Atum provisions the address and allowlists your organization and wallets. Email support@atum.xyz for access.1. Authenticate to the container registry
The settler agent image is hosted on GitHub Container Registry. Authenticate before pulling.1
Create a GitHub personal access token
GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic). Generate a token with the
read:packages scope and copy it.2
Log in to the registry
3
Verify access
2. Set up the agent
Choose a setup approach. Each script pulls the image and generates configuration templates and a.env file.
- Local
- Cloud
- Verify
Usually used for: development, testing, quick start.This pulls the image, creates configuration directories and templates, and generates a
.env file. Then edit .env and start:Uses Docker Compose with a local PostgreSQL container for quick testing.
3. Configure
After setup, edit.env with the essential variables:
GATEWAY_ADDR is the Settler Gateway gRPC address Atum gives you. Do not paste a Payment Gateway URL from Endpoints.For the full environment-variable reference, RPC configuration, and production settings, see Configuration. For production, use paid RPC providers rather than public endpoints, and consider using an MPC key management provider like Turnkey instead of plain text private key configurations.
4. Fund your settler wallets
Settler wallets need gas tokens to execute on-chain transactions.
For faucets and asset details, see Settlement testnets.
Without gas tokens, the agent connects to the gateway but fails when submitting transactions.
5. Run the agent
- Docker Compose
- Docker (manual)
Success criteria
Your agent is integrated when:docker pullsucceeds againstghcr.io/atum-labs/settler-agent./test-setup.shpasses (image, database, config, env)- The agent starts and
curl http://localhost:8080/healthreturns healthy - Logs show the agent connecting to the gateway and subscribing to payment requests
Troubleshooting
Container won't start
Container won't start
Check logs:
docker logs settler-agent. Common causes: missing environment variables, invalid configuration syntax, or expired Docker authentication.Database connection failed
Database connection failed
Verify
DATABASE_URL format (postgresql://user:password@host:port/database), that the database is reachable from the container, that credentials are correct, and that PostgreSQL is version 17.Gateway connection failed
Gateway connection failed
Verify
GATEWAY_ADDR (the Settler Gateway gRPC host:port Atum provided) and network connectivity. Email support@atum.xyz if the session handshake is refused — the gateway allowlists organization and wallets.Transaction failures
Transaction failures
Ensure wallets hold sufficient testnet gas, private keys are in the correct format (Celo with
0x, Tron without 0x), and RPC endpoints are responsive.Private key format errors
Private key format errors
Celo private keys include the
0x prefix (e.g. 0xabc123…); Tron private keys omit it (e.g. abc123…).