> ## Documentation Index
> Fetch the complete documentation index at: https://docs.validationcloud.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Transaction by Version

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

Retrieves a transaction by a given version.

This method will use `15` [Compute Units](/nodeapi/about/billing).

***


## OpenAPI

````yaml nodeapi/openapi/document-aptos-with-v1-fix.json GET /transactions/by_version/{txn_version}
openapi: 3.0.0
info:
  title: Aptos Node API
  description: >-
    The Aptos Node API is a RESTful API for client applications to interact with
    the Aptos blockchain.
  version: 1.2.0
  contact:
    name: Aptos Labs
    url: https://github.com/aptos-labs/aptos-core
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://mainnet.aptos.validationcloud.io/v1/<YOUR_API_KEY_HERE>/v1
security: []
tags:
  - name: Accounts
    description: Access to accounts, resources, and modules
  - name: Blocks
    description: Access to blocks
  - name: Events
    description: Access to events
  - name: General
    description: General information
  - name: Tables
    description: Access to tables
  - name: Transactions
    description: Access to transactions
  - name: View
    description: View functions,
externalDocs:
  url: https://github.com/aptos-labs/aptos-core
paths:
  /transactions/by_version/{txn_version}:
    get:
      tags:
        - Transactions
      summary: Get transaction by version
      description: |-
        Retrieves a transaction by a given version. If the version has been
        pruned, a 410 will be returned.
      operationId: get_transaction_by_version
      parameters:
        - name: txn_version
          schema:
            $ref: '#/components/schemas/U64'
          in: path
          description: Version of transaction to retrieve
          required: true
          deprecated: false
          explode: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
            application/x-bcs:
              schema:
                type: array
                items:
                  type: integer
                  format: uint8
          headers:
            X-APTOS-CHAIN-ID:
              description: Chain ID of the current chain
              required: true
              deprecated: false
              schema:
                type: integer
                format: uint8
            X-APTOS-LEDGER-VERSION:
              description: Current ledger version of the chain
              required: true
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-OLDEST-VERSION:
              description: Oldest non-pruned ledger version of the chain
              required: true
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-TIMESTAMPUSEC:
              description: Current timestamp of the chain
              required: true
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-EPOCH:
              description: Current epoch of the chain
              required: true
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-BLOCK-HEIGHT:
              description: Current block height of the chain
              required: true
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-OLDEST-BLOCK-HEIGHT:
              description: Oldest non-pruned block height of the chain
              required: true
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-CURSOR:
              description: |-
                Cursor to be used for endpoints that support cursor-based
                pagination. Pass this to the `start` field of the endpoint
                on the next call to get the next page of results.
              deprecated: false
              schema:
                type: string
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AptosError'
          headers:
            X-APTOS-CHAIN-ID:
              description: Chain ID of the current chain
              deprecated: false
              schema:
                type: integer
                format: uint8
            X-APTOS-LEDGER-VERSION:
              description: Current ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-OLDEST-VERSION:
              description: Oldest non-pruned ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-TIMESTAMPUSEC:
              description: Current timestamp of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-EPOCH:
              description: Current epoch of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-BLOCK-HEIGHT:
              description: Current block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-OLDEST-BLOCK-HEIGHT:
              description: Oldest non-pruned block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AptosError'
          headers:
            X-APTOS-CHAIN-ID:
              description: Chain ID of the current chain
              deprecated: false
              schema:
                type: integer
                format: uint8
            X-APTOS-LEDGER-VERSION:
              description: Current ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-OLDEST-VERSION:
              description: Oldest non-pruned ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-TIMESTAMPUSEC:
              description: Current timestamp of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-EPOCH:
              description: Current epoch of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-BLOCK-HEIGHT:
              description: Current block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-OLDEST-BLOCK-HEIGHT:
              description: Oldest non-pruned block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AptosError'
          headers:
            X-APTOS-CHAIN-ID:
              description: Chain ID of the current chain
              deprecated: false
              schema:
                type: integer
                format: uint8
            X-APTOS-LEDGER-VERSION:
              description: Current ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-OLDEST-VERSION:
              description: Oldest non-pruned ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-TIMESTAMPUSEC:
              description: Current timestamp of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-EPOCH:
              description: Current epoch of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-BLOCK-HEIGHT:
              description: Current block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-OLDEST-BLOCK-HEIGHT:
              description: Oldest non-pruned block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
        '410':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AptosError'
          headers:
            X-APTOS-CHAIN-ID:
              description: Chain ID of the current chain
              deprecated: false
              schema:
                type: integer
                format: uint8
            X-APTOS-LEDGER-VERSION:
              description: Current ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-OLDEST-VERSION:
              description: Oldest non-pruned ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-TIMESTAMPUSEC:
              description: Current timestamp of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-EPOCH:
              description: Current epoch of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-BLOCK-HEIGHT:
              description: Current block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-OLDEST-BLOCK-HEIGHT:
              description: Oldest non-pruned block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AptosError'
          headers:
            X-APTOS-CHAIN-ID:
              description: Chain ID of the current chain
              deprecated: false
              schema:
                type: integer
                format: uint8
            X-APTOS-LEDGER-VERSION:
              description: Current ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-OLDEST-VERSION:
              description: Oldest non-pruned ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-TIMESTAMPUSEC:
              description: Current timestamp of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-EPOCH:
              description: Current epoch of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-BLOCK-HEIGHT:
              description: Current block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-OLDEST-BLOCK-HEIGHT:
              description: Oldest non-pruned block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AptosError'
          headers:
            X-APTOS-CHAIN-ID:
              description: Chain ID of the current chain
              deprecated: false
              schema:
                type: integer
                format: uint8
            X-APTOS-LEDGER-VERSION:
              description: Current ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-OLDEST-VERSION:
              description: Oldest non-pruned ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-TIMESTAMPUSEC:
              description: Current timestamp of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-EPOCH:
              description: Current epoch of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-BLOCK-HEIGHT:
              description: Current block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-OLDEST-BLOCK-HEIGHT:
              description: Oldest non-pruned block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
components:
  schemas:
    U64:
      type: string
      format: uint64
      description: >
        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.
      example: '32425224034'
    Transaction:
      type: object
      description: Enum of the different types of transactions in Aptos
      oneOf:
        - $ref: '#/components/schemas/Transaction_PendingTransaction'
        - $ref: '#/components/schemas/Transaction_UserTransaction'
        - $ref: '#/components/schemas/Transaction_GenesisTransaction'
        - $ref: '#/components/schemas/Transaction_BlockMetadataTransaction'
        - $ref: '#/components/schemas/Transaction_StateCheckpointTransaction'
      discriminator:
        propertyName: type
        mapping:
          pending_transaction: '#/components/schemas/Transaction_PendingTransaction'
          user_transaction: '#/components/schemas/Transaction_UserTransaction'
          genesis_transaction: '#/components/schemas/Transaction_GenesisTransaction'
          block_metadata_transaction: '#/components/schemas/Transaction_BlockMetadataTransaction'
          state_checkpoint_transaction: '#/components/schemas/Transaction_StateCheckpointTransaction'
    AptosError:
      type: object
      description: >-
        This is the generic struct we use for all API errors, it contains a
        string

        message and an Aptos API specific error code.
      required:
        - message
        - error_code
      properties:
        message:
          type: string
          description: A message describing the error
        error_code:
          $ref: '#/components/schemas/AptosErrorCode'
        vm_error_code:
          type: integer
          format: uint64
          description: >-
            A code providing VM error details when submitting transactions to
            the VM
    Transaction_PendingTransaction:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: pending_transaction
        - $ref: '#/components/schemas/PendingTransaction'
    Transaction_UserTransaction:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: user_transaction
        - $ref: '#/components/schemas/UserTransaction'
    Transaction_GenesisTransaction:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: genesis_transaction
        - $ref: '#/components/schemas/GenesisTransaction'
    Transaction_BlockMetadataTransaction:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: block_metadata_transaction
        - $ref: '#/components/schemas/BlockMetadataTransaction'
    Transaction_StateCheckpointTransaction:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: state_checkpoint_transaction
        - $ref: '#/components/schemas/StateCheckpointTransaction'
    AptosErrorCode:
      type: string
      description: |-
        These codes provide more granular error information beyond just the HTTP
        status code of the response.
      enum:
        - account_not_found
        - resource_not_found
        - module_not_found
        - struct_field_not_found
        - version_not_found
        - transaction_not_found
        - table_item_not_found
        - block_not_found
        - version_pruned
        - block_pruned
        - invalid_input
        - invalid_transaction_update
        - sequence_number_too_old
        - vm_error
        - health_check_failed
        - mempool_is_full
        - internal_error
        - web_framework_error
        - bcs_not_supported
        - api_disabled
    PendingTransaction:
      type: object
      description: A transaction waiting in mempool
      required:
        - hash
        - sender
        - sequence_number
        - max_gas_amount
        - gas_unit_price
        - expiration_timestamp_secs
        - payload
      properties:
        hash:
          $ref: '#/components/schemas/HashValue'
        sender:
          $ref: '#/components/schemas/Address'
        sequence_number:
          $ref: '#/components/schemas/U64'
        max_gas_amount:
          $ref: '#/components/schemas/U64'
        gas_unit_price:
          $ref: '#/components/schemas/U64'
        expiration_timestamp_secs:
          $ref: '#/components/schemas/U64'
        payload:
          $ref: '#/components/schemas/TransactionPayload'
        signature:
          $ref: '#/components/schemas/TransactionSignature'
    UserTransaction:
      type: object
      description: A transaction submitted by a user to change the state of the blockchain
      required:
        - version
        - hash
        - state_change_hash
        - event_root_hash
        - gas_used
        - success
        - vm_status
        - accumulator_root_hash
        - changes
        - sender
        - sequence_number
        - max_gas_amount
        - gas_unit_price
        - expiration_timestamp_secs
        - payload
        - events
        - timestamp
      properties:
        version:
          $ref: '#/components/schemas/U64'
        hash:
          $ref: '#/components/schemas/HashValue'
        state_change_hash:
          $ref: '#/components/schemas/HashValue'
        event_root_hash:
          $ref: '#/components/schemas/HashValue'
        state_checkpoint_hash:
          $ref: '#/components/schemas/HashValue'
        gas_used:
          $ref: '#/components/schemas/U64'
        success:
          type: boolean
          description: Whether the transaction was successful
        vm_status:
          type: string
          description: >-
            The VM status of the transaction, can tell useful information in a
            failure
        accumulator_root_hash:
          $ref: '#/components/schemas/HashValue'
        changes:
          type: array
          description: Final state of resources changed by the transaction
          items:
            $ref: '#/components/schemas/WriteSetChange'
        sender:
          $ref: '#/components/schemas/Address'
        sequence_number:
          $ref: '#/components/schemas/U64'
        max_gas_amount:
          $ref: '#/components/schemas/U64'
        gas_unit_price:
          $ref: '#/components/schemas/U64'
        expiration_timestamp_secs:
          $ref: '#/components/schemas/U64'
        payload:
          $ref: '#/components/schemas/TransactionPayload'
        signature:
          $ref: '#/components/schemas/TransactionSignature'
        events:
          type: array
          description: Events generated by the transaction
          items:
            $ref: '#/components/schemas/Event'
        timestamp:
          $ref: '#/components/schemas/U64'
    GenesisTransaction:
      type: object
      description: |-
        The genesis transaction

        This only occurs at the genesis transaction (version 0)
      required:
        - version
        - hash
        - state_change_hash
        - event_root_hash
        - gas_used
        - success
        - vm_status
        - accumulator_root_hash
        - changes
        - payload
        - events
      properties:
        version:
          $ref: '#/components/schemas/U64'
        hash:
          $ref: '#/components/schemas/HashValue'
        state_change_hash:
          $ref: '#/components/schemas/HashValue'
        event_root_hash:
          $ref: '#/components/schemas/HashValue'
        state_checkpoint_hash:
          $ref: '#/components/schemas/HashValue'
        gas_used:
          $ref: '#/components/schemas/U64'
        success:
          type: boolean
          description: Whether the transaction was successful
        vm_status:
          type: string
          description: >-
            The VM status of the transaction, can tell useful information in a
            failure
        accumulator_root_hash:
          $ref: '#/components/schemas/HashValue'
        changes:
          type: array
          description: Final state of resources changed by the transaction
          items:
            $ref: '#/components/schemas/WriteSetChange'
        payload:
          $ref: '#/components/schemas/GenesisPayload'
        events:
          type: array
          description: Events emitted during genesis
          items:
            $ref: '#/components/schemas/Event'
    BlockMetadataTransaction:
      type: object
      description: |-
        A block metadata transaction

        This signifies the beginning of a block, and contains information
        about the specific block
      required:
        - version
        - hash
        - state_change_hash
        - event_root_hash
        - gas_used
        - success
        - vm_status
        - accumulator_root_hash
        - changes
        - id
        - epoch
        - round
        - events
        - previous_block_votes_bitvec
        - proposer
        - failed_proposer_indices
        - timestamp
      properties:
        version:
          $ref: '#/components/schemas/U64'
        hash:
          $ref: '#/components/schemas/HashValue'
        state_change_hash:
          $ref: '#/components/schemas/HashValue'
        event_root_hash:
          $ref: '#/components/schemas/HashValue'
        state_checkpoint_hash:
          $ref: '#/components/schemas/HashValue'
        gas_used:
          $ref: '#/components/schemas/U64'
        success:
          type: boolean
          description: Whether the transaction was successful
        vm_status:
          type: string
          description: >-
            The VM status of the transaction, can tell useful information in a
            failure
        accumulator_root_hash:
          $ref: '#/components/schemas/HashValue'
        changes:
          type: array
          description: Final state of resources changed by the transaction
          items:
            $ref: '#/components/schemas/WriteSetChange'
        id:
          $ref: '#/components/schemas/HashValue'
        epoch:
          $ref: '#/components/schemas/U64'
        round:
          $ref: '#/components/schemas/U64'
        events:
          type: array
          description: The events emitted at the block creation
          items:
            $ref: '#/components/schemas/Event'
        previous_block_votes_bitvec:
          type: array
          description: Previous block votes
          items:
            type: integer
            format: uint8
        proposer:
          $ref: '#/components/schemas/Address'
        failed_proposer_indices:
          type: array
          description: The indices of the proposers who failed to propose
          items:
            type: integer
            format: uint32
        timestamp:
          $ref: '#/components/schemas/U64'
    StateCheckpointTransaction:
      type: object
      description: A state checkpoint transaction
      required:
        - version
        - hash
        - state_change_hash
        - event_root_hash
        - gas_used
        - success
        - vm_status
        - accumulator_root_hash
        - changes
        - timestamp
      properties:
        version:
          $ref: '#/components/schemas/U64'
        hash:
          $ref: '#/components/schemas/HashValue'
        state_change_hash:
          $ref: '#/components/schemas/HashValue'
        event_root_hash:
          $ref: '#/components/schemas/HashValue'
        state_checkpoint_hash:
          $ref: '#/components/schemas/HashValue'
        gas_used:
          $ref: '#/components/schemas/U64'
        success:
          type: boolean
          description: Whether the transaction was successful
        vm_status:
          type: string
          description: >-
            The VM status of the transaction, can tell useful information in a
            failure
        accumulator_root_hash:
          $ref: '#/components/schemas/HashValue'
        changes:
          type: array
          description: Final state of resources changed by the transaction
          items:
            $ref: '#/components/schemas/WriteSetChange'
        timestamp:
          $ref: '#/components/schemas/U64'
    HashValue:
      type: string
    Address:
      type: string
      format: hex
      description: >
        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.
      example: '0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 '
    TransactionPayload:
      type: object
      description: An enum of the possible transaction payloads
      oneOf:
        - $ref: '#/components/schemas/TransactionPayload_EntryFunctionPayload'
        - $ref: '#/components/schemas/TransactionPayload_ScriptPayload'
        - $ref: '#/components/schemas/TransactionPayload_ModuleBundlePayload'
        - $ref: '#/components/schemas/TransactionPayload_MultisigPayload'
      discriminator:
        propertyName: type
        mapping:
          entry_function_payload: '#/components/schemas/TransactionPayload_EntryFunctionPayload'
          script_payload: '#/components/schemas/TransactionPayload_ScriptPayload'
          module_bundle_payload: '#/components/schemas/TransactionPayload_ModuleBundlePayload'
          multisig_payload: '#/components/schemas/TransactionPayload_MultisigPayload'
    TransactionSignature:
      type: object
      description: An enum representing the different transaction signatures available
      oneOf:
        - $ref: '#/components/schemas/TransactionSignature_Ed25519Signature'
        - $ref: '#/components/schemas/TransactionSignature_MultiEd25519Signature'
        - $ref: '#/components/schemas/TransactionSignature_MultiAgentSignature'
      discriminator:
        propertyName: type
        mapping:
          ed25519_signature: '#/components/schemas/TransactionSignature_Ed25519Signature'
          multi_ed25519_signature: '#/components/schemas/TransactionSignature_MultiEd25519Signature'
          multi_agent_signature: '#/components/schemas/TransactionSignature_MultiAgentSignature'
    WriteSetChange:
      type: object
      description: A final state change of a transaction on a resource or module
      oneOf:
        - $ref: '#/components/schemas/WriteSetChange_DeleteModule'
        - $ref: '#/components/schemas/WriteSetChange_DeleteResource'
        - $ref: '#/components/schemas/WriteSetChange_DeleteTableItem'
        - $ref: '#/components/schemas/WriteSetChange_WriteModule'
        - $ref: '#/components/schemas/WriteSetChange_WriteResource'
        - $ref: '#/components/schemas/WriteSetChange_WriteTableItem'
      discriminator:
        propertyName: type
        mapping:
          delete_module: '#/components/schemas/WriteSetChange_DeleteModule'
          delete_resource: '#/components/schemas/WriteSetChange_DeleteResource'
          delete_table_item: '#/components/schemas/WriteSetChange_DeleteTableItem'
          write_module: '#/components/schemas/WriteSetChange_WriteModule'
          write_resource: '#/components/schemas/WriteSetChange_WriteResource'
          write_table_item: '#/components/schemas/WriteSetChange_WriteTableItem'
    Event:
      type: object
      description: An event from a transaction
      required:
        - guid
        - sequence_number
        - type
        - data
      properties:
        guid:
          $ref: '#/components/schemas/EventGuid'
        sequence_number:
          $ref: '#/components/schemas/U64'
        type:
          $ref: '#/components/schemas/MoveType'
        data:
          description: The JSON representation of the event
    GenesisPayload:
      type: object
      description: The writeset payload of the Genesis transaction
      oneOf:
        - $ref: '#/components/schemas/GenesisPayload_WriteSetPayload'
      discriminator:
        propertyName: type
        mapping:
          write_set_payload: '#/components/schemas/GenesisPayload_WriteSetPayload'
    TransactionPayload_EntryFunctionPayload:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: entry_function_payload
        - $ref: '#/components/schemas/EntryFunctionPayload'
    TransactionPayload_ScriptPayload:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: script_payload
        - $ref: '#/components/schemas/ScriptPayload'
    TransactionPayload_ModuleBundlePayload:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: module_bundle_payload
        - $ref: '#/components/schemas/ModuleBundlePayload'
    TransactionPayload_MultisigPayload:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: multisig_payload
        - $ref: '#/components/schemas/MultisigPayload'
    TransactionSignature_Ed25519Signature:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: ed25519_signature
        - $ref: '#/components/schemas/Ed25519Signature'
    TransactionSignature_MultiEd25519Signature:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: multi_ed25519_signature
        - $ref: '#/components/schemas/MultiEd25519Signature'
    TransactionSignature_MultiAgentSignature:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: multi_agent_signature
        - $ref: '#/components/schemas/MultiAgentSignature'
    WriteSetChange_DeleteModule:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: delete_module
        - $ref: '#/components/schemas/DeleteModule'
    WriteSetChange_DeleteResource:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: delete_resource
        - $ref: '#/components/schemas/DeleteResource'
    WriteSetChange_DeleteTableItem:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: delete_table_item
        - $ref: '#/components/schemas/DeleteTableItem'
    WriteSetChange_WriteModule:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: write_module
        - $ref: '#/components/schemas/WriteModule'
    WriteSetChange_WriteResource:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: write_resource
        - $ref: '#/components/schemas/WriteResource'
    WriteSetChange_WriteTableItem:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: write_table_item
        - $ref: '#/components/schemas/WriteTableItem'
    EventGuid:
      type: object
      required:
        - creation_number
        - account_address
      properties:
        creation_number:
          $ref: '#/components/schemas/U64'
        account_address:
          $ref: '#/components/schemas/Address'
    MoveType:
      type: string
      description: >
        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).
      pattern: ^(bool|u8|u64|u128|address|signer|vector<.+>|0x[0-9a-zA-Z:_<, >]+)$
    GenesisPayload_WriteSetPayload:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: write_set_payload
        - $ref: '#/components/schemas/WriteSetPayload'
    EntryFunctionPayload:
      type: object
      description: Payload which runs a single entry function
      required:
        - function
        - type_arguments
        - arguments
      properties:
        function:
          $ref: '#/components/schemas/EntryFunctionId'
        type_arguments:
          type: array
          description: Type arguments of the function
          items:
            $ref: '#/components/schemas/MoveType'
        arguments:
          type: array
          description: Arguments of the function
          items: {}
    ScriptPayload:
      type: object
      description: Payload which runs a script that can run multiple functions
      required:
        - code
        - type_arguments
        - arguments
      properties:
        code:
          $ref: '#/components/schemas/MoveScriptBytecode'
        type_arguments:
          type: array
          description: Type arguments of the function
          items:
            $ref: '#/components/schemas/MoveType'
        arguments:
          type: array
          description: Arguments of the function
          items: {}
    ModuleBundlePayload:
      type: object
      required:
        - modules
      properties:
        modules:
          type: array
          items:
            $ref: '#/components/schemas/MoveModuleBytecode'
    MultisigPayload:
      type: object
      description: >-
        A multisig transaction that allows an owner of a multisig account to
        execute a pre-approved

        transaction as the multisig account.
      required:
        - multisig_address
      properties:
        multisig_address:
          $ref: '#/components/schemas/Address'
        transaction_payload:
          $ref: '#/components/schemas/MultisigTransactionPayload'
    Ed25519Signature:
      type: object
      description: A single Ed25519 signature
      required:
        - public_key
        - signature
      properties:
        public_key:
          $ref: '#/components/schemas/HexEncodedBytes'
        signature:
          $ref: '#/components/schemas/HexEncodedBytes'
    MultiEd25519Signature:
      type: object
      description: |-
        A Ed25519 multi-sig signature

        This allows k-of-n signing for a transaction
      required:
        - public_keys
        - signatures
        - threshold
        - bitmap
      properties:
        public_keys:
          type: array
          description: The public keys for the Ed25519 signature
          items:
            $ref: '#/components/schemas/HexEncodedBytes'
        signatures:
          type: array
          description: Signature associated with the public keys in the same order
          items:
            $ref: '#/components/schemas/HexEncodedBytes'
        threshold:
          type: integer
          format: uint8
          description: The number of signatures required for a successful transaction
        bitmap:
          $ref: '#/components/schemas/HexEncodedBytes'
    MultiAgentSignature:
      type: object
      description: |-
        Multi agent signature for multi agent transactions

        This allows you to have transactions across multiple accounts
      required:
        - sender
        - secondary_signer_addresses
        - secondary_signers
      properties:
        sender:
          $ref: '#/components/schemas/AccountSignature'
        secondary_signer_addresses:
          type: array
          description: The other involved parties' addresses
          items:
            $ref: '#/components/schemas/Address'
        secondary_signers:
          type: array
          description: >-
            The associated signatures, in the same order as the secondary
            addresses
          items:
            $ref: '#/components/schemas/AccountSignature'
    DeleteModule:
      type: object
      description: Delete a module
      required:
        - address
        - state_key_hash
        - module
      properties:
        address:
          $ref: '#/components/schemas/Address'
        state_key_hash:
          type: string
          description: State key hash
        module:
          $ref: '#/components/schemas/MoveModuleId'
    DeleteResource:
      type: object
      description: Delete a resource
      required:
        - address
        - state_key_hash
        - resource
      properties:
        address:
          $ref: '#/components/schemas/Address'
        state_key_hash:
          type: string
          description: State key hash
        resource:
          $ref: '#/components/schemas/MoveStructTag'
    DeleteTableItem:
      type: object
      description: Delete a table item
      required:
        - state_key_hash
        - handle
        - key
      properties:
        state_key_hash:
          type: string
        handle:
          $ref: '#/components/schemas/HexEncodedBytes'
        key:
          $ref: '#/components/schemas/HexEncodedBytes'
        data:
          $ref: '#/components/schemas/DeletedTableData'
    WriteModule:
      type: object
      description: Write a new module or update an existing one
      required:
        - address
        - state_key_hash
        - data
      properties:
        address:
          $ref: '#/components/schemas/Address'
        state_key_hash:
          type: string
          description: State key hash
        data:
          $ref: '#/components/schemas/MoveModuleBytecode'
    WriteResource:
      type: object
      description: Write a resource or update an existing one
      required:
        - address
        - state_key_hash
        - data
      properties:
        address:
          $ref: '#/components/schemas/Address'
        state_key_hash:
          type: string
          description: State key hash
        data:
          $ref: '#/components/schemas/MoveResource'
    WriteTableItem:
      type: object
      description: Change set to write a table item
      required:
        - state_key_hash
        - handle
        - key
        - value
      properties:
        state_key_hash:
          type: string
        handle:
          $ref: '#/components/schemas/HexEncodedBytes'
        key:
          $ref: '#/components/schemas/HexEncodedBytes'
        value:
          $ref: '#/components/schemas/HexEncodedBytes'
        data:
          $ref: '#/components/schemas/DecodedTableData'
    WriteSetPayload:
      type: object
      description: A writeset payload, used only for genesis
      required:
        - write_set
      properties:
        write_set:
          $ref: '#/components/schemas/WriteSet'
    EntryFunctionId:
      type: string
      description: >
        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.
      example: 0x1::aptos_coin::transfer
    MoveScriptBytecode:
      type: object
      description: Move script bytecode
      required:
        - bytecode
      properties:
        bytecode:
          $ref: '#/components/schemas/HexEncodedBytes'
        abi:
          $ref: '#/components/schemas/MoveFunction'
    MoveModuleBytecode:
      type: object
      description: Move module bytecode along with it's ABI
      required:
        - bytecode
      properties:
        bytecode:
          $ref: '#/components/schemas/HexEncodedBytes'
        abi:
          $ref: '#/components/schemas/MoveModule'
    MultisigTransactionPayload:
      type: object
      anyOf:
        - $ref: '#/components/schemas/EntryFunctionPayload'
    HexEncodedBytes:
      type: string
      format: hex
      description: >
        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.
      example: '0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 '
    AccountSignature:
      type: object
      description: >-
        Account signature scheme


        The account signature scheme allows you to have two types of accounts:


        1. A single Ed25519 key account, one private key

        2. A k-of-n multi-Ed25519 key account, multiple private keys, such that
        k-of-n must sign a transaction.
      oneOf:
        - $ref: '#/components/schemas/AccountSignature_Ed25519Signature'
        - $ref: '#/components/schemas/AccountSignature_MultiEd25519Signature'
      discriminator:
        propertyName: type
        mapping:
          ed25519_signature: '#/components/schemas/AccountSignature_Ed25519Signature'
          multi_ed25519_signature: '#/components/schemas/AccountSignature_MultiEd25519Signature'
    MoveModuleId:
      type: string
      description: >
        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.
      example: 0x1::aptos_coin
    MoveStructTag:
      type: string
      description: >
        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.
      example: 0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>
      pattern: ^0x[0-9a-zA-Z:_<>]+$
    DeletedTableData:
      type: object
      description: Deleted table data
      required:
        - key
        - key_type
      properties:
        key:
          description: Deleted key
        key_type:
          type: string
          description: Deleted key type
    MoveResource:
      type: object
      description: A parsed Move resource
      required:
        - type
        - data
      properties:
        type:
          $ref: '#/components/schemas/MoveStructTag'
        data:
          $ref: '#/components/schemas/MoveStructValue'
    DecodedTableData:
      type: object
      description: Decoded table data
      required:
        - key
        - key_type
        - value
        - value_type
      properties:
        key:
          description: Key of table in JSON
        key_type:
          type: string
          description: Type of key
        value:
          description: Value of table in JSON
        value_type:
          type: string
          description: Type of value
    WriteSet:
      type: object
      description: The associated writeset with a payload
      oneOf:
        - $ref: '#/components/schemas/WriteSet_ScriptWriteSet'
        - $ref: '#/components/schemas/WriteSet_DirectWriteSet'
      discriminator:
        propertyName: type
        mapping:
          script_write_set: '#/components/schemas/WriteSet_ScriptWriteSet'
          direct_write_set: '#/components/schemas/WriteSet_DirectWriteSet'
    MoveFunction:
      type: object
      description: Move function
      required:
        - name
        - visibility
        - is_entry
        - generic_type_params
        - params
        - return
      properties:
        name:
          $ref: '#/components/schemas/IdentifierWrapper'
        visibility:
          $ref: '#/components/schemas/MoveFunctionVisibility'
        is_entry:
          type: boolean
          description: >-
            Whether the function can be called as an entry function directly in
            a transaction
        generic_type_params:
          type: array
          description: Generic type params associated with the Move function
          items:
            $ref: '#/components/schemas/MoveFunctionGenericTypeParam'
        params:
          type: array
          description: Parameters associated with the move function
          items:
            $ref: '#/components/schemas/MoveType'
        return:
          type: array
          description: Return type of the function
          items:
            $ref: '#/components/schemas/MoveType'
    MoveModule:
      type: object
      description: A Move module
      required:
        - address
        - name
        - friends
        - exposed_functions
        - structs
      properties:
        address:
          $ref: '#/components/schemas/Address'
        name:
          $ref: '#/components/schemas/IdentifierWrapper'
        friends:
          type: array
          description: Friends of the module
          items:
            $ref: '#/components/schemas/MoveModuleId'
        exposed_functions:
          type: array
          description: Public functions of the module
          items:
            $ref: '#/components/schemas/MoveFunction'
        structs:
          type: array
          description: Structs of the module
          items:
            $ref: '#/components/schemas/MoveStruct'
    AccountSignature_Ed25519Signature:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: ed25519_signature
        - $ref: '#/components/schemas/Ed25519Signature'
    AccountSignature_MultiEd25519Signature:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: multi_ed25519_signature
        - $ref: '#/components/schemas/MultiEd25519Signature'
    MoveStructValue:
      type: object
      description: >
        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.
      example:
        authentication_key: '0x0000000000000000000000000000000000000000000000000000000000000001'
        coin_register_events:
          counter: '0'
          guid:
            id:
              addr: '0x1'
              creation_num: '0'
        self_address: '0x1'
        sequence_number: '0'
    WriteSet_ScriptWriteSet:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: script_write_set
        - $ref: '#/components/schemas/ScriptWriteSet'
    WriteSet_DirectWriteSet:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: direct_write_set
        - $ref: '#/components/schemas/DirectWriteSet'
    IdentifierWrapper:
      type: string
    MoveFunctionVisibility:
      type: string
      description: Move function visibility
      enum:
        - private
        - public
        - friend
    MoveFunctionGenericTypeParam:
      type: object
      description: Move function generic type param
      required:
        - constraints
      properties:
        constraints:
          type: array
          description: >-
            Move abilities tied to the generic type param and associated with
            the function that uses it
          items:
            $ref: '#/components/schemas/MoveAbility'
    MoveStruct:
      type: object
      description: A move struct
      required:
        - name
        - is_native
        - abilities
        - generic_type_params
        - fields
      properties:
        name:
          $ref: '#/components/schemas/IdentifierWrapper'
        is_native:
          type: boolean
          description: Whether the struct is a native struct of Move
        abilities:
          type: array
          description: Abilities associated with the struct
          items:
            $ref: '#/components/schemas/MoveAbility'
        generic_type_params:
          type: array
          description: Generic types associated with the struct
          items:
            $ref: '#/components/schemas/MoveStructGenericTypeParam'
        fields:
          type: array
          description: Fields associated with the struct
          items:
            $ref: '#/components/schemas/MoveStructField'
    ScriptWriteSet:
      type: object
      required:
        - execute_as
        - script
      properties:
        execute_as:
          $ref: '#/components/schemas/Address'
        script:
          $ref: '#/components/schemas/ScriptPayload'
    DirectWriteSet:
      type: object
      required:
        - changes
        - events
      properties:
        changes:
          type: array
          items:
            $ref: '#/components/schemas/WriteSetChange'
        events:
          type: array
          items:
            $ref: '#/components/schemas/Event'
    MoveAbility:
      type: string
    MoveStructGenericTypeParam:
      type: object
      description: Move generic type param
      required:
        - constraints
      properties:
        constraints:
          type: array
          description: >-
            Move abilities tied to the generic type param and associated with
            the type that uses it
          items:
            $ref: '#/components/schemas/MoveAbility'
    MoveStructField:
      type: object
      description: Move struct field
      required:
        - name
        - type
      properties:
        name:
          $ref: '#/components/schemas/IdentifierWrapper'
        type:
          $ref: '#/components/schemas/MoveType'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.