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 with0xprefix)
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:
{
"jsonrpc": "2.0",
"method": "gen_getTransactionStatus",
"params": [
{
"txId": "0x563f046c187d711127c51213ca62e2e4fee52009a98f0989a73a0a0382d21890"
}
],
"id": 1
}Example Response:
{
"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_getTransactionReceiptwhich returns the full receipt Finalizeis an action, not a status. Explorers and operator tooling that need projected state or recovery actions should usegen_getTransactionLifecycle.