---
title: "GET /transactions/{transaction}"
method: GET
path: "/transactions/{transaction}"
tags: ["Transactions"]
---

# GET /transactions/{transaction}

`GET /transactions/{transaction}`

## Path parameters

- `transaction` string, base58, required — A representation of a 32 byte digest

## Response `200`

- TransactionResponse
  - `checkpoint` string, u64 — Radix-10 encoded 64-bit unsigned integer
  - `digest` string, base58, required — A representation of a 32 byte digest
  - `effects` union, required — The response from processing a transaction or a certified transaction
    - object — The response from processing a transaction or a certified transaction
      - `created` ObjectReferenceWithOwner[], required — ObjectReference and owner of new objects created.
        - `owner` union, required
          - object — Object is exclusively owned by a single address, and is mutable.
            - `address` string, hex, required — A 32-byte Sui address, encoded as a hex string.
          - object — Object is exclusively owned by a single object, and is mutable.
            - `object` string, hex, required — A 32-byte Sui address, encoded as a hex string.
          - object — Object is shared, can be used by any address, and is mutable.
            - `shared` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - 'immutable' — Object is immutable, and hence ownership doesn't matter.
        - `reference` ObjectReference, required
          - `digest` string, base58, required — A representation of a 32 byte digest
          - `object_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
          - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
      - `deleted` ObjectReference[], required — Object Refs of objects now deleted (the new refs).
        - `digest` string, base58, required — A representation of a 32 byte digest
        - `object_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
        - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
      - `dependencies` TransactionDigest[], required — The set of transaction digests this transaction depends on.
      - `epoch` string, u64, required — The epoch when this transaction was executed.
      - `events_digest` string, base58 — A representation of a 32 byte digest
      - `gas_object` ObjectReferenceWithOwner, required
        - `owner` union, required
          - object — Object is exclusively owned by a single address, and is mutable.
            - `address` string, hex, required — A 32-byte Sui address, encoded as a hex string.
          - object — Object is exclusively owned by a single object, and is mutable.
            - `object` string, hex, required — A 32-byte Sui address, encoded as a hex string.
          - object — Object is shared, can be used by any address, and is mutable.
            - `shared` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - 'immutable' — Object is immutable, and hence ownership doesn't matter.
        - `reference` ObjectReference, required
          - `digest` string, base58, required — A representation of a 32 byte digest
          - `object_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
          - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
      - `gas_used` GasCostSummary, required — Summary of gas charges. Storage is charged independently of computation. There are 3 parts to the storage charges: `storage_cost`: it is the charge of storage at the time the transaction is executed. The cost of storage is the number of bytes of the objects being mutated multiplied by a variable storage cost per byte `storage_rebate`: this is the amount a user gets back when manipulating an object. The `storage_rebate` is the `storage_cost` for an object minus fees. `non_refundable_storage_fee`: not all the value of the object storage cost is given back to user and there is a small fraction that is kept by the system. This value tracks that charge. When looking at a gas cost summary the amount charged to the user is `computation_cost + storage_cost - storage_rebate` and that is the amount that is deducted from the gas coins. `non_refundable_storage_fee` is collected from the objects being mutated/deleted and it is tracked by the system in storage funds. Objects deleted, including the older versions of objects mutated, have the storage field on the objects added up to a pool of "potential rebate". This rebate then is reduced by the "nonrefundable rate" such that: `potential_rebate(storage cost of deleted/mutated objects) = storage_rebate + non_refundable_storage_fee`
        - `computation_cost` string, u64, required — Cost of computation/execution
        - `non_refundable_storage_fee` string, u64, required — The fee for the rebate. The portion of the storage rebate kept by the system.
        - `storage_cost` string, u64, required — Storage cost, it's the sum of all storage cost for all objects created or mutated.
        - `storage_rebate` string, u64, required — The amount of storage cost refunded to the user for all objects deleted or mutated in the transaction.
      - `modified_at_versions` ModifiedAtVersion[], required — The version that every modified (mutated or deleted) object had before it was modified by this transaction.
        - `object_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
        - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
      - `mutated` ObjectReferenceWithOwner[], required — ObjectReference and owner of mutated objects, including gas object.
        - `owner` union, required
          - object — Object is exclusively owned by a single address, and is mutable.
            - `address` string, hex, required — A 32-byte Sui address, encoded as a hex string.
          - object — Object is exclusively owned by a single object, and is mutable.
            - `object` string, hex, required — A 32-byte Sui address, encoded as a hex string.
          - object — Object is shared, can be used by any address, and is mutable.
            - `shared` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - 'immutable' — Object is immutable, and hence ownership doesn't matter.
        - `reference` ObjectReference, required
          - `digest` string, base58, required — A representation of a 32 byte digest
          - `object_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
          - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
      - `shared_objects` ObjectReference[], required — The object references of the shared objects used in this transaction. Empty if no shared objects were used.
        - `digest` string, base58, required — A representation of a 32 byte digest
        - `object_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
        - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
      - `status` FailureStatus
        - `command` integer
        - `error` union, required
          - object — Insufficient Gas
            - `error` 'insufficient_gas', required
          - object — Invalid Gas Object.
            - `error` 'invalid_gas_object', required
          - object — Invariant Violation
            - `error` 'invariant_violation', required
          - object — Attempted to used feature that is not supported yet
            - `error` 'feature_not_yet_supported', required
          - object — Move object is larger than the maximum allowed size
            - `error` 'object_too_big', required
            - `max_object_size` string, u64, required — Radix-10 encoded 64-bit unsigned integer
            - `object_size` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - object — Package is larger than the maximum allowed size
            - `error` 'package_too_big', required
            - `max_object_size` string, u64, required — Radix-10 encoded 64-bit unsigned integer
            - `object_size` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - object — Circular Object Ownership
            - `error` 'circular_object_ownership', required
            - `object` string, hex, required — A 32-byte Sui address, encoded as a hex string.
          - object — Insufficient coin balance for requested operation
            - `error` 'insufficient_coin_balance', required
          - object — Coin balance overflowed an u64
            - `error` 'coin_balance_overflow', required
          - object — Publish Error, Non-zero Address. The modules in the package must have their self-addresses set to zero.
            - `error` 'publish_error_non_zero_address', required
          - object — Sui Move Bytecode Verification Error.
            - `error` 'sui_move_verification_error', required
          - object — Error from a non-abort instruction. Possible causes: Arithmetic error, stack overflow, max value depth, etc."
            - `error` 'move_primitive_runtime_error', required
            - `location` MoveLocation
              - …
          - object — Move runtime abort
            - `code` string, u64, required — Radix-10 encoded 64-bit unsigned integer
            - `error` 'move_abort', required
            - `location` MoveLocation, required
              - …
          - object — Bytecode verification error.
            - `error` 'vm_verification_or_deserialization_error', required
          - object — MoveVm invariant violation
            - `error` 'vm_invariant_violation', required
          - object — Function not found
            - `error` 'function_not_found', required
          - object — Arity mismatch for Move function. The number of arguments does not match the number of parameters
            - `error` 'arity_mismatch', required
          - object — Type arity mismatch for Move function. Mismatch between the number of actual versus expected type arguments.
            - `error` 'type_arity_mismatch', required
          - object — Non Entry Function Invoked. Move Call must start with an entry function.
            - `error` 'non_entry_function_invoked', required
          - object — Invalid command argument
            - `argument` integer, required
            - `error` 'command_argument_error', required
            - `kind` union, required
              - …
          - object — Type argument error
            - `error` 'type_argument_error', required
            - `kind` union, required
              - …
            - `type_argument` integer, required
          - object — Unused result without the drop ability.
            - `error` 'unused_value_without_drop', required
            - `result` integer, required
            - `subresult` integer, required
          - object — Invalid public Move function signature. Unsupported return type for return value
            - `error` 'invalid_public_function_return_type', required
            - `index` integer, required
          - object — Invalid Transfer Object, object does not have public transfer.
            - `error` 'invalid_transfer_object', required
          - object — Effects from the transaction are too large
            - `current_size` string, u64, required — Radix-10 encoded 64-bit unsigned integer
            - `error` 'effects_too_large', required
            - `max_size` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - object — Publish or Upgrade is missing dependency
            - `error` 'publish_upgrade_missing_dependency', required
          - object — Publish or Upgrade dependency downgrade. Indirect (transitive) dependency of published or upgraded package has been assigned an on-chain version that is less than the version required by one of the package's transitive dependencies.
            - `error` 'publish_upgrade_dependency_downgrade', required
          - object — Invalid package upgrade
            - `error` 'package_upgrade_error', required
            - `kind` union, required
              - …
          - object — Indicates the transaction tried to write objects too large to storage
            - `error` 'written_objects_too_large', required
            - `max_object_size` string, u64, required — Radix-10 encoded 64-bit unsigned integer
            - `object_size` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - object — Certificate is on the deny list
            - `error` 'certificate_denied', required
          - object — Sui Move Bytecode verification timed out.
            - `error` 'sui_move_verification_timedout', required
          - object — The requested shared object operation is not allowed
            - `error` 'shared_object_operation_not_allowed', required
          - object — Requested shared object has been deleted
            - `error` 'input_object_deleted', required
      - `success` boolean, required
      - `transaction_digest` string, base58, required — A representation of a 32 byte digest
      - `unwrapped` ObjectReferenceWithOwner[], required — ObjectReference and owner of objects that are unwrapped in this transaction. Unwrapped objects are objects that were wrapped into other objects in the past, and just got extracted out.
        - `owner` union, required
          - object — Object is exclusively owned by a single address, and is mutable.
            - `address` string, hex, required — A 32-byte Sui address, encoded as a hex string.
          - object — Object is exclusively owned by a single object, and is mutable.
            - `object` string, hex, required — A 32-byte Sui address, encoded as a hex string.
          - object — Object is shared, can be used by any address, and is mutable.
            - `shared` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - 'immutable' — Object is immutable, and hence ownership doesn't matter.
        - `reference` ObjectReference, required
          - `digest` string, base58, required — A representation of a 32 byte digest
          - `object_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
          - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
      - `unwrapped_then_deleted` ObjectReference[], required — Object refs of objects previously wrapped in other objects but now deleted.
        - `digest` string, base58, required — A representation of a 32 byte digest
        - `object_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
        - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
      - `version` '1', required
      - `wrapped` ObjectReference[], required — Object refs of objects now wrapped in other objects.
        - `digest` string, base58, required — A representation of a 32 byte digest
        - `object_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
        - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
    - object — The response from processing a transaction or a certified transaction
      - `auxiliary_data_digest` string, base58 — A representation of a 32 byte digest
      - `changed_objects` ChangedObject[], required — Objects whose state are changed in the object store.
        - `id_operation` 'none' | 'created' | 'deleted', required
        - `input_state` union, required — If an object exists (at root-level) in the store prior to this transaction, it should be Exist, otherwise it's NonExist, e.g. wrapped objects should be NonExist.
          - object
            - `state` 'not_exist', required
          - object — The old version, digest and owner.
            - `digest` string, base58, required — A representation of a 32 byte digest
            - `owner` union, required
              - …
            - `state` 'exist', required
            - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
        - `object_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
        - `output_state` union, required
          - object — Same definition as in ObjectIn.
            - `state` 'not_exist', required
          - object — Any written object, including all of mutated, created, unwrapped today.
            - `digest` string, base58, required — A representation of a 32 byte digest
            - `owner` union, required
              - …
            - `state` 'object_write', required
          - object — Packages writes need to be tracked separately with version because we don't use lamport version for package publish and upgrades.
            - `digest` string, base58, required — A representation of a 32 byte digest
            - `state` 'package_write', required
            - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
      - `dependencies` TransactionDigest[], required — The set of transaction digests this transaction depends on.
      - `epoch` string, u64, required — The epoch when this transaction was executed.
      - `events_digest` string, base58 — A representation of a 32 byte digest
      - `gas_object_index` integer — The updated gas object reference, as an index into the `changed_objects` vector. Having a dedicated field for convenient access. System transaction that don't require gas will leave this as None.
      - `gas_used` GasCostSummary, required — Summary of gas charges. Storage is charged independently of computation. There are 3 parts to the storage charges: `storage_cost`: it is the charge of storage at the time the transaction is executed. The cost of storage is the number of bytes of the objects being mutated multiplied by a variable storage cost per byte `storage_rebate`: this is the amount a user gets back when manipulating an object. The `storage_rebate` is the `storage_cost` for an object minus fees. `non_refundable_storage_fee`: not all the value of the object storage cost is given back to user and there is a small fraction that is kept by the system. This value tracks that charge. When looking at a gas cost summary the amount charged to the user is `computation_cost + storage_cost - storage_rebate` and that is the amount that is deducted from the gas coins. `non_refundable_storage_fee` is collected from the objects being mutated/deleted and it is tracked by the system in storage funds. Objects deleted, including the older versions of objects mutated, have the storage field on the objects added up to a pool of "potential rebate". This rebate then is reduced by the "nonrefundable rate" such that: `potential_rebate(storage cost of deleted/mutated objects) = storage_rebate + non_refundable_storage_fee`
        - `computation_cost` string, u64, required — Cost of computation/execution
        - `non_refundable_storage_fee` string, u64, required — The fee for the rebate. The portion of the storage rebate kept by the system.
        - `storage_cost` string, u64, required — Storage cost, it's the sum of all storage cost for all objects created or mutated.
        - `storage_rebate` string, u64, required — The amount of storage cost refunded to the user for all objects deleted or mutated in the transaction.
      - `lamport_version` string, u64, required — The version number of all the written Move objects by this transaction.
      - `status` FailureStatus
        - `command` integer
        - `error` union, required
          - object — Insufficient Gas
            - `error` 'insufficient_gas', required
          - object — Invalid Gas Object.
            - `error` 'invalid_gas_object', required
          - object — Invariant Violation
            - `error` 'invariant_violation', required
          - object — Attempted to used feature that is not supported yet
            - `error` 'feature_not_yet_supported', required
          - object — Move object is larger than the maximum allowed size
            - `error` 'object_too_big', required
            - `max_object_size` string, u64, required — Radix-10 encoded 64-bit unsigned integer
            - `object_size` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - object — Package is larger than the maximum allowed size
            - `error` 'package_too_big', required
            - `max_object_size` string, u64, required — Radix-10 encoded 64-bit unsigned integer
            - `object_size` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - object — Circular Object Ownership
            - `error` 'circular_object_ownership', required
            - `object` string, hex, required — A 32-byte Sui address, encoded as a hex string.
          - object — Insufficient coin balance for requested operation
            - `error` 'insufficient_coin_balance', required
          - object — Coin balance overflowed an u64
            - `error` 'coin_balance_overflow', required
          - object — Publish Error, Non-zero Address. The modules in the package must have their self-addresses set to zero.
            - `error` 'publish_error_non_zero_address', required
          - object — Sui Move Bytecode Verification Error.
            - `error` 'sui_move_verification_error', required
          - object — Error from a non-abort instruction. Possible causes: Arithmetic error, stack overflow, max value depth, etc."
            - `error` 'move_primitive_runtime_error', required
            - `location` MoveLocation
              - …
          - object — Move runtime abort
            - `code` string, u64, required — Radix-10 encoded 64-bit unsigned integer
            - `error` 'move_abort', required
            - `location` MoveLocation, required
              - …
          - object — Bytecode verification error.
            - `error` 'vm_verification_or_deserialization_error', required
          - object — MoveVm invariant violation
            - `error` 'vm_invariant_violation', required
          - object — Function not found
            - `error` 'function_not_found', required
          - object — Arity mismatch for Move function. The number of arguments does not match the number of parameters
            - `error` 'arity_mismatch', required
          - object — Type arity mismatch for Move function. Mismatch between the number of actual versus expected type arguments.
            - `error` 'type_arity_mismatch', required
          - object — Non Entry Function Invoked. Move Call must start with an entry function.
            - `error` 'non_entry_function_invoked', required
          - object — Invalid command argument
            - `argument` integer, required
            - `error` 'command_argument_error', required
            - `kind` union, required
              - …
          - object — Type argument error
            - `error` 'type_argument_error', required
            - `kind` union, required
              - …
            - `type_argument` integer, required
          - object — Unused result without the drop ability.
            - `error` 'unused_value_without_drop', required
            - `result` integer, required
            - `subresult` integer, required
          - object — Invalid public Move function signature. Unsupported return type for return value
            - `error` 'invalid_public_function_return_type', required
            - `index` integer, required
          - object — Invalid Transfer Object, object does not have public transfer.
            - `error` 'invalid_transfer_object', required
          - object — Effects from the transaction are too large
            - `current_size` string, u64, required — Radix-10 encoded 64-bit unsigned integer
            - `error` 'effects_too_large', required
            - `max_size` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - object — Publish or Upgrade is missing dependency
            - `error` 'publish_upgrade_missing_dependency', required
          - object — Publish or Upgrade dependency downgrade. Indirect (transitive) dependency of published or upgraded package has been assigned an on-chain version that is less than the version required by one of the package's transitive dependencies.
            - `error` 'publish_upgrade_dependency_downgrade', required
          - object — Invalid package upgrade
            - `error` 'package_upgrade_error', required
            - `kind` union, required
              - …
          - object — Indicates the transaction tried to write objects too large to storage
            - `error` 'written_objects_too_large', required
            - `max_object_size` string, u64, required — Radix-10 encoded 64-bit unsigned integer
            - `object_size` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - object — Certificate is on the deny list
            - `error` 'certificate_denied', required
          - object — Sui Move Bytecode verification timed out.
            - `error` 'sui_move_verification_timedout', required
          - object — The requested shared object operation is not allowed
            - `error` 'shared_object_operation_not_allowed', required
          - object — Requested shared object has been deleted
            - `error` 'input_object_deleted', required
      - `success` boolean, required
      - `transaction_digest` string, base58, required — A representation of a 32 byte digest
      - `unchanged_shared_objects` UnchangedSharedObject[], required — Shared objects that are not mutated in this transaction. Unlike owned objects, read-only shared objects' version are not committed in the transaction, and in order for a node to catch up and execute it without consensus sequencing, the version needs to be committed in the effects.
        - `kind` union, required
          - object — Read-only shared objects from the input. We don't really need ObjectDigest for protocol correctness, but it will make it easier to verify untrusted read.
            - `digest` string, base58, required — A representation of a 32 byte digest
            - `kind` 'read_only_root', required
            - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - object — Deleted shared objects that appear mutably/owned in the input.
            - `kind` 'mutate_deleted', required
            - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - object — Deleted shared objects that appear as read-only in the input.
            - `kind` 'read_deleted', required
            - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - object — Shared objects in cancelled transaction. The sequence number embed cancellation reason.
            - `kind` 'cancelled', required
            - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - object — Read of a per-epoch config object that should remain the same during an epoch.
            - `kind` 'per_epoch_config', required
        - `object_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
      - `version` '2', required
  - `events` Event[]
    - `contents` string, base64, required — Base64 encoded data
    - `module` string, required — A Move Identifier
    - `package_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
    - `sender` string, hex, required — A 32-byte Sui address, encoded as a hex string.
    - `type` string, required — A Move StructTag
  - `signatures` UserSignature[], required
    - union
      - object
        - `public_key` string, base64, required — Base64 encoded data
        - `scheme` 'ed25519', required
        - `signature` string, base64, required — Base64 encoded data
      - object
        - `public_key` string, base64, required — Base64 encoded data
        - `scheme` 'secp256k1', required
        - `signature` string, base64, required — Base64 encoded data
      - object
        - `public_key` string, base64, required — Base64 encoded data
        - `scheme` 'secp256r1', required
        - `signature` string, base64, required — Base64 encoded data
      - object — The struct that contains signatures and public keys necessary for authenticating a Multisig.
        - `bitmap` integer, required — A bitmap that indicates the position of which public key the signature should be authenticated with.
        - `committee` MultisigCommittee, required
          - `members` MultisigMember[], required — A list of committee members and their corresponding weight.
            - `public_key` union, required
              - …
            - `weight` integer, required
          - `threshold` integer, required — If the total weight of the public keys corresponding to verified signatures is larger than threshold, the Multisig is verified.
        - `legacy_bitmap` string, base64 — Legacy encoding for the bitmap.
        - `scheme` 'multisig', required
        - `signatures` MultisigMemberSignature[], required — The plain signature encoded with signature scheme.
          - union
            - object
              - …
            - object
              - …
            - object
              - …
            - object — An zk login authenticator with all the necessary fields.
              - …
      - object — An zk login authenticator with all the necessary fields.
        - `inputs` ZkLoginInputs, required — All inputs required for the zk login proof verification and other public inputs.
          - `address_seed` string, u256, required — Radix-10 encoded 256-bit unsigned integer
          - `header_base64` string, required
          - `iss_base64_details` Claim, required — A claim consists of value and index_mod_4.
            - `index_mod_4` integer, required
            - `value` string, required
          - `proof_points` ZkLoginProof, required — The struct for zk login proof.
            - `a` Bn254FieldElement[], required — A G1 point in BN254 serialized as a vector of three strings which is the canonical decimal representation of the projective coordinates in Fq.
            - `b` array[], required — A G2 point in BN254 serialized as a vector of three vectors each being a vector of two strings which are the canonical decimal representation of the coefficients of the projective coordinates in Fq2.
              - …
            - `c` Bn254FieldElement[], required — A G1 point in BN254 serialized as a vector of three strings which is the canonical decimal representation of the projective coordinates in Fq.
        - `max_epoch` string, u64, required — Radix-10 encoded 64-bit unsigned integer
        - `scheme` 'zklogin', required
        - `signature` union, required
          - object
            - `public_key` string, base64, required — Base64 encoded data
            - `scheme` 'ed25519', required
            - `signature` string, base64, required — Base64 encoded data
          - object
            - `public_key` string, base64, required — Base64 encoded data
            - `scheme` 'secp256k1', required
            - `signature` string, base64, required — Base64 encoded data
          - object
            - `public_key` string, base64, required — Base64 encoded data
            - `scheme` 'secp256r1', required
            - `signature` string, base64, required — Base64 encoded data
  - `timestamp_ms` string, u64 — Radix-10 encoded 64-bit unsigned integer
  - `transaction` Transaction, required
    - `expiration` TransactionExpiration, nullable, required — Validators wont sign a transaction unless the expiration Epoch is greater than or equal to the current epoch
      - `epoch` string, u64, required — Radix-10 encoded 64-bit unsigned integer
    - `gas_payment` GasPayment, required
      - `budget` string, u64, required — Radix-10 encoded 64-bit unsigned integer
      - `objects` ObjectReference[], required
        - `digest` string, base58, required — A representation of a 32 byte digest
        - `object_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
        - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
      - `owner` string, hex, required — A 32-byte Sui address, encoded as a hex string.
      - `price` string, u64, required — Radix-10 encoded 64-bit unsigned integer
    - `kind` union, required
      - object — A series of commands where the results of one command can be used in future commands
        - `commands` Command[], required — The commands to be executed sequentially. A failure in any command will result in the failure of the entire transaction.
          - union — A single command in a programmable transaction.
            - object — A call to either an entry or a public Move function
              - …
            - object — `(Vec<forall T:key+store. T>, address)` It sends n-objects to the specified address. These objects must have store (public transfer) and either the previous owner must be an address or the object must be newly created.
              - …
            - object — `(&mut Coin<T>, Vec<u64>)` -> `Vec<Coin<T>>` It splits off some amounts into a new coins with those amounts
              - …
            - object — `(&mut Coin<T>, Vec<Coin<T>>)` It merges n-coins into the first coin
              - …
            - object — Publishes a Move package. It takes the package bytes and a list of the package's transitive dependencies to link against on-chain.
              - …
            - object — `forall T: Vec<T> -> vector<T>` Given n-values of the same type, it constructs a vector. For non objects or an empty vector, the type tag must be specified.
              - …
            - object — Upgrades a Move package Takes (in order): 1. A vector of serialized modules for the package. 2. A vector of object ids for the transitive dependencies of the new package. 3. The object ID of the package being upgraded. 4. An argument holding the `UpgradeTicket` that must have been produced from an earlier command in the same programmable transaction.
              - …
        - `inputs` InputArgument[], required — Input objects or primitive values
          - union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `kind` 'programmable_transaction', required
      - object
        - `computation_charge` string, u64, required — The total amount of gas charged for computation during the epoch.
        - `epoch` string, u64, required — The next (to become) epoch ID.
        - `epoch_start_timestamp_ms` string, u64, required — Unix timestamp when epoch started
        - `kind` 'change_epoch', required
        - `non_refundable_storage_fee` string, u64, required — The non-refundable storage fee.
        - `protocol_version` string, u64, required — The protocol version in effect in the new epoch.
        - `storage_charge` string, u64, required — The total amount of gas charged for storage during the epoch.
        - `storage_rebate` string, u64, required — The amount of storage rebate refunded to the txn senders.
        - `system_packages` SystemPackage[], required — System packages (specifically framework and move stdlib) that are written before the new epoch starts. This tracks framework upgrades on chain. When executing the ChangeEpoch txn, the validator must write out the modules below. Modules are provided with the version they will be upgraded to, their modules in serialized form (which include their package ID), and a list of their transitive dependencies.
          - `dependencies` ObjectId[], required
          - `modules` string[], required
          - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
      - object
        - `kind` 'genesis', required
        - `objects` GenesisObject[], required
          - union
            - object
              - …
            - object
              - …
      - object — Only commit_timestamp_ms is passed to the move call currently. However we include epoch and round to make sure each ConsensusCommitPrologue has a unique tx digest.
        - `commit_timestamp_ms` string, u64, required — Unix timestamp from consensus
        - `epoch` string, u64, required — Epoch of the commit prologue transaction
        - `kind` 'consensus_commit_prologue', required
        - `round` string, u64, required — Consensus round of the commit
      - object
        - `authenticator_obj_initial_shared_version` string, u64, required — The initial version of the authenticator object that it was shared at.
        - `epoch` string, u64, required — Epoch of the authenticator state update transaction
        - `kind` 'authenticator_state_update', required
        - `new_active_jwks` ActiveJwk[], required — newly active jwks
          - `epoch` string, u64, required — Radix-10 encoded 64-bit unsigned integer
          - `jwk` Jwk, required — Struct that contains info for a JWK. A list of them for different kids can be retrieved from the JWK endpoint (e.g. <https://www.googleapis.com/oauth2/v3/certs>). The JWK is used to verify the JWT token.
            - `alg` string, required — Algorithm parameter, <https://datatracker.ietf.org/doc/html/rfc7517#section-4.4>
            - `e` string, required — RSA public exponent, <https://datatracker.ietf.org/doc/html/rfc7517#section-9.3>
            - `kty` string, required — Key type parameter, <https://datatracker.ietf.org/doc/html/rfc7517#section-4.1>
            - `n` string, required — RSA modulus, <https://datatracker.ietf.org/doc/html/rfc7517#section-9.3>
          - `jwk_id` JwkId, required — Key to identify a JWK, consists of iss and kid.
            - `iss` string, required — iss string that identifies the OIDC provider.
            - `kid` string, required — kid string that identifies the JWK.
        - `round` string, u64, required — Consensus round of the authenticator state update
      - object
        - `commands` EndOfEpochTransactionKind[], required
          - union — EndOfEpochTransactionKind
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `kind` 'end_of_epoch', required
      - object
        - `epoch` string, u64, required — Epoch of the randomness state update transaction
        - `kind` 'randomness_state_update', required
        - `random_bytes` string, base64, required — Updated random bytes
        - `randomness_obj_initial_shared_version` string, u64, required — The initial version of the randomness object that it was shared at.
        - `randomness_round` string, u64, required — Randomness round of the update
      - object
        - `commit_timestamp_ms` string, u64, required — Unix timestamp from consensus
        - `consensus_commit_digest` string, base58, required — A representation of a 32 byte digest
        - `epoch` string, u64, required — Epoch of the commit prologue transaction
        - `kind` 'consensus_commit_prologue_v2', required
        - `round` string, u64, required — Consensus round of the commit
      - object
        - `commit_timestamp_ms` string, u64, required — Unix timestamp from consensus
        - `consensus_commit_digest` string, base58, required — A representation of a 32 byte digest
        - `consensus_determined_version_assignments` ConsensusDeterminedVersionAssignments, required — Cancelled transaction version assignment.
          - `cancelled_transactions` CancelledTransaction[], required
            - `digest` string, base58, required — A representation of a 32 byte digest
            - `version_assignments` VersionAssignment[], required
              - …
          - `kind` 'cancelled_transactions', required
        - `epoch` string, u64, required — Epoch of the commit prologue transaction
        - `kind` 'consensus_commit_prologue_v3', required
        - `round` string, u64, required — Consensus round of the commit
        - `sub_dag_index` string, u64 — The sub DAG index of the consensus commit. This field will be populated if there are multiple consensus commits per round.
    - `sender` string, hex, required — A 32-byte Sui address, encoded as a hex string.
    - `version` '1', required

## Other responses

- `404`

## Changes

- **2024-07-17** `d3df4266e877` — 6 breaking, 3 info
  - added `subschema #1` to the `transaction` response property `oneOf` list for the response status `200`
  - the `checkpoint` response's property type/format changed from `integer`/`uint64` to `string`/`u64` for status `200`
  - the `timestamp_ms` response's property type/format changed from `integer`/`uint64` to `string`/`u64` for status `200`
  - the `transaction` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - …5 more
- **2024-07-11** `7e7f2895f13d` — 1 breaking
  - added `subschema #4, subschema #5` to the `effects/oneOf[subschema #2]/unchanged_shared_objects/items/kind` response property `oneOf` list for the response status `200`

[Change history](https://skmtc.dev/verichains/apis/sui-node-api/changes/transactions/:transaction/get.md)

---

[API](https://skmtc.dev/verichains/apis/sui-node-api.md) · [All operations](https://skmtc.dev/verichains/apis/sui-node-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/verichains/sui-node-api/revisions/f4c58925668c/schema)
