Skip to main content
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.

Transaction settings

Use these settings to control transaction batching, worker behavior, and queued validation.

Coalescing settings

Use Coalescing settings to improve performance and throughput under load when working with hot balances.

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

Higher throughput on contended balances.

BLNK_TRANSACTION_DISABLE_BATCH_REFERENCE_CHECK

During coalesced batch processing, Blnk can look up all transaction references in the batch with one bulk query before commit. That prefetch lets validation compare each reference against known usage without a separate lookup per transaction. Set this to true to turn off that bulk lookup. Reference validation does not stop. With no prefetched set, Blnk falls back to validating each transaction individually.
The default (false) keeps the bulk check enabled. Set true only when you want to trade the bulk lookup for per-transaction reference checks during coalesced execution.

Lock settings

Use these settings to control distributed balance locks for direct and queued transaction processing, including coalesced batch execution.

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.
Tip: Keep the default value unless transactions regularly outlive the lock window. This config is especially important for transactions that bypass the queue.

Hash chain settings

Available in version 0.15.0 and later.
The optional transaction hash chain seals applied transactions into a global tamper-evident sequence. It is disabled by default. When enabled, a background processor backfills unchained rows and appends new transactions after a trailing delay. Run blnk verify-chain from your Core deployment to check chain integrity. In blnk.json, poll_interval and trailing_delay are integer seconds. Environment variables accept Go duration format (for example 5s, 30s).

Transaction hashing

Per-row hashes, chain verification, and sealed fields.

Need help?

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.