---
title: "Get Transactions Stream"
method: POST
path: "/stream/transactions"
tags: ["Stream"]
---

# Get Transactions Stream

`POST /stream/transactions`

Returns transactions which have been committed to the ledger.
[Check detailed documentation for brief explanation](#tag/Examples/Using-the-streamtransactions-endpoint)

## Request body

- StreamTransactionsRequest — defines lower boundary (inclusive) for queried data. i.e `{ "from_state_version" = {"epoch" = 10} }`, will return data from epoch 10 till current max ledger tip.
  - `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.
  - `from_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.
  - `cursor` string, nullable — This cursor allows forward pagination, by providing the cursor from the previous request.
  - `limit_per_page` integer, nullable — The page size requested.
  - `kind_filter` 'User' | 'EpochChange' | 'All' — Limit returned transactions by their kind. Defaults to `user`.
  - `manifest_accounts_withdrawn_from_filter` Address[] — Allows specifying an array of account addresses. If specified, the response will contain only transactions with a manifest containing withdrawals from the given accounts.
  - `manifest_accounts_deposited_into_filter` Address[] — Similar to `manifest_accounts_withdrawn_from_filter`, but will return only transactions with a manifest containing deposits to the given accounts.
  - `manifest_badges_presented_filter` Address[] — Allows specifying array of badge resource addresses. If specified, the response will contain only transactions where the given badges were presented.
  - `manifest_resources_filter` Address[] — Allows specifying array of resource addresses. If specified, the response will contain only transactions containing the given resources in the manifest (regardless of their usage). We recommend that integrators use `balance_change_resources_filter` in most cases, as it also captures resource changes that are not specified in the manifest.
  - `affected_global_entities_filter` Address[] — Allows specifying an array of global addresses. If specified, the response will contain transactions that affected all of the given global entities. A global entity is marked as "affected" by a transaction if any of its state (or its descendents' state) was modified as a result of the transaction. For performance reasons consensus manager and transaction tracker are excluded from that filter.
  - `events_filter` StreamTransactionsRequestEventFilterItem[] — Filters the transaction stream to transactions which emitted at least one event matching each filter (each filter can be satisfied by a different event). Currently *only* deposit and withdrawal events emitted by an internal vault entity are tracked. For the purpose of filtering, the emitter address is replaced by the global ancestor of the emitter, for example, the top-level account / component which contains the vault which emitted the event.
    - `event` 'Deposit' | 'Withdrawal', required
    - `emitter_address` string — Bech32m-encoded human readable version of the address.
    - `resource_address` string — Bech32m-encoded human readable version of the address.
  - `accounts_with_manifest_owner_method_calls` Address[] — Allows specifying an array of account addresses. If specified, the response will contain only transactions that, for all specified accounts, contain manifest method calls to that account which require the owner role. See the [account docs](https://docs.radixdlt.com/docs/account) for more information.
  - `accounts_without_manifest_owner_method_calls` Address[] — Allows specifying an array of account addresses. If specified, the response will contain only transactions that, for all specified accounts, do NOT contain manifest method calls to that account which require owner role. See the [account docs](https://docs.radixdlt.com/docs/account) for more information.
  - `manifest_class_filter` object — Allows filtering to transactions which match the given manifest classification. If specified, the response will contain only transactions which have a class that matches the filter. If `match_only_most_specific` set to true, only transactions where the queried class is most specific will be returned. See the [docs on manifest classification](https://docs.radixdlt.com/docs/conforming-transaction-manifest-types) for more information.
    - `class` 'General' | 'Transfer' | 'PoolContribution' | 'PoolRedemption' | 'ValidatorStake' | 'ValidatorUnstake' | 'ValidatorClaim' | 'AccountDepositSettingsUpdate', required — High-level manifest class type: * `General`: A general manifest that involves any amount of arbitrary components and packages where nothing more concrete can be said about the manifest and its nature. * `Transfer`: A manifest of a 1-to-1 transfer to a one-to-many transfer of resources. * `PoolContribution`: A manifest that contributed some amount of resources to a liquidity pool that can be a one-resource pool, two-resource pool, or a multi-resource pool. * `PoolRedemption`: A manifest that redeemed resources from a liquidity pool. Similar to contributions, this can be any of the three pool blueprints available in the pool package. * `ValidatorStake`: A manifest where XRD is staked to one or more validators. * `ValidatorUnstake`: A manifest where XRD is unstaked from one or more validators. * `ValidatorClaim`: A manifest where XRD is claimed from one or more validators. * `AccountDepositSettingsUpdate`: A manifest that updated the deposit settings of the account.
    - `match_only_most_specific` boolean
  - `event_global_emitters_filter` Address[] — Allows specifying an array of global addresses. If specified, the response will contain transactions in which all entities emitted events. If an event was published by an internal entity, it is going to be indexed as it is a global ancestor. For performance reasons events published by consensus manager and native XRD resource are excluded from that filter.
  - `balance_change_resources_filter` Address[] — Allows filtering to transactions which included non-fee related balance changes for all provided resources. Defaults to `[]`. We recommend that integrators use this instead of the `manifest_resources_filter` in most cases, as it also captures resource changes that are not specified in the manifest.
  - `transaction_status_filter` 'Success' | 'Failure' | 'All' — Allows filtering by the transaction commit status (`Success`, `Failure`, `All`). Defaults to `All`.
  - `order` 'Asc' | 'Desc' — Configures the order of returned result set. Defaults to `desc`.
  - `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`

Transactions (paginated)

- StreamTransactionsResponse
  - `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.
  - `next_cursor` string, nullable — If specified, contains a cursor to query next page of the `items` collection.
  - `items` CommittedTransactionInfo[], required — The page of user transactions.
    - `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/versions/153aecf74342/schema)
