Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion public/locales/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,14 @@
"scrollSepoliaBlockExplorer": "Scroll Sepolia Explorer",
"sepoliaRollupExplorer": "Rollup Explorer",
"sepoliaBlockExplorer": "Scrollscan Explorer",
"canvasBadge": "Canvas & Badge Integration"
"canvasBadge": "Canvas & Badge Integration",
"transactionJourney": "Checking Transaction Journey"
},
"whatToBuild": {
"whatToBuild": "What to Build",
"stablecoinPaymentsTutorial": "Stablecoin Payments Tutorial",
"solidityCookbook": "Solidity Cookbook",
"privacyDappsWithZk": "Privacy dApps with ZK"
},
"technology": {
"introduction": "Introduction",
Expand Down
6 changes: 6 additions & 0 deletions public/locales/es/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,12 @@
"sepoliaRollupExplorer": "Explorador de Rollup",
"sepoliaBlockExplorer": "Explorador de bloques Scrollscan"
},
"whatToBuild": {
"whatToBuild": "Qué construir",
"stablecoinPaymentsTutorial": "Pagos con Stablecoins",
"solidityCookbook": "Recetario de Solidity",
"privacyDappsWithZk": "Dapps Privadas con ZK"
},
"technology": {
"introduction": "Introducción",
"principles": "Principios",
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 21 additions & 0 deletions src/config/sidebar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,10 @@ export const getSidebar = () => {
title: t("sidebar.developers.canvasBadge"),
url: formatUrl("developers/guides/canvas-badge-integration"),
},
{
title: t("sidebar.developers.transactionJourney"),
url: formatUrl("developers/guides/checking-transaction-journey"),
},
// {
// title: t("sidebar.developers.bridgingERC721NftThroughCustomGateway"),
// url: formatUrl("developers/guides/"),
Expand All @@ -180,6 +184,23 @@ export const getSidebar = () => {
// },
],
},
{
section: t("sidebar.whatToBuild.whatToBuild"),
contents: [
{
title: t("sidebar.whatToBuild.stablecoinPaymentsTutorial"),
url: formatUrl("developers/what-to-build/stablecoin-payments-tutorial"),
},
{
title: t("sidebar.whatToBuild.solidityCookbook"),
url: formatUrl("developers/what-to-build/solidity-cookbook"),
},
{
title: t("sidebar.whatToBuild.privacyDappsWithZk"),
url: formatUrl("developers/what-to-build/privacy-dapps-with-zk"),
},
],
},
{
section: t("sidebar.developers.mainnetResources"),
contents: [
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
137 changes: 137 additions & 0 deletions src/content/docs/en/developers/guides/checking-transaction-journey.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
---
section: developers
date: Last Modified
title: "Checking Transaction Journey Guide"
lang: "en"
permalink: "developers/guides/checking-transaction-journey"
excerpt: "This guide contains instructions on how you can check your transaction's journey."
---

import Aside from "../../../../../components/Aside.astro"
import ClickToZoom from "../../../../../components/ClickToZoom.astro"
import ToggleElement from "../../../../../components/ToggleElement.astro"
import txJourneyDiagram from "../_images/txJourneyDiagram.png"

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

<ClickToZoom src={txJourneyDiagram} />
_Diagram of Scroll transaction journey_

| Component | Role |
|-----------------------|---------------------------------------------------|
| User/DApp | Submits transaction. |
| Monitoring Service | Logs events and tracks transaction progress |
| Scroll Internal Nodes | Peer nodes supporting network operations such as bootnodes or RPC nodes for internal backend services. |
| Scroll Sequencer | Orders transactions into blocks. |
| HTTP API | External access interface for monitoring service |

---

### Endpoint

POST https://venus.scroll.io/v1/tx/journeys

### Request Example

```bash
curl -X POST "https://venus.scroll.io/v1/tx/journeys" \
-H "Content-Type: application/json" \
-d '{
"tx_hashes": [
"0xf8a92194cb21dcfaa2efe3230c5d5c80f7e71361575eff33cafa6ebc9eb34357"
]
}' | jq
```

#### Response Fields

| Field | Description |
|-------------------|-------------|
| `tx_hash` | Transaction hash queried. |
| `current_status` | Final status (`queued`,`pending`,`executed`,`dropped`,`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. |
| `replaced` | Transaction replaced by a new transaction (same sender and nonce, with 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

```json
{
"event_type": "queued",
"timestamp": "2025-06-19T17:22:23.27Z",
"node_type": "l2geth-bootnode-0",
"event_detail": "Transaction added to future queue (initial processing - will be promoted to pending if nonce is correct and all validity checks pass, or wait for conditions to be met)"
}
```

#### Pending

```json
{
"event_type": "pending",
"timestamp": "2025-06-19T17:22:23.27Z",
"node_type": "l2geth-bootnode-0",
"event_detail": "Transaction promoted from future queue to pending pool (passed all checks: correct nonce sequence, sufficient balance including L1 data fee, gas limit compliance, and account pending limit)"
}
```

#### Executed

```json
{
"event_type": "executed",
"timestamp": "2025-06-19T17:22:23.299Z",
"node_type": "l2geth-mpt-signer-1",
"event_detail": "Transaction successfully included in a block and executed on-chain"
}
```

#### Dropped

```json
{
"event_type": "dropped",
"timestamp": "2025-06-19T17:22:23.352Z",
"node_type": "l2geth-bootnode-2",
"event_detail": "Transaction rejected (validation failed - insufficient funds, unsupported transaction type, or other validation errors)"
}
```

1. `Queued`: Transaction waiting for execution (e.g., nonce gap)
2. `Pending`: Transaction ready for inclusion by Scroll Sequencer.
3. `Executed`: Transaction included in a block.
4. `Dropped` or `Replaced`: 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.
Loading