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

# POST /transactions

`POST /transactions`

## Query parameters

- `balance_changes` boolean — Request `BalanceChanges` be included in the Response.
- `events` boolean — Request `TransactionEvents` be included in the Response.
- `input_objects` boolean — Request input `Object`s be included in the Response.
- `output_objects` boolean — Request output `Object`s be included in the Response.

## Response `200`

- TransactionExecutionResponse — Response type for the execute transaction endpoint
  - `balance_changes` BalanceChange[]
    - `address` string, hex, required — A 32-byte Sui address, encoded as a hex string.
    - `amount` string, i128, required — The amount indicate the balance value changes. A negative amount means spending coin value and positive means receiving coin value.
    - `coin_type` string, required — A Move TypeTag
  - `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
  - `finality` union, required
    - object
      - `signature` ValidatorAggregatedSignature, required
        - `bitmap` string, base64, required — Base64 encoded data
        - `epoch` string, u64, required — Radix-10 encoded 64-bit unsigned integer
        - `signature` string, base64, required — Base64 encoded data
    - object
      - `checkpoint` string, u64, required — Radix-10 encoded 64-bit unsigned integer
  - `input_objects` Object[]
    - union
      - object
        - `contents` string, base64, required — Base64 encoded data
        - `has_public_transfer` boolean, required
        - `object_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
        - `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.
        - `previous_transaction` string, base58, required — A representation of a 32 byte digest
        - `storage_rebate` string, u64, required — Radix-10 encoded 64-bit unsigned integer
        - `type` string, required
        - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
      - object
        - `linkage_table` object, required
        - `modules` object, required
        - `type_origin_table` TypeOrigin[], required
          - `module_name` string, required — A Move Identifier
          - `package` string, hex, required — A 32-byte Sui address, encoded as a hex string.
          - `struct_name` string, required — A Move Identifier
        - `object_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
        - `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.
        - `previous_transaction` string, base58, required — A representation of a 32 byte digest
        - `storage_rebate` string, u64, required — Radix-10 encoded 64-bit unsigned integer
        - `type` string, required
        - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
  - `output_objects` Object[]
    - union
      - object
        - `contents` string, base64, required — Base64 encoded data
        - `has_public_transfer` boolean, required
        - `object_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
        - `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.
        - `previous_transaction` string, base58, required — A representation of a 32 byte digest
        - `storage_rebate` string, u64, required — Radix-10 encoded 64-bit unsigned integer
        - `type` string, required
        - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer
      - object
        - `linkage_table` object, required
        - `modules` object, required
        - `type_origin_table` TypeOrigin[], required
          - `module_name` string, required — A Move Identifier
          - `package` string, hex, required — A 32-byte Sui address, encoded as a hex string.
          - `struct_name` string, required — A Move Identifier
        - `object_id` string, hex, required — A 32-byte Sui address, encoded as a hex string.
        - `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.
        - `previous_transaction` string, base58, required — A representation of a 32 byte digest
        - `storage_rebate` string, u64, required — Radix-10 encoded 64-bit unsigned integer
        - `type` string, required
        - `version` string, u64, required — Radix-10 encoded 64-bit unsigned integer

## Changes

- **2024-07-17** `f4c58925668c` — 8 info
  - api operation id `ExecuteTransaction` was added
  - api tag `Transactions` added
  - added the new optional `query` request parameter `balance_changes`
  - added the new optional `query` request parameter `events`
  - …4 more

[Change history](https://skmtc.dev/verichains/apis/sui-node-api/changes/transactions/post.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)
