---
title: "Returns runtime transactions with the given transaction hash."
method: GET
path: "/{runtime}/transactions/{tx_hash}"
---

# Returns runtime transactions with the given transaction hash.

`GET /{runtime}/transactions/{tx_hash}`

## Path parameters

- `runtime` 'emerald' | 'sapphire' | 'pontusxtest' | 'pontusxdev' | 'cipher', required
- `tx_hash` string, required

## Response `200`

The requested runtime transactions.

- RuntimeTransactionList — A list of runtime transactions.
  - `total_count` integer, required — The total number of records that match the query, i.e. the number of records the query would return with limit=infinity.
  - `is_total_count_clipped` boolean, required — Whether total_count is clipped for performance reasons.
  - `transactions` RuntimeTransaction[], required
    - `round` integer, required — The block round at which this transaction was executed.
    - `index` integer, required — The 0-based index of this transaction in the block.
    - `timestamp` string, date-time, required — The second-granular consensus time when this tx's block was proposed.
    - `hash` string, required — The Oasis cryptographic hash of this transaction's encoding.
    - `eth_hash` string — The Ethereum cryptographic hash of this transaction's encoding. Absent for non-Ethereum-format transactions.
    - `signers` RuntimeTransactionSigner[], required — The signers of this transaction.
      - `address` string, required — An Oasis-style (bech32) address.
      - `address_eth` string — The Ethereum address of this transaction signer.
      - `nonce` integer, required — The transaction signer nonce.
    - `sender_0` string, required — An Oasis-style (bech32) address.
    - `sender_0_eth` string — The Ethereum address of this transaction's 0th signer. DEPRECATED: This field will be removed in the future in favor of the signers field.
    - `nonce_0` integer, required — The nonce used with this transaction's 0th signer, to prevent replay. DEPRECATED: This field will be removed in the future in favor of the signers field.
    - `fee` string, required — The fee that this transaction's sender committed to pay to execute it (total ParaTime base units, as a string).
    - `fee_symbol` string, required — The denomination of the fee.
    - `fee_proxy_module` string — The module of the fee proxy.
    - `fee_proxy_id` string, byte — the base64-encoded id of the fee proxy.
    - `gas_limit` integer, required — The maximum gas that this transaction's sender committed to use to execute it.
    - `gas_used` integer, required — The total gas used by the transaction.
    - `charged_fee` string, required — The fee that was charged for the transaction execution (total, native denomination, ParaTime base units, as a string). For EVM transactions this is calculated as `gas_price * gas_used`, where `gas_price = fee / gas_limit`, for compatibility with Ethereum. For other transactions this equals to `fee`.
    - `size` integer, required — The total byte size of the transaction.
    - `oasis_encryption_envelope` RuntimeTransactionEncryptionEnvelope
      - `format` string, required
      - `public_key` string, byte — The base64-encoded public key used to encrypt the transaction.
      - `data_nonce` string, byte — The base64-encoded nonce used to encrypt the transaction data.
      - `data` string, byte — The base64-encoded encrypted transaction data.
      - `result_nonce` string, byte — The base64-encoded nonce used to encrypt the transaction results.
      - `result` string, byte — The base64-encoded encrypted result data.
    - `method` string — The method that was called. Defined by the runtime. In theory, this could be any string as the runtimes evolve. In practice, Nexus currently expects only the following methods: - "accounts.Transfer" - "consensus.Deposit" - "consensus.Withdraw" - "consensus.Delegate" - "consensus.Undelegate" - "evm.Create" - "evm.Call" - "rofl.Create" - "rofl.Update" - "rofl.Remove" - "rofl.Register" May be null if the transaction was malformed or encrypted.
    - `body` object — The method call body. May be null if the transaction was malformed.
    - `is_likely_native_token_transfer` boolean — Whether this transaction likely represents a native token transfer. This is based on a heuristic, and can change at any time without warning and possibly without updating the documentation. The current heuristic sets this to `true` for: - Transactions with method "accounts.Transfer". Those are always native token transfers. - Transactions with method "evm.Call" that have no `data` field in their `body`. Those tend to be transfers, but the runtimes provides no reliable visibility into whether a transfer happened. Note: Other transactions with method "evm.Call", and possibly "evm.Create", may also be (or include) native token transfers. The heuristic will be `false` for those.
    - `to` string — An Oasis-style (bech32) address.
    - `to_eth` string — A reasonable "to" Ethereum address associated with this transaction,
    - `amount` string — A reasonable "amount" associated with this transaction, if applicable. The meaning varies based on the transaction method. Usually in native denomination, ParaTime units. As a string.
    - `amount_symbol` string — The denomination of the "amount" associated with this transaction, if applicable.
    - `encryption_envelope` RuntimeTransactionEncryptionEnvelope
      - `format` string, required
      - `public_key` string, byte — The base64-encoded public key used to encrypt the transaction.
      - `data_nonce` string, byte — The base64-encoded nonce used to encrypt the transaction data.
      - `data` string, byte — The base64-encoded encrypted transaction data.
      - `result_nonce` string, byte — The base64-encoded nonce used to encrypt the transaction results.
      - `result` string, byte — The base64-encoded encrypted result data.
    - `success` boolean — Whether this transaction successfully executed. Can be absent (meaning "unknown") for confidential runtimes.
    - `evm_fn_name` string — The name of the smart contract function called by the transaction. Only present for `evm.log` transaction calls to contracts that have been verified.
    - `evm_fn_params` EvmAbiParam[] — The decoded parameters with which the smart contract function was called. Only present for `evm.log` transaction calls to contracts that have been verified.
      - `name` string, required — The parameter name.
      - `evm_type` string, required — The solidity type of the parameter.
      - `value` unknown, required
    - `error` TxError
      - `module` string — The module of a failed transaction.
      - `code` integer, required — The status code of a failed transaction.
      - `message` string — The message of a failed transaction. This field, like `code` and `module`, can represent an error that originated anywhere in the paratime, i.e. either inside or outside a smart contract. A common special case worth calling out: When the paratime is EVM-compatible (e.g. Emerald or Sapphire) and the error originates inside a smart contract (using `revert` in solidity), the following will be true: - `module` will be "evm" and `code` will be 8; see [here](https://github.com/oasisprotocol/oasis-sdk/blob/runtime-sdk/v0.8.3/runtime-sdk/modules/evm/src/lib.rs#L128) for other possible errors in the `evm` module. - `message` will contain the best-effort human-readable revert reason.
      - `revert_params` EvmAbiParam[] — The error parameters, as decoded using the contract abi. Present only when - the error originated from within a smart contract (e.g. via `revert` in Solidity), and - the contract is verified or the revert reason is a plain String. If this field is present, `message` will include the name of the error, e.g. 'InsufficientBalance'. Note that users should be cautious when evaluating error data since the data origin is not tracked and error information can be faked.
        - `name` string, required — The parameter name.
        - `evm_type` string, required — The solidity type of the parameter.
        - `value` unknown, required

## Other responses

- `400` — A human-readable error message.
- `404` — An empty response indicating that the requested resource was not found.
- `500` — A human-readable error message.

---

[API](https://skmtc.net/oasisprotocol/apis/oasis-nexus-api-v1.md) · [All operations](https://skmtc.net/oasisprotocol/apis/oasis-nexus-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/oasisprotocol/oasis-nexus-api-v1/versions/a841981f8ee1/schema)
