Transaction Tracker
/blockchain/{asset}/transaction-tracker
The Transaction Tracker enables clients to track the settlement of their transactions in real-time and respond to events that may impact their operations, such as network congestion or attacks.
The endpoint was designed to provide settlement intelligence on client transactions, even without the provision of client data. It achieves this by streaming settlement statuses of all transactions in the mempool. As such, users can privately locate their own transactions by consuming the entire feed and filtering their own transactions on their end.
Alternatively, the endpoint also supports txids
as well as addresses
as a query parameter, which exclusively returns the settlement statuses of the transactions that match the query parameters. For context, a txid
is a unique identifier of blockchain transactions and represents the hash of all transaction fields. An address
is the unique representation of an account on chain. By default the API returns all unconfirmed transactions associated with the address queried.
The mempool_approx_queue_position
metric showcases the ranking of a transaction relative to all other transactions in the mempool. The production of this metric involves ranking all the transactions in the mempool by fee expenditure and creating a queue. The first transaction in the queue pays the highest feerate in the network and can be expected to settle in the next block.
The next_block_approx_settlement_probability_pct
metric provides an estimate of the likelihood that this transaction will be included in the next 2 blocks of the blockchain. It is calculated following the assumption that miners are motivated to maximize their profits. In essence, FARUM's simulation engine builds a block with the highest-paying transactions in it and assesses the likelihood that it will contain a certain transaction. The 2-block interval accounts for the fact that miners may have already selected the transactions that will be included in the next block.
The inputs
and outputs
component of the response are only available for BTC currently.
Another critical field of the transaction tracker is the transaction’s status
. This field enables clients to have granular data on the full lifecycle of their transactions. There are three different statuses that a transaction can support, which are listed below:
UNCONFIRMED 🟡
The transaction is still in the mempool and has not been included in a block.
CONFIRMED 🟢
The transaction is no longer in the mempool and has been included in a block. When a transaction confirms, the following additional fields are showcased by the Transaction Tracker:
Since confirmation policies vary widely across market participants, the n_confirmations
field can be used to apply custom confirmation thresholds to a transaction based on risk tolerance.
ROLLED_BACK ⚠️
As covered in the intro, the settlement of transactions in public blockchains can be subjective. Previously confirmed transactions can be sent back to the mempool or rolled back if the blockchain goes through a reorganization event. Rollbacks might be a result of a stale block, which naturally occurs in Bitcoin on a monthly basis, or they may be indicative of network attacks. In such occurrences, clients can use the Key Risk Indicator feed described in subsequent sections to investigate the incident.
REMOVED
Transactions can be removed from the mempool through different means. The most common ones are EXPIRY or REPLACED. Based on the network, the mempool stores transactions for different amounts of time. Bitcoin stores transactions in the mempool for 14 days after which the transaction expires and it is automatically removed from the mempool. In Bitcoin, transactions can also be replaced via a method known as replace by fee. In that instance a new transaction is broadcast that replaces the existing one.
It is also important to note that a null
return is, in and of itself, a transaction status. If a given txid
is not in the mempool, it might be indicative of problems in the broadcasting of the transaction. For more details on this API, please refer to our Transaction Tracker API Docs.
Asset Availability
Bitcoin (BTC)
Ethereum (ETH) - Confirmed transactions only
Last updated