— means no default.
Infrastructure configuration
This section is for DevOps teams. DevOps sets these variables at deploy time. A change takes effect only after a service restart.
Application
TLS
Proxy headers
Set these when the service runs behind a load balancer or reverse proxy. They let the service read the real client IP for rate limiting and audit logs.Authentication
This plugin delegates authorization toplugin-auth. Configure the connection with the variables below.
Test admin (non-production only)
Idempotency
Multi-tenancy
BYOC single-tenant:
PostgreSQL
PostgreSQL replica
Configure a read replica for query offloading. All fields fall back to primary values when unset.MongoDB
The service requires MongoDB to persist transfer audit events. It does not start without a valid MongoDB connection.Redis
JD SPB connection
You must set these variables for BYOC deployments. In SaaS mode, Lerian manages the JD connection.JD polling
JD_POLLING_ENABLED defaults to false for safer deployments. In single-tenant mode, set ORGANIZATION_ID before you enable it. Background workers inject that value into the context for downstream CRM and Midaz calls. In multi-tenant mode, the TED IN poller manager finds each active tenant through the multi-tenancy platform service. It then starts one poller per tenant and resolves each tenant’s JD configuration.External services (Midaz)
External services (CRM)
External services (Fees)
BTF_FEE_ENABLED is the master switch. When false (default), the plugin builds no Fees adapter and every transfer proceeds with fee=0 and no HTTP call. The other FEES_* variables take effect only when BTF_FEE_ENABLED=true.RabbitMQ
The plugin can publish transfer lifecycle events to RabbitMQ for downstream consumers.Streaming outbox
The streaming subsystem publishes transfer events to a Redpanda/Kafka broker through a transactional outbox. You must enable it for outbound webhook delivery (WEBHOOK_ENABLED=true requires STREAMING_ENABLED=true).

