---
title: "Get Committed Transaction Details"
method: POST
path: "/transaction/committed-details"
tags: ["Transaction"]
---

# Get Committed Transaction Details

`POST /transaction/committed-details`

Returns the committed details and receipt of the transaction for a given transaction identifier.
Transaction identifiers which don't correspond to a committed transaction will return a `TransactionNotFoundError`.

## Request body

- TransactionCommittedDetailsRequest — defines upper boundary (inclusive) for queried data. i.e `{ "at_state_version" = {"epoch" = 10} }`, will return data till 10 epoch.
  - `at_ledger_state` LedgerStateSelector, nullable — Optional. This allows for a request to be made against a historic state. If a constraint is specified, the Gateway will resolve the request against the ledger state at that time. If not specified, requests will be made with respect to the top of the committed ledger.
    - `state_version` integer, nullable — If provided, the latest ledger state lower than or equal to the given state version is returned.
    - `timestamp` string, date-time, nullable — If provided, the latest ledger state lower than or equal to the given round timestamp is returned.
    - `epoch` integer, nullable — If provided, the ledger state lower than or equal to the given epoch at round 0 is returned.
    - `round` integer, nullable — If provided must be accompanied with `epoch`, the ledger state lower than or equal to the given epoch and round is returned.
  - `intent_hash` string, required — Bech32m-encoded hash.
  - `opt_ins` TransactionDetailsOptIns
    - `raw_hex` boolean — if set to `true`, raw transaction hex is returned.
    - `receipt_state_changes` boolean — if set to `true`, state changes inside receipt object are returned.
    - `receipt_fee_summary` boolean — if set to `true`, fee summary inside receipt object is returned.
    - `receipt_fee_source` boolean — if set to `true`, fee source inside receipt object is returned.
    - `receipt_fee_destination` boolean — if set to `true`, fee destination inside receipt object is returned.
    - `receipt_costing_parameters` boolean — if set to `true`, costing parameters inside receipt object is returned.
    - `receipt_events` boolean — if set to `true`, events inside receipt object is returned. Please use the `detailed_events` instead, as it provides an enriched model with context and additional data.
    - `detailed_events` boolean — if set to `true`, detailed events object is returned. For more information please visit the [Detailed Events docs](#tag/Examples/Detailed-Events-Explained).
    - `receipt_output` boolean — (true by default) if set to `true`, transaction receipt output is returned.
    - `affected_global_entities` boolean — if set to `true`, all affected global entities by given transaction are returned.
    - `manifest_instructions` boolean — if set to `true`, manifest instructions for user transactions are returned.
    - `balance_changes` boolean — if set to `true`, returns the fungible and non-fungible balance changes. **Warning!** This opt-in might be missing for recently committed transactions, in that case a `null` value will be returned. Retry the request until non-null value is returned.

## Response `200`

Transaction Status

- TransactionCommittedDetailsResponse
  - `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.
  - `transaction` CommittedTransactionInfo, required
    - `state_version` integer, required
    - `epoch` integer, required
    - `round` integer, required
    - `round_timestamp` string, required
    - `transaction_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_hash` string — Bech32m-encoded hash.
    - `intent_hash` string — Bech32m-encoded hash.
    - `fee_paid` string — String-encoded decimal representing the amount of a related fungible resource.
    - `affected_global_entities` Address[]
    - `confirmed_at` string, date-time, nullable
    - `error_message` string, nullable
    - `raw_hex` string — Hex-encoded binary blob.
    - `receipt` TransactionReceipt
      - `status` 'Unknown' | 'CommittedSuccess' | 'CommittedFailure' | 'Pending' | 'Rejected' — A top-level intent status, left in for backwards compatibility. It doesn't give much information. Rejected means PermanentRejection.
      - `fee_summary` object — This type is defined in the Core API as `FeeSummary`. See the Core API documentation for more details.
      - `costing_parameters` object
      - `fee_destination` object — This type is defined in the Core API as `FeeDestination`. See the Core API documentation for more details.
      - `fee_source` object — This type is defined in the Core API as `FeeSource`. See the Core API documentation for more details.
      - `state_updates` object — This type is defined in the Core API as `StateUpdates`. See the Core API documentation for more details.
      - `next_epoch` object — Information (number and active validator list) about new epoch if occured. This type is defined in the Core API as `NextEpoch`. See the Core API documentation for more details.
      - `output` object — The manifest line-by-line engine return data (only present if `status` is `CommittedSuccess`). This type is defined in the Core API as `SborData`. See the Core API documentation for more details.
      - `events` EventsItem[] — Events emitted by a transaction. Please use the `detailed_events` instead, as it provides an enriched model with context and additional data.
        - `name` string, required
        - `emitter` object, required — This type is defined in the Core API as `EventEmitterIdentifier`. See the Core API documentation for more details.
        - `data` ProgrammaticScryptoSborValue, required — Arbitrary SBOR value represented as programmatic JSON with optional property name annotations. All scalar types (`Bool`, `I*`, `U*`, `String`, `Reference`, `Own`, `Decimal`, `PreciseDecimal`, `NonFungibleLocalId`) convey their value via `value` string property with notable exception of `Bool` type that uses regular JSON boolean type. Numeric values as string-encoded to preserve accuracy and simplify implementation on platforms with no native support for 64-bit long numerical values. Common properties represented as nullable strings: * `type_name` is only output when a schema is present and the type has a name, * `field_name` is only output when the value is a child of a `Tuple` or `Enum`, which has a type with named fields, * `variant_name` is only output when a schema is present and the type is an `Enum`. The following is a non-normative example annotated `Tuple` value with `String` and `U32` fields: ``` { "kind": "Tuple", "type_name": "CustomStructure", "fields": [ { "kind": "String", "field_name": "favorite_color", "value": "Blue" }, { "kind": "U32", "field_name": "usage_counter", "value": "462231" } ] } ```
          - `kind` 'Bool' | 'I8' | 'I16' | 'I32' | 'I64' | 'I128' | 'U8' | 'U16' | 'U32' | 'U64' | 'U128' | 'String' | 'Enum' | 'Array' | 'Bytes' | 'Map' | 'Tuple' | 'Reference' | 'Own' | 'Decimal' | 'PreciseDecimal' | 'NonFungibleLocalId', required — These are the Scrypto SBOR `ValueKind`s, but with `Bytes` added as an alias for `Vec`, to display such values as hex-encoded strings.
          - `type_name` string, nullable — The name of the type of this value. This is only output when a schema is present and the type has a name. This property is ignored when the value is used as an input to the API.
          - `field_name` string, nullable — The name of the field which hosts this value. This property is only included if this value is a child of a `Tuple` or `Enum` with named fields. This property is ignored when the value is used as an input to the API.
      - `detailed_events` DetailedEventsItem[] — Events emitted by a transaction, enriched with additional context and data. For more information please visit [Detailed Eevents docs](#tag/Examples/Detailed-Events-Explained).
        - `identifier` DetailedEventIdentifier, required — Identifier of an event.
          - `package` string, required — The address of the published package that defines the event. Bech32m-encoded human readable version of the address.
          - `blueprint` string, required — The blueprint that defines the event.
          - `event` string, required — Event name.
        - `payload_type_definition` DetailedEventPayloadTypeDefinition, required — Detailed information about the event's payload type.
          - `kind` 'SchemaLocal' | 'WellKnown', required — Kind of SBOR type. - If `WellKnown`, then it is a pointer to a well known scrypto type with that ID, - If `SchemaLocal`, then it is an index into the given schema.
        - `emitter` DetailedEventEmitter, required — Detailed information about the event emitter.
          - `type` 'EntityMethod' | 'PackageFunction', required
        - `payload` DetailedEventPayload, required — Event payload decoded into Programmatic JSON using its schema.
          - `programmatic_json` object, required
      - `error_message` string, nullable — Error message (only present if status is `Failed` or `Rejected`)
    - `manifest_instructions` string — A text-representation of a transaction manifest. This field will be present only for user transactions and when explicitly opted-in using the `manifest_instructions` flag.
    - `manifest_classes` ManifestClass[] — A collection of zero or more manifest classes ordered from the most specific class to the least specific one. This field will be present only for user transactions. For user transactions with subintents only the root transaction intent is currently used to determine the manifest classes.
    - `message` object — The optional transaction message. This type is defined in the Core API as `TransactionMessage`. See the Core API documentation for more details.
    - `balance_changes` TransactionBalanceChanges, nullable
      - `fungible_fee_balance_changes` TransactionFungibleFeeBalanceChanges[], required — A list of all fee-related fungible balance changes per entity and resource.
        - `type` 'FeePayment' | 'FeeDistributed' | 'TipDistributed' | 'RoyaltyDistributed', required — Indicates fee-related balance changes, for example: - payment of the fee including tip and royalty, - distribution of royalties, - distribution of the fee and tip to the consensus-manager, for distributing to the relevant validator/s at end of epoch. See https://www.radixdlt.com/blog/how-fees-work-in-babylon for further information on how fee payment works at Babylon.
        - `entity_address` string, required — Bech32m-encoded human readable version of the address.
        - `resource_address` string, required — Bech32m-encoded human readable version of the address.
        - `balance_change` string, required — The string-encoded decimal representing the amount of change for the fungible resource.
      - `fungible_balance_changes` TransactionFungibleBalanceChanges[], required — A list of all non-fee-related fungible balance changes per entity and resource.
        - `entity_address` string, required — Bech32m-encoded human readable version of the address.
        - `resource_address` string, required — Bech32m-encoded human readable version of the address.
        - `balance_change` string, required — The string-encoded decimal representing the amount of change for the fungible resource.
      - `non_fungible_balance_changes` TransactionNonFungibleBalanceChanges[], required — A list of all non-fungible changes per entity and resource.
        - `entity_address` string, required — Bech32m-encoded human readable version of the address.
        - `resource_address` string, required — Bech32m-encoded human readable version of the address.
        - `added` NonFungibleId[], required
        - `removed` NonFungibleId[], required
    - `subintent_details` TransactionSubintentDetails[] — Subintent details. Please note that it is returned regardless of whether the transaction was committed successfully or failed, and it can be returned in multiple transactions.
      - `subintent_hash` string, required — Bech32m-encoded hash.
      - `manifest_instructions` string — A text-representation of a subintent manifest. This field will be present only for user transactions and when explicitly opted-in using the `manifest_instructions` flag.
      - `message` object — The optional subintent message. This type is defined in the Core API as `TransactionMessage`. See the Core API documentation for more details.
      - `child_subintent_hashes` HashBech32mString[] — The subintent hash of each child of the subintent.
    - `child_subintent_hashes` HashBech32mString[] — The child subintent hashes of the root transaction intent. Please note that it is returned regardless of whether the transaction was committed successfully or failed, and it can be returned in multiple transactions.

## 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)
