Skip to main content

The transaction lifecycle

Understand the transaction's status

Updated today

On the transactions page, you see a list of transactions, ordered by date, with the latest first. The last column shows the status of the transaction.

Successful transactions, signed by Utila wallets, end up in a “Completed” status. If you click the transaction, you'll see the timeline. This shows all the statuses the transaction passed through. Usually a transaction is completed so fast that you don't actually see these statuses on the list.

This is particularly evident in scenarios involving Anti-Money Laundering (AML) policy enforcement, webhook events for non-AML systems, and vault-to-vault transfers, where the transaction completion flow might show variations in statuses or require additional context.

Transaction statuses

The statuses vary depending on the scenario, such as AML policy use, system webhook conditions, and intra-vault transfers.

Following are the transaction statuses, organized by their general applicability and specific operational scenarios.

Status

Description

Applicability

Pending approval

The transaction requires approval by the admin quorum

General

Awaiting AML policy check

The transaction is waiting for the AML policy screening. Relevant for outgoing transactions and only if if AML is configured.

AML-specific

Declined by AML policy

Outgoing transaction blocked by AML policy.

AML-specific

Approved

The transaction passed transaction policy screening and is ready to be signed.

General

Awaiting signature

The transaction is approved and ready to be signed.

General

Signed

The transaction is signed but not yet published.

General

Pending publish

The transaction has been sent to the publishing queue.

General

Published

The transaction has been published to the blockchain.

General

Dropped

Another transaction using the same nonce has already been confirmed on-chain, so this transaction will never be confirmed. This applies to nonce-based blockchains such as EVM networks.

General

Mined

The transaction has been included in a block.

General

Failed

The transaction has been published but not included in a block.

General

Confirmed

The transaction has been confirmed by multiple blocks in the blockchain.

General

Expired

The transaction was not signed within 72 hours and has by default expired. Users that create transactions via API can override this and set an expiration time of their choice.

General

Further context-specific statuses, such as for webhook events in non-AML systems or intra-vault transfers, might differ depending on specific use cases.

Following is a representation of the flow of a transaction. It shows the various decision points and results.

Did this answer your question?