Checking Transaction Journey Guide
This guide will help you to check the journey of a transaction through the Scroll network, how to inspect it via the /tx/journeys
API, and interpret its lifecycle.
Architecture Summary

Diagram of Scroll transaction journey
Component | Role |
---|---|
Backend | Submits transaction. |
Monitoring Service | Tracks transaction progress and logs events. |
Scroll Internal Nodes | Handle transaction validation and mempool logic. |
Scroll Sequencer | Orders transactions into blocks. |
Axiom Logging | Receives logs for external visibility/analysis. |
Endpoint
POST https://venus.scroll.io/v1/tx/journeys
Request Example
curl -X POST "https://venus.scroll.io/v1/tx/journeys" \ -H "Content-Type: application/json" \ -d '{ "tx_hashes": [ "0xcf0982782692a521e6bcbf4f6c5d1db6ac1f2049b7c7304dd89a9522a61406f9" ] }' | jq
Response Fields
Field | Description |
---|---|
tx_hash | Transaction hash queried. |
current_status | Final status (queued ,pending ,executed ,dropped ,reorged ,replaced ). |
execution_status | Result of execution (successful ,reverted ,unknown ,error ). |
first_seen_at | First time the network detected this transaction. |
last_updated_at | Most recent status update time. |
journey | Detailed list of state transitions for the transaction. |
Current Status
Stage | Description |
---|---|
queued | Transaction not yet executable, e.g. nonce gap or awaiting prior txs. |
pending | Transaction valid and executable in mempool. |
executed | Transaction included in a block. |
dropped | Transaction removed due to expiration, mempool overflow, or invalid parameters. |
reorged | Transaction was removed from the canonical chain after a chain reorganization. |
replaced | Transaction replaced by a new transaction (same sender & nonce, higher gas price). |
Execution Status
Status | Meaning |
---|---|
successful | Transaction executed successfully and included in a block. |
reverted | Transaction failed during execution. |
unknown | Transaction not yet executed. |
error | Unexpected error in query node. Should rarely occur. |
Journey Field Example
Queued
{ "event_type": "queued", "timestamp": "2025-04-10T09:55:29.73Z", "node_type": "l2geth-bootnode-0", "event_detail": "Pooled new future transaction (into non-executable queues)"}
Pending
{ "event_type": "pending", "timestamp": "2025-04-10T09:55:29.73Z", "node_type": "l2geth-bootnode-0", "event_detail": "Transaction promoted from future queue to pending"}
Executed
{ "event_type": "executed", "timestamp": "2025-04-10T09:55:31.02Z", "node_type": "l2geth-bootnode-0", "event_detail": "TX is included in a block"}
Dropped
{ "event_type": "dropped", "timestamp": "2025-04-12T15:33:23.142Z", "node_type": "l2geth-bootnode-0", "event_detail": "Discarding invalid transaction when adding the transaction"}
Queued
: Transaction waiting for execution (e.g., nonce gap)Pending
: Transaction ready for inclusion by Scroll Sequencer.Executed
: Transaction included in a block.- (Optional)
Reorged
: Transaction may get reorged based on network conditions. Dropped
orReplaced
: Transaction invalidated or replaced before execution.
Common Failure Reasons
Dropped:
- Timeout: Stuck too long in queue.
- Mempool full.
- Invalid parameters (e.g., nonce too low, fee cap below block base fee).
Replaced:
- Same nonce transaction with higher gas price replaces previous.
Reorged:
- Block containing tx removed due to L2 chain reorganization.