---
title: "Get Transaction Status"
method: POST
path: "/transaction/status"
tags: ["Transaction"]
---

# Get Transaction Status

`POST /transaction/status`

Returns overall transaction status and all of its known payloads based on supplied intent hash.

## Request body

- TransactionStatusRequest
  - `intent_hash` string, required — Bech32m-encoded hash.

## Response `200`

Transaction Status

- TransactionStatusResponse
  - `ledger_state` LedgerState, required — The ledger state against which the response was generated. Can be used to detect if the Network Gateway is returning up-to-date information.
    - `network` string, required — The logical name of the network
    - `state_version` integer, required — The state version of the ledger. Each transaction increments the state version by 1.
    - `proposer_round_timestamp` string, required — The proposer round timestamp of the consensus round when this transaction was committed to ledger. This is not guaranteed to be strictly increasing, as it is computed as an average across the validator set. If this is significantly behind the current timestamp, the Network Gateway is likely reporting out-dated information, or the network has stalled.
    - `epoch` integer, required — The epoch number of the ledger at this state version.
    - `round` integer, required — The consensus round in the epoch that this state version was committed in.
  - `status` 'Unknown' | 'CommittedSuccess' | 'CommittedFailure' | 'Pending' | 'Rejected', required — A top-level intent status, left in for backwards compatibility. It doesn't give much information. Rejected means PermanentRejection.
  - `intent_status` 'Unknown' | 'CommittedSuccess' | 'CommittedFailure' | 'CommitPendingOutcomeUnknown' | 'PermanentlyRejected' | 'LikelyButNotCertainRejection' | 'Pending', required — A more specific intent status. See the description field for further information. Note that `CommitPendingOutcomeUnknown` can either result in `CommittedSuccess` or `CommittedFailure`.
  - `intent_status_description` string, required — An additional description to clarify the intent status.
  - `known_payloads` TransactionStatusResponseKnownPayloadItem[], required
    - `payload_hash` string, required — Bech32m-encoded hash.
    - `status` 'Unknown' | 'CommittedSuccess' | 'CommittedFailure' | 'Pending' | 'Rejected', required — A top-level intent status, left in for backwards compatibility. It doesn't give much information. Rejected means PermanentRejection.
    - `payload_status` 'Unknown' | 'CommittedSuccess' | 'CommittedFailure' | 'CommitPendingOutcomeUnknown' | 'PermanentlyRejected' | 'TemporarilyRejected' | 'Pending' — A more specific payload status. See the description field for further information.
    - `payload_status_description` string — An additional description to clarify the payload status.
    - `error_message` string, nullable — The initial error message received for a rejection or failure during transaction execution. This will typically be the useful error message, explaining the root cause of the issue. Please note that presence of an error message doesn't imply that this payload will definitely reject or fail. This could represent an error during a temporary rejection (such as out of fees) which then gets resolved (e.g. by depositing money to pay the fee), allowing the transaction to be committed.
    - `latest_error_message` string, nullable — The latest error message received for a rejection or failure during transaction execution, this is only returned if it is different from the initial error message. This is more current than the initial error message, but may be less useful, as it could be a message regarding the expiry of the transaction at the end of its epoch validity window. Please note that presence of an error message doesn't imply that this payload will definitely reject or fail. This could represent an error during a temporary rejection (such as out of fees) which then gets resolved (e.g. by depositing money to pay the fee), allowing the transaction to be committed.
    - `handling_status` 'HandlingSubmission' | 'Concluded' — A status concerning the Gateway's handling status of this pending transaction.
    - `handling_status_reason` string, nullable — Additional reason for why the Gateway has its current handling status.
    - `submission_error` string, nullable — The most recent error message received when submitting this transaction to the network. Please note that the presence of an error message doesn't imply that this transaction payload will definitely reject or fail. This could be a transient error.
  - `committed_state_version` integer, nullable — If the intent was committed, this gives the state version when this intent was committed.
  - `permanently_rejects_at_epoch` integer, nullable — The epoch number at which the transaction is guaranteed to get permanently rejected by the Network due to exceeded epoch range defined when submitting transaction.
  - `error_message` string, nullable — The most relevant error message received, due to a rejection or commit as failure. Please note that presence of an error message doesn't imply that the intent will definitely reject or fail. This could represent a temporary error (such as out of fees), or an error with a payload which doesn't end up being committed.

## Other responses

- `4XX` — Client-originated request error

---

[API](https://skmtc.net/radixdlt/apis/radix-gateway-api-babylon.md) · [All operations](https://skmtc.net/radixdlt/apis/radix-gateway-api-babylon/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/radixdlt/radix-gateway-api-babylon/revisions/153aecf74342/schema)
