Layerzeroscan message status distinguishes source finality from verification and destination execution
Layerzeroscan message status shows whether a LayerZero message awaits source confirmations, message verification, or destination execution, helping you distinguish pending processing from a failure requiring investigation. Read the overall status alongside its stage fields: the same INFLIGHT label can cover several different waits. Source success confirms only the sending side. For a transfer awaiting completion, inspect the incomplete stage’s detailed record for a transaction, configuration error, or execution failure.
The short version: In LayerZero V2, a verification quorum still needs destination-chain commitment before receive execution can proceed.
Waiting and recovery decisions
A pending status describes an unfinished stage, while an execution failure or stored payload identifies a different condition with its own evidence and, where applicable, recovery action.
-
If
INFLIGHTappears, inspect the unfinished source, verification, or execution stage before deciding whether intervention is necessary. -
If
CONFIRMINGappears, follow the submitted destination transaction while it awaits finality. -
If
BLOCKEDappears, inspectconfig.errorMessageand the pathway settings for a configuration issue. -
If
FAILEDappears, inspect the destination execution error. If its cause is resolved, retry the same message through LayerZero Scan. -
If
PAYLOAD_STOREDappears, review the stored-payload details and applicable execution requirements before attempting manual execution.
The field carrying a failure determines the investigation: a failed verification commit concerns the sealer transaction, while a failed destination execution concerns the receiving call.
Message summaries and component records
The LayerZero V2 Scan API separates the overall message summary in the name field of the status object from the source, verification, and destination status fields. Each field answers a different question about progress. A SUCCEEDED value applies to its particular component, so interpret the label together with its full field path.
An
INFLIGHT
message can await source confirmations, verification, or execution.
The component records identify the outstanding stage.
CONFIRMING
narrows the wait to finality for a submitted destination transaction.
DELIVERED
reports delivery and execution on the destination chain.
The message GUID ties the source transaction, verifier records, and any available destination transaction together. A hash search can return message records associated with that transaction, while GUID lookup identifies the specific message. Keep the pathway’s sender and receiver contracts alongside the GUID when reconciling details across chains.
Does source confirmation mean a transfer has finished?
Source confirmation establishes finality for the sending transaction under its configured confirmation window; destination execution remains a separate result. The
source.status
field follows the source transaction through discovery and confirmation.
WAITING
means the transaction has not yet appeared on-chain, while
VALIDATING_TX
means Scan has found it but awaits the configured block confirmations.
The ordinary source sequence progresses from
WAITING
through
VALIDATING_TX
to
SUCCEEDED
, after which Decentralized Verifier Networks (DVNs) begin verification. Compare
source.tx.blockConfirmations
with the applicable configuration for this message’s pathway and direction when investigating this wait. A transaction hash identifies a transaction; its presence alone does not establish either source finality or destination completion.
For a standard Omnichain Fungible Token (OFT),
source.status
at
VALIDATING_TX
or later means the source token debit has occurred.
An OFT implementation can debit tokens through burning or locking. The same source stage also means the source transaction has emitted
PacketSent
. A debited source balance therefore cannot establish that destination credit has completed.
DVN quorum and destination commit
DVNs attest to the message, and a separate commit records their verifications on the destination blockchain; the aggregate result and individual verifier entries describe different parts of this work.
Quorum and commit records
DVN quorum
The aggregate
verification.dvn.status
field tracks quorum, with
WAITING
indicating outstanding verifier submissions.
The
QUORUM_REACHED
status means the required DVN quorum exists and awaits commit.
SUCCEEDED
means the destination chain has recorded the verifications. Individual completed submissions therefore need interpretation against the aggregate result.
Commit transaction
The
verification.sealer.status
field tracks commitment:
WAITING
indicates a pending commit, while
VALIDATING_TX
indicates submission of the commit transaction.
SUCCEEDED
confirms commitment, while
FAILED
reports a failed commit transaction.
Individual verifier entries
Each entry in
verification.dvn.dvns[address].status
describes one verifier.
WAITING
means it has not submitted verification;
VALIDATING_TX
means it has submitted a verification transaction. The entry shows
SUCCEEDED
once verification confirms,
FAILED
if verification fails, or
WAITING_FOR_ULN_CONFIG
while awaiting ULN configuration.
A failed commit has diagnostic details under
verification.sealer.failedTx
, where entries can pair
txHash
with
txError
. Keep this evidence separate from destination execution failures: the unsuccessful action here is committing verification.
Transaction-hash delivery
WAITING_FOR_HASH_DELIVERED
describes internal transaction-hash delivery processing in the source status field. The label alone does not establish a failed send or a need to resend. Check the original transaction before initiating another transfer. This internal processing wait differs from the configured confirmation wait
VALIDATING_TX
describes. Neither label, on its own, establishes that the destination application has executed the message.
Which configuration governs a blocked message?
The application’s active configuration for the specific pathway and direction governs the message’s verification requirements and libraries. Inspect
config.errorMessage
when the record reports a configuration problem. The accompanying
config.error
and
config.dvnConfigError
fields help locate the reported issue.
The application’s active settings combine its explicit choices with applicable defaults and can differ between opposite directions of a pathway. The Default Checker describes default pathway settings; those defaults alone do not establish every application’s active requirements. For LayerZero V2, compare the sending and receiving libraries alongside
config.inboundConfig
and
config.outboundConfig
, including their confirmation requirements.
The security stack distinguishes required DVNs from optional DVNs and their threshold. Every required verifier must verify, while the optional set contributes according to its threshold. A required DVN ceasing verification can halt the pathway before destination execution, a different condition from a receiving contract reverting after successful verification.
A Dead DVN is a placeholder for an inactive default configuration. The Omnichain Application (OApp) owner must configure the pathway before using it. Another transfer does not change the application’s settings.
Pathway filters and investigation scope
Pathway queries isolate messages belonging to a particular messaging connection, and a status filter narrows that connection to the condition under investigation. For stored payloads, use
status=PAYLOAD_STORED
. That selection targets messages awaiting manual destination execution, rather than all messages still in flight.
The returned pathway ID identifies the connection for a pathway query. LayerZero endpoint IDs identify source and destination endpoints and have no relation to blockchain chain IDs. The sender and receiver addresses preserve the application context. A query with a different direction or contract pair can describe different messaging activity. Check
config.ulnSendVersion
and
config.ulnReceiveVersion
when matching a record to its library documentation.
The pathway method accepts a nonce filter and ISO-formatted start and end dates, with a documented default limit of 100. The response supplies
nextToken
for further pages when available. Account for pagination before treating an initial result set as the complete collection of stored or failed messages.
Record timestamps
The
created
and
updated
fields provide timestamps on the message record; those values alone do not establish a delivery deadline. Source and destination transaction objects separately expose
blockTimestamp
. Keep record timestamps distinct from transaction timestamps when comparing activity. Elapsed time does not reveal whether confirmations, verification, or execution remain outstanding. The status field for the affected component supplies that distinction.
Destination outcomes and specialized statuses
The
destination.status
field describes execution of the receiving callback,
lzReceive
, and distinguishes waiting, submitted, successful, failed, and simulated-revert states.
WAITING
indicates pending execution, while
VALIDATING_TX
indicates a submitted execution transaction awaiting confirmation.
SUCCEEDED
confirms execution on the destination chain.
FAILED
reports an actual destination execution failure.
SIMULATION_REVERTED
reports a reverted
lzReceive
or
lzCompose
simulation, so it does not by itself confirm a failed on-chain transaction.
PAYLOAD_STORED
identifies a stored payload requiring manual execution. The
destination.payloadStoredTx
and
destination.failedTx
fields provide transaction details relevant to those conditions.
Additional destination actions have separate fields:
destination.nativeDrop.status
tracks an optional native token drop, and
destination.lzCompose.status
tracks optional composition.
N/A
means the respective action does not apply to the message. A completion check involving either action needs its own result, beyond the primary receive status.
APPLICATION_BURNED
and
APPLICATION_SKIPPED
are top-level statuses indicating the receiving application burned or skipped the message, respectively. The lzRead command errors
UNRESOLVABLE_COMMAND
and
MALFORMED_COMMAND
also have dedicated labels. The destination status
RESOLVED_PAYLOAD_SIZE_NOT_PAID
identifies an unpaid resolved-payload-size fee for lzRead.
Layerzeroscan message status: the short answers
Do I need to resend a transfer for WAITING_FOR_HASH_DELIVERED?
WAITING_FOR_HASH_DELIVERED identifies internal transaction-hash processing in the source status field. It does not instruct the sender to repeat the transfer or identify a destination execution failure. The existing transaction and the message’s stage fields remain the relevant records.
What does WAITING_FOR_ULN_CONFIG mean for a DVN?
WAITING_FOR_ULN_CONFIG means an individual DVN is waiting for ULN configuration. It identifies a configuration dependency in that verifier’s record, distinct from a verification transaction awaiting confirmation. Interpret it alongside the application’s applicable verification settings; another DVN succeeding does not establish successful verification by this participant.
Can an OFT debit occur while the source status still shows VALIDATING_TX?
For a standard Omnichain Fungible Token (OFT) message, VALIDATING_TX or a later source status indicates a source-side burn or lock and a PacketSent event. The required source confirmations can still be outstanding during VALIDATING_TX. This state establishes the source debit, while destination credit needs destination-side evidence.
Which status filter finds stored payloads within a pathway?
The pathway message query accepts PAYLOAD_STORED as a status filter. It selects records awaiting manual execution within that pathway. Status filtering groups messages for inspection; it does not execute their stored payloads or change the underlying application configuration. The same query also accepts BLOCKED and FAILED as status values.
Will the reverse direction use identical confirmation settings?
The reverse direction can use a different verification configuration, including its confirmation requirements. LayerZero applications configure verification by pathway and direction, so settings for one direction do not establish the other’s requirements. The configuration associated with the message’s actual source and destination governs that direction.
- last updated