Skip to main content
The Boleto and bill payments rail issues boletos and settles bill and tax (DARF) payments through BTG. DevOps sets its behavior through environment variables at deploy time. A change to one variable needs a service restart. This page covers the variables distinctive to this rail. For the shared datastore, telemetry, and authentication knobs, 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. PLUGIN_AUTH_ENABLED defaults to true, and production forces it on. See Default network ports.

License

A license is mandatory in every environment. The boot fails when either variable is blank. License Manager describes how the product checks the license.

BTG integration

These variables set the endpoints and credentials for the BTG connection. They also set the background refresh intervals for the BTG access token and the synced credentials.

Credential encryption and internal API keys

The rail encrypts stored credentials at rest. It authenticates internal calls between the worker and API pods with an API key. Both keys support a _PREVIOUS slot so you can rotate the active value without downtime.

Midaz ledger binding

Internal Midaz outbox

The rail always initializes an internal PostgreSQL outbox for asynchronous Midaz ledger operations. This is an internal work queue, not an external CloudEvents or Streaming Hub catalog. Startup validates the retry and processing-time budgets together and rejects unsafe combinations.

Reconciliation

Webhook dispatch and idempotency

Bill consult

These variables configure POST /v1/payments/consult. The rate limit counts consults per caller, and each replica counts on its own.

Migrations

Health and readiness

The rail exposes GET /health (liveness) and GET /readyz (readiness) on the main port. See Health and readiness for the response shape.