parent_transaction attribute. Here’s how it works:

Transaction lifecycle flow showing how transactions progress from QUEUED to final states
Statuses
Blnk transactions can have one of five possible statuses throughout their lifecycle. Each status represents a specific state in the transaction processing flow:Transaction lifecycle
By default, every transaction begins in aQUEUED state.
Blnk then processes it and moves it to one of three possible states:
INFLIGHT: If the transaction request includes"inflight": "true". It continues to:APPLIED: If the inflight transaction is committed or;VOID: If the inflight transaction is voided.
APPLIED: When the transaction is completed and applied to the balances.REJECTED: When the transaction is not processed due to reasons like insufficient funds, etc.
Example response
Parent transactions
Because transactions in Blnk are immutable, each new state or related record is linked back to the one that created it through theparent_transaction field.
This structure ensures that every transaction has a clear lineage. By following the parent_transaction chain, you can always trace a transaction back to its origin, see how it evolved, and connect it to any related siblings.
- Queued transactions act as the parent of the next state (e.g.
APPLIED,INFLIGHT,REJECTED). - Inflight transactions are the parent of their final outcome (e.g.
APPLIED,VOID). - Split transactions are the parent of the resulting individual transactions.
- Bulk transactions are the parent of the included individual transactions.
- Scheduled transactions are the parent of the executed state (e.g.
APPLIED,REJECTED). - Refunds use the original transaction as their parent.
Parent transactions
Linked states and traceability across updates.
Skip transaction queue
Available in version 0.8.2 and later.
skip_queue feature allows you to bypass the default transaction queuing system and immediately process transactions directly. This is useful for scenarios where you need real-time transaction processing while still maintaining data consistency.
To enable this feature, include “skip_queue”: true in the request body when calling the Create Transaction endpoint:
How it works
When you enableskip_queue, the transaction:
- Bypasses the normal queuing process
- Executes immediately on the balance
- Uses distributed locks via Redis to maintain consistency
- Applies optimistic locking at the database level
Example applications
Useskip_queue when:
- Processing low-volume transactions with minimal balance contention;
- You need synchronous confirmation of transaction completion;
- Time-sensitive financial operations.
Transaction statuses
QUEUED, APPLIED, INFLIGHT, and more.
Inflight transactions
Hold funds until conditions are met.