This page covers the settings that control how Blnk executes, batches, and locks transactions. For queue names, sharding, retries, and hot-lane routing, see Queue configuration.Documentation Index
Fetch the complete documentation index at: https://docs.blnkfinance.com/llms.txt
Use this file to discover all available pages before exploring further.
Transaction settings
Use these settings to control transaction batching, worker behavior, and queued validation.| Description | Default | |
|---|---|---|
BLNK_TRANSACTION_MAX_QUEUE_SIZE | In-memory channel buffer size for the batch worker used by ProcessTransactionInBatches (not a Redis queue depth limit). | 1000 |
BLNK_TRANSACTION_MAX_WORKERS | Concurrency for batch and reconciliation transaction workers. For the main Redis-backed queued transaction pool, use BLNK_QUEUE_TRANSACTION_WORKER_CONCURRENCY and hot-lane settings instead. | 10 |
BLNK_TRANSACTION_INDEX_QUEUE_PREFIX | Collection / index name prefix for transaction search documents (e.g. Typesense), not a Redis transaction queue name. | transactions |
BLNK_TRANSACTION_ENABLE_QUEUED_CHECKS | Includes queued debits when loading balances for pre-transaction validation. | false |
Coalescing settings
Use Coalescing settings to improve performance and throughput under load when working with hot balances.| Description | Default | |
|---|---|---|
BLNK_TRANSACTION_BATCH_SIZE | Maximum number of compatible queued transactions Blnk tries to process in one coalesced batch. | 1000 |
BLNK_TRANSACTION_ENABLE_COALESCING | Enables coalesced execution for normal queued transaction processing. | true |
BLNK_TRANSACTION_DISABLE_BATCH_REFERENCE_CHECK | Disables reference validation across a coalesced batch before commit. When false, reference checking stays enabled. | false |
BLNK_TRANSACTION_ENABLE_COALESCING
When Coalescing is enabled, Blnk identifies the queued transactions based on if they share the same source, destination, and currency, batches them in-memory, and applies them in a single commit.
This works best when queued traffic arrives in bursts and many transactions overlap on the same balances.
Coalescing for hot balances
Learn when to use coalescing and how it improves throughput for contended balance flows.
BLNK_TRANSACTION_DISABLE_BATCH_REFERENCE_CHECK
This controls whether Blnk validates transaction references across the batch before commit.
Leaving it as false (the default) is safer because it helps catch duplicate or conflicting references within the same batch, ensuring that your transactions remain idempotent.
Lock settings
Use these settings to control distributed balance locks for direct and queued transaction processing, including coalesced batch execution.| Description | Default | |
|---|---|---|
BLNK_TRANSACTION_LOCK_DURATION | How long a distributed balance lock can live once acquired, in seconds (non-zero values). | 1800 |
BLNK_TRANSACTION_LOCK_WAIT_TIMEOUT | How long Blnk waits when acquiring transaction balance locks (shared path for direct and queued processing, including coalesced batch execution), in seconds. | 3 |
BLNK_TRANSACTION_LOCK_WAIT_TIMEOUT
This controls how long a transaction should wait when acquiring a lock before the transaction fails with a lock error.
If locks are not acquired in time, the operation fails with a lock error. For a direct (skip_queue=true) request, that is typically returned to the client. For queued work, workers may retry or reject depending on queue settings, e.g. BLNK_QUEUE_REJECT_LOCK_CONTENTION_IMMEDIATELY and BLNK_QUEUE_MAX_RETRY_ATTEMPTS.