Configuration Reference

All environment variables and their defaults.

Table of contents

  1. Database
  2. Redis
  3. API Service
  4. Ethereum
  5. Solana
  6. Webhooks
  7. Metrics
  8. Example .env File
  9. Docker Compose Services

Database

Variable Required Default Description
DATABASE_URL Yes postgresql://orchestrator:orchestrator@localhost:5432/orchestrator PostgreSQL connection string

Redis

Variable Required Default Description
REDIS_URL No redis://localhost:6379 Redis connection URL
REDIS_HOST No localhost Redis host (used by BullMQ)
REDIS_PORT No 6379 Redis port (used by BullMQ)

API Service

Variable Required Default Description
PORT No 3000 API server port
API_KEY_SALT Yes dev-salt Salt for HMAC-SHA256 API key hashing
NODE_ENV No development Environment mode. In non-production, any API key works with the test merchant.

Ethereum

Variable Required Default Description
ETH_RPC_URL Yes   Primary Ethereum JSON-RPC endpoint (e.g., Infura, Alchemy)
ETH_RPC_URL_FALLBACK No   Fallback Ethereum RPC endpoint
ETH_TREASURY_PRIVATE_KEY Yes   Private key for the Ethereum treasury wallet
ETH_USDC_CONTRACT No 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 USDC token contract address

Solana

Variable Required Default Description
SOL_RPC_URL Yes   Primary Solana RPC endpoint
SOL_RPC_URL_FALLBACK No   Fallback Solana RPC endpoint
SOL_TREASURY_PRIVATE_KEY Yes   Base58-encoded private key for the Solana treasury wallet
SOL_USDC_MINT No EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v USDC SPL token mint address

Webhooks

Variable Required Default Description
WEBHOOK_SIGNING_SECRET Yes whsec_change_me Secret for HMAC-SHA256 webhook signing

Metrics

Variable Required Default Description
METRICS_INTERVAL_MS No 15000 Health metrics collection interval in milliseconds

Example .env File

# Database
DATABASE_URL=postgresql://orchestrator:orchestrator@localhost:5432/orchestrator

# Redis
REDIS_URL=redis://localhost:6379
REDIS_HOST=localhost
REDIS_PORT=6379

# Ethereum
ETH_RPC_URL=https://mainnet.infura.io/v3/YOUR_KEY
ETH_RPC_URL_FALLBACK=https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY
ETH_TREASURY_PRIVATE_KEY=0x...
ETH_USDC_CONTRACT=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48

# Solana
SOL_RPC_URL=https://api.mainnet-beta.solana.com
SOL_RPC_URL_FALLBACK=https://solana-mainnet.g.alchemy.com/v2/YOUR_KEY
SOL_TREASURY_PRIVATE_KEY=base58...
SOL_USDC_MINT=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

# API
PORT=3000
API_KEY_SALT=change-me-in-production

# Webhooks
WEBHOOK_SIGNING_SECRET=whsec_change_me

# Metrics
METRICS_INTERVAL_MS=15000

Never commit .env files with real private keys or secrets to version control. Use environment-specific secret management in production (e.g., AWS Secrets Manager, Vault, Doppler).


Docker Compose Services

The included infra/docker/docker-compose.yml provides local development infrastructure:

Service Image Port Credentials
PostgreSQL postgres:16 5432 user: orchestrator, pass: orchestrator, db: orchestrator
Redis redis:7-alpine 6379 No auth

Back to top

Stablecoin Payment Orchestrator — Open Source under MIT License.