Skip to main content
The Boleto and bill payments rail issues boletos and settles bill and tax (DARF) payments through BTG. Its behavior is configured through environment variables set at deploy time by DevOps; changing one requires a service restart. This page covers the variables distinctive to this rail — for the datastore, multi-tenancy, telemetry, and authentication knobs shared across every Lerian Go service, see BYOC configuration essentials.
In the tables below, the Default / Required column shows the default value; a bold qualifier (for example Required) marks variables you must set. means no default. 🔒 marks a secret — inject it at deploy time from your secret store, never commit it. This page lists variable names and behavior only; it prints no secret values.
This rail does not mount the systemplane admin API. It uses the shared POSTGRES_* datastore shape — see Datastores.

Server and port

The service listens on the address in SERVER_ADDRESS (default :8080). The liveness, readiness, and version probes bind this same port. Multi-tenancy is toggled with MULTI_TENANCY_ENABLED (note the MULTI_TENANCY_ spelling; the Tenant Manager connection uses the shared MULTI_TENANT_* variables). See Multi-tenancy and Default network ports.

BTG integration

Endpoints and credentials for the connection to BTG, plus the background refresh intervals for the BTG access token and synced credentials.

Credential encryption and internal API keys

The rail encrypts stored credentials at rest and authenticates internal (worker-to-API) calls with an API key. Both support a _PREVIOUS slot so you can rotate the active value without downtime.

Midaz ledger binding

Reconciliation

Webhook dispatch and idempotency

Migrations

Health and readiness

The rail exposes GET /health (liveness) and GET /readyz (readiness) on the main port. When multi-tenancy is enabled, it adds an auth-gated per-tenant probe at GET /readyz/tenant/{id}. See Health and readiness for the response shape and startup/drain behavior.