Review required fields and default values for Blnk configuration.
This page is a broad reference for common Blnk settings and typical defaults. The Blnk config package in the application repository is the source of truth; when in doubt, confirm keys and defaults in source.Fields with no defaults are left blank in the examples.
Note: In blnk.json, duration settings are integer seconds. In environment variables, duration settings use Go duration format (e.g. 5s, 30m) where documented.
# Project# Defaults to "Blnk Server" when not set.BLNK_PROJECT_NAME=Blnk Server# Server# Port defaults to 5001. SSL and secure mode are off by default.BLNK_SERVER_SECURE=falseBLNK_SERVER_SECRET_KEY=BLNK_SERVER_PORT=5001BLNK_SERVER_MAX_REQUEST_BODY_SIZE_MB=5BLNK_SERVER_MAX_UPLOAD_SIZE_MB=256BLNK_METRICS_BEARER_TOKEN=# Database# DNS is required for Blnk to start successfully. Docker default shown below.# CONNECTION_MAX_LIFETIME and CONNECTION_MAX_IDLE_TIME are integer seconds.BLNK_DATA_SOURCE_DNS=postgres://postgres:password@postgres:5432/blnk?sslmode=disableBLNK_DATABASE_MAX_OPEN_CONNS=50BLNK_DATABASE_MAX_IDLE_CONNS=25BLNK_DATABASE_CONN_MAX_LIFETIME=30mBLNK_DATABASE_CONN_MAX_IDLE_TIME=5m# Redis# DNS is required for Blnk to start successfully. Docker default shown below.BLNK_REDIS_DNS=redis:6379BLNK_REDIS_SKIP_TLS_VERIFY=false# Typesense# Docker default shown for the Typesense endpoint. The API key defaults to "blnk-api-key".BLNK_TYPESENSE_DNS=http://typesense:8108BLNK_TYPESENSE_KEY=blnk-api-key# Transactions# LOCK_DURATION and LOCK_WAIT_TIMEOUT are integer seconds.BLNK_TRANSACTION_BATCH_SIZE=1000BLNK_TRANSACTION_MAX_QUEUE_SIZE=1000BLNK_TRANSACTION_MAX_WORKERS=10BLNK_TRANSACTION_LOCK_DURATION=30mBLNK_TRANSACTION_LOCK_WAIT_TIMEOUT=3sBLNK_TRANSACTION_INDEX_QUEUE_PREFIX=transactionsBLNK_TRANSACTION_ENABLE_COALESCING=trueBLNK_TRANSACTION_ENABLE_QUEUED_CHECKS=falseBLNK_TRANSACTION_DISABLE_BATCH_REFERENCE_CHECK=false# QueueBLNK_QUEUE_TRANSACTION=new:transactionBLNK_QUEUE_WEBHOOK=new:webhookBLNK_QUEUE_INDEX=new:indexBLNK_QUEUE_INFLIGHT_EXPIRY=new:inflight-expiryBLNK_QUEUE_INFLIGHT_COMMIT=new:inflight-commitBLNK_QUEUE_NUMBER_OF_QUEUES=20BLNK_QUEUE_INSUFFICIENT_FUND_RETRIES=falseBLNK_QUEUE_MAX_RETRY_ATTEMPTS=5BLNK_QUEUE_MONITORING_PORT=5004BLNK_QUEUE_WEBHOOK_CONCURRENCY=20# Hot-lane and worker tuning# HOT_PAIR_TTL is integer seconds.BLNK_QUEUE_ENABLE_HOT_LANE=falseBLNK_QUEUE_HOT_QUEUE_NAME=hot_transactionsBLNK_QUEUE_HOT_QUEUE_CONCURRENCY=1BLNK_QUEUE_HOT_PAIR_TTL=300BLNK_QUEUE_HOT_PAIR_LOCK_CONTENTION_THRESHOLD=3BLNK_QUEUE_REJECT_LOCK_CONTENTION_IMMEDIATELY=falseBLNK_QUEUE_TRANSACTION_WORKER_CONCURRENCY=4# Rate limiting# These are the runtime defaults used when rate limiting is not configured. Values are integer seconds.BLNK_RATE_LIMIT_RPS=5000000BLNK_RATE_LIMIT_BURST=10000000BLNK_RATE_LIMIT_CLEANUP_INTERVAL_SEC=10800# Reconciliation# Retry delay uses Go duration format.BLNK_RECONCILIATION_DEFAULT_STRATEGY=one_to_oneBLNK_RECONCILIATION_PROGRESS_INTERVAL=100BLNK_RECONCILIATION_MAX_RETRIES=3BLNK_RECONCILIATION_RETRY_DELAY=5s# Notifications# Leave these blank until you are ready to send Slack alerts or webhooks.BLNK_SLACK_WEBHOOK_URL=BLNK_WEBHOOK_URL=BLNK_WEBHOOK_HEADERS={}# ObservabilityBLNK_ENABLE_TELEMETRY=falseBLNK_ENABLE_OBSERVABILITY=false# Blnk Cloud DSN for managed monitoring export. Format: https://<write-key>@<host>/<project-id>BLNK_CLOUD_DSN=# Self-hosted OTLP HTTP export (works when observability is enabled)OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=# TokenizationBLNK_TOKENIZATION_SECRET=# BackupsBLNK_BACKUP_DIR=BLNK_AWS_ACCESS_KEY_ID=BLNK_AWS_SECRET_ACCESS_KEY=BLNK_S3_ENDPOINT=BLNK_S3_BUCKET_NAME=BLNK_S3_REGION=
We are very happy to help you make the most of Blnk, regardless of whether it is your first time or you are switching from another tool.To ask questions or discuss issues, please contact us or join our Discord community.