Sui

Sui Write API API

Methods for submitting transactions

Operations 3

POST /#sui_devInspectTransactionBlock sui_devInspectTransactionBlock #
POST /#sui_dryRunTransactionBlock sui_dryRunTransactionBlock #
POST /#sui_executeTransactionBlock sui_executeTransactionBlock #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/sui-write-api-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

sui-write-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Sui JSON-RPC Coin Query Write API
  description: Sui JSON-RPC API for interaction with Sui Full node. Make RPC calls using https://fullnode.NETWORK.sui.io:443, where NETWORK is the network you want to use (testnet, devnet, mainnet). By default, local networks use port 9000.
  contact:
    name: Mysten Labs
    url: https://mystenlabs.com
    email: build@mystenlabs.com
  license:
    name: Apache-2.0
    url: https://raw.githubusercontent.com/MystenLabs/sui/main/LICENSE
  version: 1.74.0
servers:
- url: https://fullnode.mainnet.sui.io:443
  description: Sui Mainnet
- url: https://fullnode.testnet.sui.io:443
  description: Sui Testnet
- url: https://fullnode.devnet.sui.io:443
  description: Sui Devnet
- url: http://localhost:9000
  description: Local node (default port)
tags:
- name: Write API
  description: Methods for submitting transactions
paths:
  /#sui_devInspectTransactionBlock:
    post:
      operationId: sui_devInspectTransactionBlock
      summary: sui_devInspectTransactionBlock
      description: Runs the transaction in dev-inspect mode. Which allows for nearly any transaction (or Move call) with any arguments. Detailed results are provided, including both the transaction effects and any return values.
      tags:
      - Write API
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - jsonrpc
              - id
              - method
              properties:
                jsonrpc:
                  type: string
                  enum:
                  - '2.0'
                  example: '2.0'
                id:
                  type: integer
                  example: 1
                method:
                  type: string
                  enum:
                  - sui_devInspectTransactionBlock
                params:
                  type: array
                  description: Parameters as positional array
                  items: {}
            examples:
              example:
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: sui_devInspectTransactionBlock
                  params:
                  - '0xd70420418b84502e506794227f897237764dde8d79a01ab2104bf742a277a2ab'
                  - AAACACBnxtMcbJcOVn8D72fYEaT4Q2ZbjePygvpIs+AQO6m77QEAagYVO5/EhuEB8OnicDrIZm0GrsxN3355JqNhlwxlpbECAAAAAAAAACDoQ3EipycU+/EOvBcDPFtMkZiSbdzWAw3CwdmQCAtBWAEBAQEBAAEAAC9cVD1xauQ9RT3rOxmbva8bxwMMdoL4dwPc5DEkj+3gASxDgF0Nb1QCp60Npb3sVJx83qBrxKHTOaIlIe6pM7iJAgAAAAAAAAAgnvsgc1pPauyCE27/c+aBnHN3fSsxRAWdEJYzYFOryNAvXFQ9cWrkPUU96zsZm72vG8cDDHaC+HcD3OQxJI/t4AoAAAAAAAAAoIYBAAAAAAAA
                  - 1000
                  - 8888
                  - null
      responses:
        '200':
          description: JSON-RPC response
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    enum:
                    - '2.0'
                  id:
                    type: integer
                  result:
                    $ref: '#/components/schemas/DevInspectResults'
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data: {}
  /#sui_dryRunTransactionBlock:
    post:
      operationId: sui_dryRunTransactionBlock
      summary: sui_dryRunTransactionBlock
      description: Return transaction execution effects including the gas cost summary, while the effects are not committed to the chain.
      tags:
      - Write API
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - jsonrpc
              - id
              - method
              properties:
                jsonrpc:
                  type: string
                  enum:
                  - '2.0'
                  example: '2.0'
                id:
                  type: integer
                  example: 1
                method:
                  type: string
                  enum:
                  - sui_dryRunTransactionBlock
                params:
                  type: array
                  description: Parameters as positional array
                  items: {}
            examples:
              example:
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: sui_dryRunTransactionBlock
                  params:
                  - AAACACB7qR3cfnF89wjJNwYPBASHNuwz+xdG2Zml5YzVxnftgAEAT4LxyFh7mNZMAL+0bDhDvYv2zPp8ZahhOGmM0f3Kw9wCAAAAAAAAACCxDABG4pPAjOwPQHg9msS/SrtNf4IGR/2F0ZGD3ufH/wEBAQEBAAEAAGH7tbTzQqQL2/h/5KlGueONGM+P/HsAALl1F1x7apV2AejYx86GPzE9o9vZKoPvJtEouI/ma/JuDg0Jza9yfR2EAgAAAAAAAAAgzMqpegLMOpgEFnDhYJ23FOmFjJbp5GmFXxzzv9+X6GVh+7W080KkC9v4f+SpRrnjjRjPj/x7AAC5dRdce2qVdgoAAAAAAAAAoIYBAAAAAAAA
      responses:
        '200':
          description: JSON-RPC response
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    enum:
                    - '2.0'
                  id:
                    type: integer
                  result:
                    $ref: '#/components/schemas/DryRunTransactionBlockResponse'
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data: {}
  /#sui_executeTransactionBlock:
    post:
      operationId: sui_executeTransactionBlock
      summary: sui_executeTransactionBlock
      description: 'Execute the transaction and wait for results if desired. Request types: 1. WaitForEffectsCert: waits for TransactionEffectsCert and then return to client.     This mode is a proxy for transaction finality. 2. WaitForLocalExecution: waits for TransactionEffectsCert and make sure the node     executed the transaction locally before returning the client. The local execution     makes sure this node is aware of this transaction when client fires subsequent queries.     However if the node fails to execute the transaction locally in a timely manner,     a bool type in the response is set to false to indicated the case. request_type is default to be `WaitForEffectsCert` unless options.show_events or options.show_effects is true'
      tags:
      - Write API
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - jsonrpc
              - id
              - method
              properties:
                jsonrpc:
                  type: string
                  enum:
                  - '2.0'
                  example: '2.0'
                id:
                  type: integer
                  example: 1
                method:
                  type: string
                  enum:
                  - sui_executeTransactionBlock
                params:
                  type: array
                  description: Parameters as positional array
                  items: {}
            examples:
              example:
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: sui_executeTransactionBlock
                  params:
                  - AAACACBqEB6aOvXIBwES+Ahkizbvv43uihqC3kbZUE6WoRCKFwEAjvdvVsOZYzousxC8qRJOXy84znOeqsu2YAaIgE4HhEgCAAAAAAAAACB9w3+ufZMpihJFwxtCBojBaGy00TVtFxgN2C6TpIPFqwEBAQEBAAEAAAS0l6kWtGVmCaf6gnoJGE1vR2gdO6dM4NejbGSysfiHAZ+Q9/hmzCnfsdpjc86U+dldylpA9OF2mRjuv5+64AvTAgAAAAAAAAAgjleHL0UiRGjh/BfIFHCJ3EMY/dQA22c2TvNQyVJnbYUEtJepFrRlZgmn+oJ6CRhNb0doHTunTODXo2xksrH4hwoAAAAAAAAAoIYBAAAAAAAA
                  - - AKD4XdltkCyBi1Heb4EJJ3lzuV3F4u7+CYeaE+Fd7qXpaT17yd4tHWjMf4CWq3TuXBLxTpkc2MV39P6p7eMV8QnqvbuA0Q1Bqu4RHV3JPpqmH+C527hWJGUBOZN1j9sg8w==
                  - showInput: true
                    showRawInput: true
                    showEffects: true
                    showEvents: true
                    showObjectChanges: true
                    showBalanceChanges: true
                    showRawEffects: false
                  - WaitForLocalExecution
      responses:
        '200':
          description: JSON-RPC response
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    enum:
                    - '2.0'
                  id:
                    type: integer
                  result:
                    $ref: '#/components/schemas/TransactionBlockResponse'
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data: {}
components:
  schemas:
    Base58:
      type: string
    ObjectDigest:
      $ref: '#/components/schemas/Digest'
    TransactionDigest:
      description: A transaction will have a (unique) digest.
      allOf:
      - $ref: '#/components/schemas/Digest'
    AdditionalConsensusStateDigest:
      $ref: '#/components/schemas/Digest'
    SuiTransaction:
      description: A single transaction in a programmable transaction block.
      oneOf:
      - description: A call to either an entry or a public Move function
        type: object
        required:
        - MoveCall
        properties:
          MoveCall:
            $ref: '#/components/schemas/SuiProgrammableMoveCall'
        additionalProperties: false
      - description: '`(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.'
        type: object
        required:
        - TransferObjects
        properties:
          TransferObjects:
            type: array
            items:
            - type: array
              items:
                $ref: '#/components/schemas/SuiArgument'
            - $ref: '#/components/schemas/SuiArgument'
            maxItems: 2
            minItems: 2
        additionalProperties: false
      - description: '`(&mut Coin<T>, Vec<u64>)` -> `Vec<Coin<T>>` It splits off some amounts into a new coins with those amounts'
        type: object
        required:
        - SplitCoins
        properties:
          SplitCoins:
            type: array
            items:
            - $ref: '#/components/schemas/SuiArgument'
            - type: array
              items:
                $ref: '#/components/schemas/SuiArgument'
            maxItems: 2
            minItems: 2
        additionalProperties: false
      - description: '`(&mut Coin<T>, Vec<Coin<T>>)` It merges n-coins into the first coin'
        type: object
        required:
        - MergeCoins
        properties:
          MergeCoins:
            type: array
            items:
            - $ref: '#/components/schemas/SuiArgument'
            - type: array
              items:
                $ref: '#/components/schemas/SuiArgument'
            maxItems: 2
            minItems: 2
        additionalProperties: false
      - description: Publishes a Move package. It takes the package bytes and a list of the package's transitive dependencies to link against on-chain.
        type: object
        required:
        - Publish
        properties:
          Publish:
            type: array
            items:
              $ref: '#/components/schemas/ObjectID'
        additionalProperties: false
      - description: Upgrades a Move package
        type: object
        required:
        - Upgrade
        properties:
          Upgrade:
            type: array
            items:
            - type: array
              items:
                $ref: '#/components/schemas/ObjectID'
            - $ref: '#/components/schemas/ObjectID'
            - $ref: '#/components/schemas/SuiArgument'
            maxItems: 3
            minItems: 3
        additionalProperties: false
      - description: '`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.'
        type: object
        required:
        - MakeMoveVec
        properties:
          MakeMoveVec:
            type: array
            items:
            - type:
              - string
              - 'null'
            - type: array
              items:
                $ref: '#/components/schemas/SuiArgument'
            maxItems: 2
            minItems: 2
        additionalProperties: false
    Base64:
      description: Base64 encoding
      type: string
    MultiSigPublicKey:
      description: The struct that contains the public key used for authenticating a MultiSig.
      type: object
      required:
      - pk_map
      - threshold
      properties:
        pk_map:
          description: A list of public key and its corresponding weight.
          type: array
          items:
            type: array
            items:
            - $ref: '#/components/schemas/PublicKey'
            - type: integer
              format: uint8
              minimum: 0.0
            maxItems: 2
            minItems: 2
        threshold:
          description: If the total weight of the public keys corresponding to verified signatures is larger than threshold, the MultiSig is verified.
          type: integer
          format: uint16
          minimum: 0.0
    SuiMoveAbort:
      type: object
      properties:
        error_code:
          type:
          - integer
          - 'null'
          format: uint64
          minimum: 0.0
        function:
          type:
          - string
          - 'null'
        line:
          type:
          - integer
          - 'null'
          format: uint16
          minimum: 0.0
        module_id:
          type:
          - string
          - 'null'
    ConsensusCommitDigest:
      $ref: '#/components/schemas/Digest'
    ObjectRef:
      type: object
      required:
      - digest
      - objectId
      - version
      properties:
        digest:
          description: Base64 string representing the object digest
          allOf:
          - $ref: '#/components/schemas/ObjectDigest'
        objectId:
          description: Hex code as string representing the object id
          allOf:
          - $ref: '#/components/schemas/ObjectID'
        version:
          description: Object version.
          allOf:
          - $ref: '#/components/schemas/SequenceNumber'
    SuiWithdrawFrom:
      type: string
      enum:
      - sender
      - sponsor
    SuiWithdrawalTypeArg:
      oneOf:
      - type: object
        required:
        - balance
        properties:
          balance:
            $ref: '#/components/schemas/TypeTag'
        additionalProperties: false
    ObjectID:
      $ref: '#/components/schemas/Hex'
    TransactionBlockData:
      oneOf:
      - type: object
        required:
        - gasData
        - messageVersion
        - sender
        - transaction
        properties:
          gasData:
            $ref: '#/components/schemas/GasData'
          messageVersion:
            type: string
            enum:
            - v1
          sender:
            $ref: '#/components/schemas/SuiAddress'
          transaction:
            $ref: '#/components/schemas/TransactionBlockKind'
    ConsensusDeterminedVersionAssignments:
      oneOf:
      - type: object
        required:
        - CancelledTransactions
        properties:
          CancelledTransactions:
            type: array
            items:
              type: array
              items:
              - $ref: '#/components/schemas/TransactionDigest'
              - type: array
                items:
                  type: array
                  items:
                  - $ref: '#/components/schemas/ObjectID'
                  - $ref: '#/components/schemas/SequenceNumber2'
                  maxItems: 2
                  minItems: 2
              maxItems: 2
              minItems: 2
        additionalProperties: false
      - type: object
        required:
        - CancelledTransactionsV2
        properties:
          CancelledTransactionsV2:
            type: array
            items:
              type: array
              items:
              - $ref: '#/components/schemas/TransactionDigest'
              - type: array
                items:
                  type: array
                  items:
                  - type: array
                    items:
                    - $ref: '#/components/schemas/ObjectID'
                    - $ref: '#/components/schemas/SequenceNumber2'
                    maxItems: 2
                    minItems: 2
                  - $ref: '#/components/schemas/SequenceNumber2'
                  maxItems: 2
                  minItems: 2
              maxItems: 2
              minItems: 2
        additionalProperties: false
    SuiReservation:
      oneOf:
      - type: object
        required:
        - maxAmountU64
        properties:
          maxAmountU64:
            $ref: '#/components/schemas/BigInt_for_uint64'
        additionalProperties: false
    SuiCallArg:
      oneOf:
      - type: object
        oneOf:
        - type: object
          required:
          - digest
          - objectId
          - objectType
          - version
          properties:
            digest:
              $ref: '#/components/schemas/ObjectDigest'
            objectId:
              $ref: '#/components/schemas/ObjectID'
            objectType:
              type: string
              enum:
              - immOrOwnedObject
            version:
              $ref: '#/components/schemas/SequenceNumber'
        - type: object
          required:
          - initialSharedVersion
          - mutable
          - objectId
          - objectType
          properties:
            initialSharedVersion:
              $ref: '#/components/schemas/SequenceNumber'
            mutable:
              type: boolean
            objectId:
              $ref: '#/components/schemas/ObjectID'
            objectType:
              type: string
              enum:
              - sharedObject
        - type: object
          required:
          - digest
          - objectId
          - objectType
          - version
          properties:
            digest:
              $ref: '#/components/schemas/ObjectDigest'
            objectId:
              $ref: '#/components/schemas/ObjectID'
            objectType:
              type: string
              enum:
              - receiving
            version:
              $ref: '#/components/schemas/SequenceNumber'
        required:
        - type
        properties:
          type:
            type: string
            enum:
            - object
      - type: object
        required:
        - type
        - value
        properties:
          type:
            type: string
            enum:
            - pure
          value:
            $ref: '#/components/schemas/SuiJsonValue'
          valueType:
            default: null
            type:
            - string
            - 'null'
      - type: object
        required:
        - reservation
        - type
        - typeArg
        - withdrawFrom
        properties:
          reservation:
            $ref: '#/components/schemas/SuiReservation'
          type:
            type: string
            enum:
            - fundsWithdrawal
          typeArg:
            $ref: '#/components/schemas/SuiWithdrawalTypeArg'
          withdrawFrom:
            $ref: '#/components/schemas/SuiWithdrawFrom'
    ZkLoginProof:
      description: The struct for zk login proof.
      type: object
      required:
      - a
      - b
      - c
      properties:
        a:
          type: array
          items:
            $ref: '#/components/schemas/Bn254FqElement'
        b:
          type: array
          items:
            type: array
            items:
              $ref: '#/components/schemas/Bn254FqElement'
        c:
          type: array
          items:
            $ref: '#/components/schemas/Bn254FqElement'
    Signature:
      oneOf:
      - type: object
        required:
        - Ed25519SuiSignature
        properties:
          Ed25519SuiSignature:
            $ref: '#/components/schemas/Ed25519SuiSignature'
        additionalProperties: false
      - type: object
        required:
        - Secp256k1SuiSignature
        properties:
          Secp256k1SuiSignature:
            $ref: '#/components/schemas/Secp256k1SuiSignature'
        additionalProperties: false
      - type: object
        required:
        - Secp256r1SuiSignature
        properties:
          Secp256r1SuiSignature:
            $ref: '#/components/schemas/Secp256r1SuiSignature'
        additionalProperties: false
    SuiArgument:
      description: An argument to a transaction in a programmable transaction block
      oneOf:
      - description: The gas coin. The gas coin can only be used by-ref, except for with `TransferObjects`, which can use it by-value.
        type: string
        enum:
        - GasCoin
      - description: One of the input objects or primitive values (from `ProgrammableTransactionBlock` inputs)
        type: object
        required:
        - Input
        properties:
          Input:
            type: integer
            format: uint16
            minimum: 0.0
        additionalProperties: false
      - description: The result of another transaction (from `ProgrammableTransactionBlock` transactions)
        type: object
        required:
        - Result
        properties:
          Result:
            type: integer
            format: uint16
            minimum: 0.0
        additionalProperties: false
      - description: Like a `Result` but it accesses a nested result. Currently, the only usage of this is to access a value from a Move call with multiple return values.
        type: object
        required:
        - NestedResult
        properties:
          NestedResult:
            type: array
            items:
            - type: integer
              format: uint16
              minimum: 0.0
            - type: integer
              format: uint16
              minimum: 0.0
            maxItems: 2
            minItems: 2
        additionalProperties: false
    Secp256r1SuiSignature:
      $ref: '#/components/schemas/Base64'
    ZkLoginInputs:
      description: All inputs required for the zk login proof verification and other public inputs.
      type: object
      required:
      - addressSeed
      - headerBase64
      - issBase64Details
      - proofPoints
      properties:
        addressSeed:
          $ref: '#/components/schemas/Bn254FrElement'
        headerBase64:
          type: string
        issBase64Details:
          $ref: '#/components/schemas/Claim'
        proofPoints:
          $ref: '#/components/schemas/ZkLoginProof'
    Digest:
      description: A representation of a 32 byte digest
      allOf:
      - $ref: '#/components/schemas/Base58'
    SuiAddress:
      $ref: '#/components/schemas/Hex'
    SuiChangeEpoch:
      type: object
      required:
      - computation_charge
      - epoch
      - epoch_start_timestamp_ms
      - storage_charge
      - storage_rebate
      properties:
        computation_charge:
          $ref: '#/components/schemas/BigInt_for_uint64'
        epoch:
          $ref: '#/components/schemas/BigInt_for_uint64'
        epoch_start_timestamp_ms:
          $ref: '#/components/schemas/BigInt_for_uint64'
        storage_charge:
          $ref: '#/components/schemas/BigInt_for_uint64'
        storage_rebate:
          $ref: '#/components/schemas/BigInt_for_uint64'
    TransactionBlockResponse:
      type: object
      required:
      - digest
      properties:
        balanceChanges:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/BalanceChange'
        checkpoint:
          description: The checkpoint number when this transaction was included and hence finalized. This is only returned in the read api, not in the transaction execution api.
          anyOf:
          - $ref: '#/components/schemas/BigInt_for_uint64'
          - type: 'null'
        confirmedLocalExecution:
          type:
          - boolean
          - 'null'
        digest:
          $ref: '#/components/schemas/TransactionDigest'
        effects:
          anyOf:
          - $ref: '#/components/schemas/TransactionBlockEffects'
          - type: 'null'
        errors:
          type: array
          items:
            type: string
        events:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Event'
        objectChanges:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ObjectChange'
        rawEffects:
          type: array
          items:
            type: integer
            format: uint8
            minimum: 0.0
        rawTransaction:
          description: BCS encoded [SenderSignedData] that includes input object references returns empty array if `show_raw_transaction` is false
          allOf:
          - $ref: '#/components/schemas/Base64'
        timestampMs:
          anyOf:
          - $ref: '#/components/schemas/BigInt_for_uint64'
          - type: 'null'
        transaction:
          description: Transaction input data
          anyOf:
          - $ref: '#/components/schemas/TransactionBlock'
          - type: 'null'
    MultiSigLegacy:
      description: Deprecated, use [struct MultiSig] instead. The struct that contains signatures and public keys necessary for authenticating a MultiSigLegacy.
      type: object
      required:
      - bitmap
      - multisig_pk
      - sigs
      properties:
        bitmap:
          description: A bitmap that indicates the position of which public key the signature should be authenticated with.
          allOf:
          - $ref: '#/components/schemas/Base64'
        multisig_pk:
          description: The public key encoded with each public key with its signature scheme used along with the corresponding weight.
          allOf:
          - $ref: '#/components/schemas/MultiSigPublicKeyLegacy'
        sigs:
          description: The plain signature encoded with signature scheme.
          type: array
          items:
            $ref: '#/components/schemas/CompressedSignature'
    CheckpointDigest:
      description: Representation of a Checkpoint's digest
      allOf:
      - $ref: '#/components/schemas/Digest'
    AccumulatorEvent:
      type: object
      required:
      - accumulatorObj
      - address
      - operation
      - ty
      - value
      properties:
        accumulatorObj:
          $ref: '#/components/schemas/ObjectID'
        address:
          $ref: '#/components/schemas/SuiAddress'
        operation:
          $ref: '#/components/schemas/AccumulatorOperation'
        ty:
          $ref: '#/components/schemas/TypeTag'
        value:
          $ref: '#/components/schemas/AccumulatorValue'
    DryRunTransactionBlockResponse:
      type: object
      required:
      - balanceChanges
      - effects
      - events
      - input
      - objectChanges
      properties:
        balanceChanges:
          type: array
          items:
            $ref: '#/components/schemas/BalanceChange'
        effects:
          $ref: '#/components/schemas/TransactionBlockEffects'
        events:
          type: array
          items:
            $ref: '#/components/schemas/Event'
        executionErrorSource:
          type:
          - string
          - 'null'
        input:
          $ref: '#/components/schemas/TransactionBlockData'
        objectChanges:
          type: array
          items:
            $ref: '#/components/schemas/ObjectChange'
        suggestedGasPrice:
          anyOf:
          - $ref: '#/components/schemas/BigInt_for_uint64'
          - type: 'null'
    MultiSig:
      description: The struct that contains signatures and public keys necessary for authenticating a MultiSig.
      type: object
      required:
      - bitmap
      - multisig_pk
      - sigs
      properties:
        bitmap:
          description: A bitmap that indicates the position of which public key the signature should be authenticated with.
          type: integer
          format: uint16
          minimum: 0.0
        multisig_pk:
          description: The public key encoded with each public key with its signature scheme used along with the corresponding weight.
          allOf:
          - $ref: '#/components/schemas/MultiSigPublicKey'
        sigs:
          description: The plain signature encoded with signature scheme.
          type: array
          items:
            $ref: '#/components/schemas/CompressedSignature'
    Claim:
      description: A claim consists of value and index_mod_4.
      type: object
      required:
      - indexMod4
      - value
      properties:
        indexMod4:
          type: integer
          format: uint8
          minimum: 0.0
        value:
          type: string
    PasskeyAuthenticator:
      description: An passkey authenticator with parsed fields. See field defition below. Can be initialized from [struct RawPasskeyAuthenticator].
      type: object
      required:
      - authenticator_data
      - client_data_json
      properties:
        authenticator_data:
          description: '`authenticatorData` is a bytearray that encodes [Authenticator Data](https://www.w3.org/TR/webauthn-2/#sctn-authenticator-data) structure returned by the authenticator attestation response as is.'
          type: array
          items:
            type: integer
            format: uint8
            minimum: 0.0
        client_data_json:
          description: '`clientDataJSON` contains a JSON-compatible UTF-8 encoded string of the client data which is passed to the authenticator by the client during the authentication request (see [CollectedClientData](https://www.w3.org/TR/webauthn-2/#dictdef-collectedclientdata))'
          type: string
    EventID:
      description: Unique ID of a Sui Event, the ID is a combination of transaction digest and event seq number.
      type: object
      required:
      - eventSeq
      - txDigest
      properties:
        eventSeq:
          $ref: '#/components/schemas/BigInt_for_uint64'
        txDigest:
          $ref: '#/components/schemas/TransactionDigest'
    PasskeyAuthenticatorAsBytes:
      $ref: '#/components/schemas/Base64'
    SequenceNumber:
      type: integer
      format: uint64
      minimum: 0.0
    GasData:
      type: object
      required:
      - budget
      - owner
      - payment
      - price
      properties:
        budget:
          $ref: '#/components/schemas/BigInt_for_uint64'
        owner:
          $ref: '#/components/schemas/SuiAddress'
        payment:
          type: array
          items:
            $ref: '#/components/schemas/ObjectRef'
        price:
          $ref: '#/components/schemas/BigInt_for_uint64'
    SequenceNumber2:
      $ref: '#/components/schemas/BigInt_for_uint64'
    SuiProgrammableMoveCall:
      description: The transaction for calling a Move function, either an entry function or a public function (which cannot return references).
      type: object
      required:
      - function
      - module
      - package
      properties:
        arguments:
          description: The arguments to the function.
          type: array
          items:
            $ref: '#/components/schemas/SuiArgument'
        function:
          description: The function to be called.
          type: string
        module:
          description: The specific module in the package containing the function.
          type: string
        package:
          description: The package containing the module and function.
          allOf:
          - $ref: '#/components/schemas/ObjectID'
        type_arguments:
          description: The type arguments to the function.
          type: array
          items:
            type: string
    GasCostSummary:
      description: 'Summary of the charges in a transaction. Storage is charged independently of computation. There are 3 pa

# --- truncated at 32 KB (66 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sui/refs/heads/main/openapi/sui-write-api-api-openapi.yml