---
title: "Transaction statuses"
description: "Reference all GenLayer Intelligent Contract transaction statuses and their numeric codes."
source: https://docs.genlayer.com/understand-genlayer-protocol/core-concepts/transactions/transaction-statuses
last_updated: 2026-08-19
---

# Transaction statuses

The consensus contracts define 15 numeric status values. APIs can return the stored status or an effective status calculated from the current time, such as `ReadyToFinalize` after an appeal window expires.

| Code | Status | Meaning |
| ---: | --- | --- |
| 0 | `Uninitialized` | No transaction is initialized for this ID. |
| 1 | `Pending` | The transaction is queued and waiting for activation. |
| 2 | `Proposing` | A leader is assigned and must propose an execution receipt. |
| 3 | `Committing` | The committee is submitting encrypted vote commitments. |
| 4 | `Revealing` | Committee members are revealing their committed votes. |
| 5 | `Accepted` | The committee accepted the proposed receipt; the appeal window is open. |
| 6 | `Undetermined` | The round did not reach a result and no funded rotation remained; a leader appeal is possible. |
| 7 | `Finalized` | The appeal process is complete and finalization was recorded. |
| 8 | `Canceled` | The transaction was canceled before completing consensus. |
| 9 | `AppealRevealing` | A fresh validator-appeal committee is revealing votes. |
| 10 | `AppealCommitting` | A fresh validator-appeal committee is committing votes. |
| 11 | `ReadyToFinalize` | The effective appeal window elapsed and the transaction can be finalized. |
| 12 | `ValidatorsTimeout` | A validator majority reported that validation timed out; the appeal window is open. |
| 13 | `LeaderTimeout` | The leader reported an execution timeout; the appeal window is open. |
| 14 | `LeaderRevealing` | The leader must reveal execution data and keys before committee vote reveals. |

## Status is not execution success

`Accepted` means the validator committee reached consensus on the receipt. The receipt itself can represent a successful return, a user error, a GenVM error, or a timeout. Inspect the receipt's execution result in addition to its consensus status.

Similarly, `Finalized` means the decided receipt is no longer appealable. It does not convert an error result into a successful contract call.

## Stored and effective status

Some view functions accept a timestamp and derive the status that applies after a deadline. A transaction whose stored decision is `Accepted`, for example, can be reported as `ReadyToFinalize` after its appeal window elapses even before a finalization transaction updates storage to `Finalized`.

Use the numeric codes for program logic and display the names to users. See [`gen_getTransactionStatus`](/api-references/genlayer-node/gen/gen_getTransactionStatus).
