---
title: "Get transaction by version"
method: GET
path: "/transactions/by_version/{txn_version}"
tags: ["Transactions"]
---

# Get transaction by version

`GET /transactions/by_version/{txn_version}`

Retrieves a transaction by a given version. If the version has been
pruned, a 410 will be returned.

## Path parameters

- `txn_version` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.

## Response `200`

- union — Enum of the different types of transactions in Aptos
  - object — A transaction waiting in mempool
    - `type` string, required
    - `hash` string, required
    - `sender` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
    - `sequence_number` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `max_gas_amount` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `gas_unit_price` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `expiration_timestamp_secs` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `payload` union, required — An enum of the possible transaction payloads
      - object — Payload which runs a single entry function
        - `type` string, required
        - `function` string, required — Entry function id is string representation of a entry function defined on-chain. Format: `{address}::{module name}::{function name}` Both `module name` and `function name` are case-sensitive.
        - `type_arguments` MoveType[], required — Type arguments of the function
        - `arguments` unknown[], required — Arguments of the function
          - unknown
      - object — Payload which runs a script that can run multiple functions
        - `type` string, required
        - `code` MoveScriptBytecode, required — Move script bytecode
          - `bytecode` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `abi` MoveFunction — Move function
            - `name` string, required
            - `visibility` 'private' | 'public' | 'friend', required — Move function visibility
            - `is_entry` boolean, required — Whether the function can be called as an entry function directly in a transaction
            - `is_view` boolean, required — Whether the function is a view function or not
            - `generic_type_params` MoveFunctionGenericTypeParam[], required — Generic type params associated with the Move function
              - …
            - `params` MoveType[], required — Parameters associated with the move function
            - `return` MoveType[], required — Return type of the function
        - `type_arguments` MoveType[], required — Type arguments of the function
        - `arguments` unknown[], required — Arguments of the function
          - unknown
      - object
        - `type` string, required
        - `modules` MoveModuleBytecode[], required
          - `bytecode` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `abi` MoveModule — A Move module
            - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
            - `name` string, required
            - `friends` MoveModuleId[], required — Friends of the module
            - `exposed_functions` MoveFunction[], required — Public functions of the module
              - …
            - `structs` MoveStruct[], required — Structs of the module
              - …
      - object — A multisig transaction that allows an owner of a multisig account to execute a pre-approved transaction as the multisig account.
        - `type` string, required
        - `multisig_address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
        - `transaction_payload` MultisigTransactionPayload — Payload which runs a single entry function
          - `function` string, required — Entry function id is string representation of a entry function defined on-chain. Format: `{address}::{module name}::{function name}` Both `module name` and `function name` are case-sensitive.
          - `type_arguments` MoveType[], required — Type arguments of the function
          - `arguments` unknown[], required — Arguments of the function
            - unknown
    - `signature` TransactionSignature — unresolved $ref
  - object — A transaction submitted by a user to change the state of the blockchain
    - `type` string, required
    - `version` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `hash` string, required
    - `state_change_hash` string, required
    - `event_root_hash` string, required
    - `state_checkpoint_hash` string
    - `gas_used` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `success` boolean, required — Whether the transaction was successful
    - `vm_status` string, required — The VM status of the transaction, can tell useful information in a failure
    - `accumulator_root_hash` string, required
    - `changes` WriteSetChange[], required — Final state of resources changed by the transaction
      - union — A final state change of a transaction on a resource or module
        - object — Delete a module
          - `type` string, required
          - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `state_key_hash` string, required — State key hash
          - `module` string, required — Move module id is a string representation of Move module. Format: `{address}::{module name}` `address` should be hex-encoded 32 byte account address that is prefixed with `0x`. Module name is case-sensitive.
        - object — Delete a resource
          - `type` string, required
          - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `state_key_hash` string, required — State key hash
          - `resource` string, required — String representation of a MoveStructTag (on-chain Move struct type). This exists so you can specify MoveStructTags as path / query parameters, e.g. for get_events_by_event_handle. It is a combination of: 1. `move_module_address`, `module_name` and `struct_name`, all joined by `::` 2. `struct generic type parameters` joined by `, ` Examples: * `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>` * `0x1::account::Account` Note: 1. Empty chars should be ignored when comparing 2 struct tag ids. 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding). See [doc](https://aptos.dev/concepts/accounts) for more details.
        - object — Delete a table item
          - `type` string, required
          - `state_key_hash` string, required
          - `handle` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `key` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `data` DeletedTableData — Deleted table data
            - `key` unknown, required
            - `key_type` string, required — Deleted key type
        - object — Write a new module or update an existing one
          - `type` string, required
          - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `state_key_hash` string, required — State key hash
          - `data` MoveModuleBytecode, required — Move module bytecode along with it's ABI
            - `bytecode` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
            - `abi` MoveModule — A Move module
              - …
        - object — Write a resource or update an existing one
          - `type` string, required
          - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `state_key_hash` string, required — State key hash
          - `data` MoveResource, required — A parsed Move resource
            - `type` string, required — String representation of a MoveStructTag (on-chain Move struct type). This exists so you can specify MoveStructTags as path / query parameters, e.g. for get_events_by_event_handle. It is a combination of: 1. `move_module_address`, `module_name` and `struct_name`, all joined by `::` 2. `struct generic type parameters` joined by `, ` Examples: * `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>` * `0x1::account::Account` Note: 1. Empty chars should be ignored when comparing 2 struct tag ids. 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding). See [doc](https://aptos.dev/concepts/accounts) for more details.
            - `data` MoveStructValue, required — This is a JSON representation of some data within an account resource. More specifically, it is a map of strings to arbitrary JSON values / objects, where the keys are top level fields within the given resource. To clarify, you might query for 0x1::account::Account and see the example data. Move `bool` type value is serialized into `boolean`. Move `u8`, `u16` and `u32` type value is serialized into `integer`. Move `u64`, `u128` and `u256` type value is serialized into `string`. Move `address` type value (32 byte Aptos account address) is serialized into a HexEncodedBytes string. For example: - `0x1` - `0x1668f6be25668c1a17cd8caf6b8d2f25` Move `vector` type value is serialized into `array`, except `vector<u8>` which is serialized into a HexEncodedBytes string with `0x` prefix. For example: - `vector<u64>{255, 255}` => `["255", "255"]` - `vector<u8>{255, 255}` => `0xffff` Move `struct` type value is serialized into `object` that looks like this (except some Move stdlib types, see the following section): ```json { field1_name: field1_value, field2_name: field2_value, ...... } ``` For example: `{ "created": "0xa550c18", "role_id": "0" }` **Special serialization for Move stdlib types**: - [0x1::string::String](https://github.com/aptos-labs/aptos-core/blob/main/language/move-stdlib/docs/ascii.md) is serialized into `string`. For example, struct value `0x1::string::String{bytes: b"Hello World!"}` is serialized as `"Hello World!"` in JSON.
        - object — Change set to write a table item
          - `type` string, required
          - `state_key_hash` string, required
          - `handle` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `key` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `value` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `data` DecodedTableData — Decoded table data
            - `key` unknown, required
            - `key_type` string, required — Type of key
            - `value` unknown, required
            - `value_type` string, required — Type of value
    - `sender` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
    - `sequence_number` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `max_gas_amount` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `gas_unit_price` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `expiration_timestamp_secs` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `payload` union, required — An enum of the possible transaction payloads
      - object — Payload which runs a single entry function
        - `type` string, required
        - `function` string, required — Entry function id is string representation of a entry function defined on-chain. Format: `{address}::{module name}::{function name}` Both `module name` and `function name` are case-sensitive.
        - `type_arguments` MoveType[], required — Type arguments of the function
        - `arguments` unknown[], required — Arguments of the function
          - unknown
      - object — Payload which runs a script that can run multiple functions
        - `type` string, required
        - `code` MoveScriptBytecode, required — Move script bytecode
          - `bytecode` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `abi` MoveFunction — Move function
            - `name` string, required
            - `visibility` 'private' | 'public' | 'friend', required — Move function visibility
            - `is_entry` boolean, required — Whether the function can be called as an entry function directly in a transaction
            - `is_view` boolean, required — Whether the function is a view function or not
            - `generic_type_params` MoveFunctionGenericTypeParam[], required — Generic type params associated with the Move function
              - …
            - `params` MoveType[], required — Parameters associated with the move function
            - `return` MoveType[], required — Return type of the function
        - `type_arguments` MoveType[], required — Type arguments of the function
        - `arguments` unknown[], required — Arguments of the function
          - unknown
      - object
        - `type` string, required
        - `modules` MoveModuleBytecode[], required
          - `bytecode` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `abi` MoveModule — A Move module
            - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
            - `name` string, required
            - `friends` MoveModuleId[], required — Friends of the module
            - `exposed_functions` MoveFunction[], required — Public functions of the module
              - …
            - `structs` MoveStruct[], required — Structs of the module
              - …
      - object — A multisig transaction that allows an owner of a multisig account to execute a pre-approved transaction as the multisig account.
        - `type` string, required
        - `multisig_address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
        - `transaction_payload` MultisigTransactionPayload — Payload which runs a single entry function
          - `function` string, required — Entry function id is string representation of a entry function defined on-chain. Format: `{address}::{module name}::{function name}` Both `module name` and `function name` are case-sensitive.
          - `type_arguments` MoveType[], required — Type arguments of the function
          - `arguments` unknown[], required — Arguments of the function
            - unknown
    - `signature` TransactionSignature — unresolved $ref
    - `events` Event[], required — Events generated by the transaction
      - `guid` EventGuid, required
        - `creation_number` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
        - `account_address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
      - `sequence_number` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
      - `type` string, required — String representation of an on-chain Move type tag that is exposed in transaction payload. Values: - bool - u8 - u16 - u32 - u64 - u128 - u256 - address - signer - vector: `vector<{non-reference MoveTypeId}>` - struct: `{address}::{module_name}::{struct_name}::<{generic types}>` Vector type value examples: - `vector<u8>` - `vector<vector<u64>>` - `vector<0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>>` Struct type value examples: - `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin> - `0x1::account::Account` Note: 1. Empty chars should be ignored when comparing 2 struct tag ids. 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding).
      - `data` unknown, required
    - `timestamp` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
  - object — The genesis transaction This only occurs at the genesis transaction (version 0)
    - `type` string, required
    - `version` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `hash` string, required
    - `state_change_hash` string, required
    - `event_root_hash` string, required
    - `state_checkpoint_hash` string
    - `gas_used` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `success` boolean, required — Whether the transaction was successful
    - `vm_status` string, required — The VM status of the transaction, can tell useful information in a failure
    - `accumulator_root_hash` string, required
    - `changes` WriteSetChange[], required — Final state of resources changed by the transaction
      - union — A final state change of a transaction on a resource or module
        - object — Delete a module
          - `type` string, required
          - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `state_key_hash` string, required — State key hash
          - `module` string, required — Move module id is a string representation of Move module. Format: `{address}::{module name}` `address` should be hex-encoded 32 byte account address that is prefixed with `0x`. Module name is case-sensitive.
        - object — Delete a resource
          - `type` string, required
          - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `state_key_hash` string, required — State key hash
          - `resource` string, required — String representation of a MoveStructTag (on-chain Move struct type). This exists so you can specify MoveStructTags as path / query parameters, e.g. for get_events_by_event_handle. It is a combination of: 1. `move_module_address`, `module_name` and `struct_name`, all joined by `::` 2. `struct generic type parameters` joined by `, ` Examples: * `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>` * `0x1::account::Account` Note: 1. Empty chars should be ignored when comparing 2 struct tag ids. 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding). See [doc](https://aptos.dev/concepts/accounts) for more details.
        - object — Delete a table item
          - `type` string, required
          - `state_key_hash` string, required
          - `handle` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `key` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `data` DeletedTableData — Deleted table data
            - `key` unknown, required
            - `key_type` string, required — Deleted key type
        - object — Write a new module or update an existing one
          - `type` string, required
          - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `state_key_hash` string, required — State key hash
          - `data` MoveModuleBytecode, required — Move module bytecode along with it's ABI
            - `bytecode` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
            - `abi` MoveModule — A Move module
              - …
        - object — Write a resource or update an existing one
          - `type` string, required
          - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `state_key_hash` string, required — State key hash
          - `data` MoveResource, required — A parsed Move resource
            - `type` string, required — String representation of a MoveStructTag (on-chain Move struct type). This exists so you can specify MoveStructTags as path / query parameters, e.g. for get_events_by_event_handle. It is a combination of: 1. `move_module_address`, `module_name` and `struct_name`, all joined by `::` 2. `struct generic type parameters` joined by `, ` Examples: * `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>` * `0x1::account::Account` Note: 1. Empty chars should be ignored when comparing 2 struct tag ids. 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding). See [doc](https://aptos.dev/concepts/accounts) for more details.
            - `data` MoveStructValue, required — This is a JSON representation of some data within an account resource. More specifically, it is a map of strings to arbitrary JSON values / objects, where the keys are top level fields within the given resource. To clarify, you might query for 0x1::account::Account and see the example data. Move `bool` type value is serialized into `boolean`. Move `u8`, `u16` and `u32` type value is serialized into `integer`. Move `u64`, `u128` and `u256` type value is serialized into `string`. Move `address` type value (32 byte Aptos account address) is serialized into a HexEncodedBytes string. For example: - `0x1` - `0x1668f6be25668c1a17cd8caf6b8d2f25` Move `vector` type value is serialized into `array`, except `vector<u8>` which is serialized into a HexEncodedBytes string with `0x` prefix. For example: - `vector<u64>{255, 255}` => `["255", "255"]` - `vector<u8>{255, 255}` => `0xffff` Move `struct` type value is serialized into `object` that looks like this (except some Move stdlib types, see the following section): ```json { field1_name: field1_value, field2_name: field2_value, ...... } ``` For example: `{ "created": "0xa550c18", "role_id": "0" }` **Special serialization for Move stdlib types**: - [0x1::string::String](https://github.com/aptos-labs/aptos-core/blob/main/language/move-stdlib/docs/ascii.md) is serialized into `string`. For example, struct value `0x1::string::String{bytes: b"Hello World!"}` is serialized as `"Hello World!"` in JSON.
        - object — Change set to write a table item
          - `type` string, required
          - `state_key_hash` string, required
          - `handle` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `key` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `value` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `data` DecodedTableData — Decoded table data
            - `key` unknown, required
            - `key_type` string, required — Type of key
            - `value` unknown, required
            - `value_type` string, required — Type of value
    - `payload` GenesisPayload, required — A writeset payload, used only for genesis
      - `type` string, required
      - `write_set` union, required — The associated writeset with a payload
        - object
          - `type` string, required
          - `execute_as` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `script` ScriptPayload, required — Payload which runs a script that can run multiple functions
            - `code` MoveScriptBytecode, required — Move script bytecode
              - …
            - `type_arguments` MoveType[], required — Type arguments of the function
            - `arguments` unknown[], required — Arguments of the function
              - …
        - object
          - `type` string, required
          - `changes` WriteSetChange[], required
            - union — A final state change of a transaction on a resource or module
              - …
          - `events` Event[], required
            - `guid` EventGuid, required
              - …
            - `sequence_number` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
            - `type` string, required — String representation of an on-chain Move type tag that is exposed in transaction payload. Values: - bool - u8 - u16 - u32 - u64 - u128 - u256 - address - signer - vector: `vector<{non-reference MoveTypeId}>` - struct: `{address}::{module_name}::{struct_name}::<{generic types}>` Vector type value examples: - `vector<u8>` - `vector<vector<u64>>` - `vector<0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>>` Struct type value examples: - `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin> - `0x1::account::Account` Note: 1. Empty chars should be ignored when comparing 2 struct tag ids. 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding).
            - `data` unknown, required
    - `events` Event[], required — Events emitted during genesis
      - `guid` EventGuid, required
        - `creation_number` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
        - `account_address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
      - `sequence_number` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
      - `type` string, required — String representation of an on-chain Move type tag that is exposed in transaction payload. Values: - bool - u8 - u16 - u32 - u64 - u128 - u256 - address - signer - vector: `vector<{non-reference MoveTypeId}>` - struct: `{address}::{module_name}::{struct_name}::<{generic types}>` Vector type value examples: - `vector<u8>` - `vector<vector<u64>>` - `vector<0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>>` Struct type value examples: - `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin> - `0x1::account::Account` Note: 1. Empty chars should be ignored when comparing 2 struct tag ids. 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding).
      - `data` unknown, required
  - object — A block metadata transaction This signifies the beginning of a block, and contains information about the specific block
    - `type` string, required
    - `version` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `hash` string, required
    - `state_change_hash` string, required
    - `event_root_hash` string, required
    - `state_checkpoint_hash` string
    - `gas_used` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `success` boolean, required — Whether the transaction was successful
    - `vm_status` string, required — The VM status of the transaction, can tell useful information in a failure
    - `accumulator_root_hash` string, required
    - `changes` WriteSetChange[], required — Final state of resources changed by the transaction
      - union — A final state change of a transaction on a resource or module
        - object — Delete a module
          - `type` string, required
          - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `state_key_hash` string, required — State key hash
          - `module` string, required — Move module id is a string representation of Move module. Format: `{address}::{module name}` `address` should be hex-encoded 32 byte account address that is prefixed with `0x`. Module name is case-sensitive.
        - object — Delete a resource
          - `type` string, required
          - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `state_key_hash` string, required — State key hash
          - `resource` string, required — String representation of a MoveStructTag (on-chain Move struct type). This exists so you can specify MoveStructTags as path / query parameters, e.g. for get_events_by_event_handle. It is a combination of: 1. `move_module_address`, `module_name` and `struct_name`, all joined by `::` 2. `struct generic type parameters` joined by `, ` Examples: * `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>` * `0x1::account::Account` Note: 1. Empty chars should be ignored when comparing 2 struct tag ids. 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding). See [doc](https://aptos.dev/concepts/accounts) for more details.
        - object — Delete a table item
          - `type` string, required
          - `state_key_hash` string, required
          - `handle` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `key` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `data` DeletedTableData — Deleted table data
            - `key` unknown, required
            - `key_type` string, required — Deleted key type
        - object — Write a new module or update an existing one
          - `type` string, required
          - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `state_key_hash` string, required — State key hash
          - `data` MoveModuleBytecode, required — Move module bytecode along with it's ABI
            - `bytecode` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
            - `abi` MoveModule — A Move module
              - …
        - object — Write a resource or update an existing one
          - `type` string, required
          - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `state_key_hash` string, required — State key hash
          - `data` MoveResource, required — A parsed Move resource
            - `type` string, required — String representation of a MoveStructTag (on-chain Move struct type). This exists so you can specify MoveStructTags as path / query parameters, e.g. for get_events_by_event_handle. It is a combination of: 1. `move_module_address`, `module_name` and `struct_name`, all joined by `::` 2. `struct generic type parameters` joined by `, ` Examples: * `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>` * `0x1::account::Account` Note: 1. Empty chars should be ignored when comparing 2 struct tag ids. 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding). See [doc](https://aptos.dev/concepts/accounts) for more details.
            - `data` MoveStructValue, required — This is a JSON representation of some data within an account resource. More specifically, it is a map of strings to arbitrary JSON values / objects, where the keys are top level fields within the given resource. To clarify, you might query for 0x1::account::Account and see the example data. Move `bool` type value is serialized into `boolean`. Move `u8`, `u16` and `u32` type value is serialized into `integer`. Move `u64`, `u128` and `u256` type value is serialized into `string`. Move `address` type value (32 byte Aptos account address) is serialized into a HexEncodedBytes string. For example: - `0x1` - `0x1668f6be25668c1a17cd8caf6b8d2f25` Move `vector` type value is serialized into `array`, except `vector<u8>` which is serialized into a HexEncodedBytes string with `0x` prefix. For example: - `vector<u64>{255, 255}` => `["255", "255"]` - `vector<u8>{255, 255}` => `0xffff` Move `struct` type value is serialized into `object` that looks like this (except some Move stdlib types, see the following section): ```json { field1_name: field1_value, field2_name: field2_value, ...... } ``` For example: `{ "created": "0xa550c18", "role_id": "0" }` **Special serialization for Move stdlib types**: - [0x1::string::String](https://github.com/aptos-labs/aptos-core/blob/main/language/move-stdlib/docs/ascii.md) is serialized into `string`. For example, struct value `0x1::string::String{bytes: b"Hello World!"}` is serialized as `"Hello World!"` in JSON.
        - object — Change set to write a table item
          - `type` string, required
          - `state_key_hash` string, required
          - `handle` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `key` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `value` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `data` DecodedTableData — Decoded table data
            - `key` unknown, required
            - `key_type` string, required — Type of key
            - `value` unknown, required
            - `value_type` string, required — Type of value
    - `id` string, required
    - `epoch` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `round` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `events` Event[], required — The events emitted at the block creation
      - `guid` EventGuid, required
        - `creation_number` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
        - `account_address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
      - `sequence_number` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
      - `type` string, required — String representation of an on-chain Move type tag that is exposed in transaction payload. Values: - bool - u8 - u16 - u32 - u64 - u128 - u256 - address - signer - vector: `vector<{non-reference MoveTypeId}>` - struct: `{address}::{module_name}::{struct_name}::<{generic types}>` Vector type value examples: - `vector<u8>` - `vector<vector<u64>>` - `vector<0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>>` Struct type value examples: - `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin> - `0x1::account::Account` Note: 1. Empty chars should be ignored when comparing 2 struct tag ids. 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding).
      - `data` unknown, required
    - `previous_block_votes_bitvec` integer[], required — Previous block votes
    - `proposer` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
    - `failed_proposer_indices` integer[], required — The indices of the proposers who failed to propose
    - `timestamp` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
  - object — A state checkpoint transaction
    - `type` string, required
    - `version` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `hash` string, required
    - `state_change_hash` string, required
    - `event_root_hash` string, required
    - `state_checkpoint_hash` string
    - `gas_used` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.
    - `success` boolean, required — Whether the transaction was successful
    - `vm_status` string, required — The VM status of the transaction, can tell useful information in a failure
    - `accumulator_root_hash` string, required
    - `changes` WriteSetChange[], required — Final state of resources changed by the transaction
      - union — A final state change of a transaction on a resource or module
        - object — Delete a module
          - `type` string, required
          - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `state_key_hash` string, required — State key hash
          - `module` string, required — Move module id is a string representation of Move module. Format: `{address}::{module name}` `address` should be hex-encoded 32 byte account address that is prefixed with `0x`. Module name is case-sensitive.
        - object — Delete a resource
          - `type` string, required
          - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `state_key_hash` string, required — State key hash
          - `resource` string, required — String representation of a MoveStructTag (on-chain Move struct type). This exists so you can specify MoveStructTags as path / query parameters, e.g. for get_events_by_event_handle. It is a combination of: 1. `move_module_address`, `module_name` and `struct_name`, all joined by `::` 2. `struct generic type parameters` joined by `, ` Examples: * `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>` * `0x1::account::Account` Note: 1. Empty chars should be ignored when comparing 2 struct tag ids. 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding). See [doc](https://aptos.dev/concepts/accounts) for more details.
        - object — Delete a table item
          - `type` string, required
          - `state_key_hash` string, required
          - `handle` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `key` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `data` DeletedTableData — Deleted table data
            - `key` unknown, required
            - `key_type` string, required — Deleted key type
        - object — Write a new module or update an existing one
          - `type` string, required
          - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `state_key_hash` string, required — State key hash
          - `data` MoveModuleBytecode, required — Move module bytecode along with it's ABI
            - `bytecode` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
            - `abi` MoveModule — A Move module
              - …
        - object — Write a resource or update an existing one
          - `type` string, required
          - `address` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
          - `state_key_hash` string, required — State key hash
          - `data` MoveResource, required — A parsed Move resource
            - `type` string, required — String representation of a MoveStructTag (on-chain Move struct type). This exists so you can specify MoveStructTags as path / query parameters, e.g. for get_events_by_event_handle. It is a combination of: 1. `move_module_address`, `module_name` and `struct_name`, all joined by `::` 2. `struct generic type parameters` joined by `, ` Examples: * `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>` * `0x1::account::Account` Note: 1. Empty chars should be ignored when comparing 2 struct tag ids. 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding). See [doc](https://aptos.dev/concepts/accounts) for more details.
            - `data` MoveStructValue, required — This is a JSON representation of some data within an account resource. More specifically, it is a map of strings to arbitrary JSON values / objects, where the keys are top level fields within the given resource. To clarify, you might query for 0x1::account::Account and see the example data. Move `bool` type value is serialized into `boolean`. Move `u8`, `u16` and `u32` type value is serialized into `integer`. Move `u64`, `u128` and `u256` type value is serialized into `string`. Move `address` type value (32 byte Aptos account address) is serialized into a HexEncodedBytes string. For example: - `0x1` - `0x1668f6be25668c1a17cd8caf6b8d2f25` Move `vector` type value is serialized into `array`, except `vector<u8>` which is serialized into a HexEncodedBytes string with `0x` prefix. For example: - `vector<u64>{255, 255}` => `["255", "255"]` - `vector<u8>{255, 255}` => `0xffff` Move `struct` type value is serialized into `object` that looks like this (except some Move stdlib types, see the following section): ```json { field1_name: field1_value, field2_name: field2_value, ...... } ``` For example: `{ "created": "0xa550c18", "role_id": "0" }` **Special serialization for Move stdlib types**: - [0x1::string::String](https://github.com/aptos-labs/aptos-core/blob/main/language/move-stdlib/docs/ascii.md) is serialized into `string`. For example, struct value `0x1::string::String{bytes: b"Hello World!"}` is serialized as `"Hello World!"` in JSON.
        - object — Change set to write a table item
          - `type` string, required
          - `state_key_hash` string, required
          - `handle` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `key` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `value` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
          - `data` DecodedTableData — Decoded table data
            - `key` unknown, required
            - `key_type` string, required — Type of key
            - `value` unknown, required
            - `value_type` string, required — Type of value
    - `timestamp` string, uint64, required — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.

## Other responses

- `400`
- `403`
- `404`
- `410`
- `500`
- `503`

## Changes

- **2023-11-09** `e31d48fc6df2` — 48 breaking, 48 info
  - added `#/components/schemas/PublicKey_string(HexEncodedBytes)` to the `oneOf[#/components/schemas/Transaction_PendingTransaction]/allOf[#/components/schemas/PendingTransaction]/signature/oneOf[#/components/schemas/TransactionSignature_AccountSignature]/allOf[#/components/schemas/AccountSignature]/oneOf[#/components/schemas/AccountSignature_MultiKeySignature]/allOf[#/components/schemas/MultiKeySignature]/public_keys/items/` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/PublicKey_string(HexEncodedBytes)` to the `oneOf[#/components/schemas/Transaction_PendingTransaction]/allOf[#/components/schemas/PendingTransaction]/signature/oneOf[#/components/schemas/TransactionSignature_AccountSignature]/allOf[#/components/schemas/AccountSignature]/oneOf[#/components/schemas/AccountSignature_SingleKeySignature]/allOf[#/components/schemas/SingleKeySignature]/public_key` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/PublicKey_string(HexEncodedBytes)` to the `oneOf[#/components/schemas/Transaction_PendingTransaction]/allOf[#/components/schemas/PendingTransaction]/signature/oneOf[#/components/schemas/TransactionSignature_FeePayerSignature]/allOf[#/components/schemas/FeePayerSignature]/fee_payer_signer/allOf[#/components/schemas/AccountSignature]/oneOf[#/components/schemas/AccountSignature_MultiKeySignature]/allOf[#/components/schemas/MultiKeySignature]/public_keys/items/` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/PublicKey_string(HexEncodedBytes)` to the `oneOf[#/components/schemas/Transaction_PendingTransaction]/allOf[#/components/schemas/PendingTransaction]/signature/oneOf[#/components/schemas/TransactionSignature_FeePayerSignature]/allOf[#/components/schemas/FeePayerSignature]/fee_payer_signer/allOf[#/components/schemas/AccountSignature]/oneOf[#/components/schemas/AccountSignature_SingleKeySignature]/allOf[#/components/schemas/SingleKeySignature]/public_key` response property `oneOf` list for the response status `200`
  - …92 more
- …earlier changes not shown

[Full history](https://skmtc.dev/pontem-network/apis/lumio-node-api/changes/transactions/by_version/:txn_version/get.md)

---

[API](https://skmtc.dev/pontem-network/apis/lumio-node-api.md) · [All operations](https://skmtc.dev/pontem-network/apis/lumio-node-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pontem-network/apis/lumio-node-api/revisions/52c2b4ffab52?raw)
