---
title: "gen_getTransactionStatus"
description: "Returns the transaction's current materialized consensus status. This is the lightweight polling surface: it does not project deadlines or turn protocol…"
source: https://docs.genlayer.com/api-references/genlayer-node/gen/gen_getTransactionStatus
last_updated: 2026-09-03
---

# gen_getTransactionStatus

### gen_getTransactionStatus

Returns the transaction's current materialized consensus status. This is the lightweight polling surface: it does not project deadlines or turn protocol actions into synthetic statuses.

**Method:** `gen_getTransactionStatus`

**Parameters:**

- `request` (object, required):
  - `txId` (string, required): The transaction hash (hex-encoded with `0x` prefix)

**Returns:** Object with status string and numeric code

**Response Fields:**

| Field | Type | Description |
|-------|------|-------------|
| `status` | string | Human-readable status name (e.g., "Finalized", "Accepted", "Pending") |
| `statusCode` | uint8 | Numeric status code |

**Status Codes:**

| Code | Status |
|------|--------|
| 0 | Uninitialized |
| 1 | Pending |
| 2 | Proposing |
| 3 | Committing |
| 4 | Revealing |
| 5 | Accepted |
| 6 | Undetermined |
| 7 | Finalized |
| 8 | Canceled |
| 9 | AppealRevealing |
| 10 | AppealCommitting |
| 11 | ValidatorsTimeout |
| 12 | LeaderTimeout |
| 13 | LeaderRevealing |

**Example Request:**

```json
{
  "jsonrpc": "2.0",
  "method": "gen_getTransactionStatus",
  "params": [
    {
      "txId": "0x563f046c187d711127c51213ca62e2e4fee52009a98f0989a73a0a0382d21890"
    }
  ],
  "id": 1
}
```

**Example Response:**

```json
{
  "jsonrpc": "2.0",
  "result": {
    "status": "Finalized",
    "statusCode": 7
  },
  "id": 1
}
```

**Notes:**

- This endpoint reads the stored status directly. A deadline passing does not change this response until the corresponding protocol transition is materialized.
- Use this for polling — it's cheaper than `gen_getTransactionReceipt` which returns the full receipt
- `Finalize` is an action, not a status. Explorers and operator tooling that need projected state or recovery actions should use `gen_getTransactionLifecycle`.
