Operations

Environment variables

Every environment variable consumed by the local stack, grouped by component, with defaults and notes. The "required" column is honest: if it is yes, the service will not start without it.

Secrets are listed in Secret handling, not here. This page is for non-secret configuration. Anything starting with *_KEY, *_SECRET, *_MNEMONIC, or *_PASSWORD is secret.

Chain

Var Required Default Notes
CHAIN_ID yes babychain_2027-1 Used at genesis init
MONIKER no local-node Validator display name
MINIMUM_GAS_PRICE no 0.001ababy Reject txs below this
EVM_CHAIN_ID yes 2027 The EVM chain id (used in EIP-155)
BLOCK_TIME no 1200 Target block time in ms (~1.2s)

Gateway

Var Required Default Notes
CHAIN_RPC_URL yes http://host.docker.internal:8545 Where the proxy forwards
INDEXER_POLL_MS no 1500 Block poll interval
RATE_LIMIT_RPM no 600 Per-IP JSON-RPC rate limit
BATCH_CAP no 50 Max calls in a single JSON-RPC batch
POSTGRES_HOST yes postgres
POSTGRES_DB yes syncdb
POSTGRES_USER yes syncdb
POSTGRES_PASSWORD yes (secret) (random in dev) See Secret handling

Pay

Var Required Default Notes
CHAIN_RPC_URL yes http://host.docker.internal:8545 Used by settlement + sweep
POSTGRES_* yes (matches gateway) Same Postgres, different DB
GAS_FUNDER_PRIVATE_KEY yes (secret) (dev key) Funds the sweep wallet
CONFIRMATIONS_REQUIRED_DEFAULT no 12 Used if merchant has no override
WEBHOOK_TIMEOUT_MS no 5000 Per-attempt HTTP timeout
WEBHOOK_RETRY_MAX no 8 See Webhooks

Blockscout

Var Required Default Notes
ETHEREUM_JSONRPC_VARIANT no geth EVM client flavor
ETHEREUM_JSONRPC_HTTP_URL yes http://host.docker.internal:8545

Prometheus

Var Required Default Notes
SCRAPE_INTERVAL no 15s Per scrape

What is not an env var

  • Port assignments are baked into the docker-compose files. Override by editing the compose file, not by setting a *_PORT env var (there is no such var).
  • CometBFT peer list is in genesis.json and config.toml, not in env.
  • Database schema migrations are applied by the entrypoint script on first start, not driven by an env flag.