openapi: 3.0.0 info: title: Aptos Node API description: The Aptos Node API is a RESTful API for client applications to interact with the Aptos blockchain. version: 1.0.1 contact: name: Aptos Labs url: https://github.com/aptos-labs/aptos-core license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html servers: - url: /v1 tags: - name: Accounts description: Access to account resources and modules - name: Blocks description: Access to blocks - name: Events description: Access to events - name: General description: General information - name: Tables description: Access to tables - name: Transactions description: Access to transactions paths: /accounts/{address}: get: tags: - Accounts summary: Get account description: Return high level information about an account such as its sequence number. parameters: - name: address schema: $ref: '#/components/schemas/Address' in: path required: true deprecated: false - name: ledger_version schema: $ref: '#/components/schemas/U64' in: query required: false deprecated: false responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/AccountData' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '404': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: get_account /accounts/{address}/resources: get: tags: - Accounts summary: Get account resources description: |- This endpoint returns all account resources at a given address at a specific ledger version (AKA transaction version). If the ledger version is not specified in the request, the latest ledger version is used. The Aptos nodes prune account state history, via a configurable time window (link). If the requested data has been pruned, the server responds with a 404. parameters: - name: address schema: $ref: '#/components/schemas/Address' in: path required: true deprecated: false - name: ledger_version schema: $ref: '#/components/schemas/U64' in: query required: false deprecated: false responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/MoveResource' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '404': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: get_account_resources /accounts/{address}/modules: get: tags: - Accounts summary: Get account modules description: |- This endpoint returns all account modules at a given address at a specific ledger version (AKA transaction version). If the ledger version is not specified in the request, the latest ledger version is used. The Aptos nodes prune account state history, via a configurable time window (link). If the requested data has been pruned, the server responds with a 404. parameters: - name: address schema: $ref: '#/components/schemas/Address' in: path required: true deprecated: false - name: ledger_version schema: $ref: '#/components/schemas/U64' in: query required: false deprecated: false responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/MoveModuleBytecode' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '404': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: get_account_modules /spec: get: tags: - General summary: Show OpenAPI explorer description: |- Provides a UI that you can use to explore the API. You can also retrieve the API directly at `/spec.yaml` and `/spec.json`. responses: '200': description: '' content: text/html: schema: type: string operationId: spec /-/healthy: get: tags: - General summary: Check basic node health description: |- By default this endpoint just checks that it can get the latest ledger info and then returns 200. If the duration_secs param is provided, this endpoint will return a 200 if the following condition is true: `server_latest_ledger_info_timestamp >= server_current_time_timestamp - duration_secs` parameters: - name: duration_secs schema: type: integer format: uint32 in: query required: false deprecated: false responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/HealthCheckSuccess' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: healthy /blocks/by_height/{block_height}: get: tags: - Blocks summary: Get blocks by height description: |- This endpoint allows you to get the transactions in a block and the corresponding block information. parameters: - name: block_height schema: type: integer format: uint64 in: path required: true deprecated: false - name: with_transactions schema: type: boolean in: query required: false deprecated: false responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Block' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '404': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: get_block_by_height /events/{event_key}: get: tags: - Events summary: Get events by event key description: |- This endpoint allows you to get a list of events of a specific type as identified by its event key, which is a globally unique ID. parameters: - name: event_key schema: $ref: '#/components/schemas/EventKey' in: path required: true deprecated: false - name: start schema: $ref: '#/components/schemas/U64' in: query required: false deprecated: false - name: limit schema: type: integer format: uint16 in: query required: false deprecated: false responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/VersionedEvent' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '404': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: get_events_by_event_key /accounts/{address}/events/{event_handle}/{field_name}: get: tags: - Events summary: Get events by event handle description: |- This API extracts event key from the account resource identified by the `event_handle_struct` and `field_name`, then returns events identified by the event key. parameters: - name: address schema: $ref: '#/components/schemas/Address' in: path required: true deprecated: false - name: event_handle schema: $ref: '#/components/schemas/MoveStructTag' in: path required: true deprecated: false - name: field_name schema: $ref: '#/components/schemas/IdentifierWrapper' in: path required: true deprecated: false - name: start schema: $ref: '#/components/schemas/U64' in: query required: false deprecated: false - name: limit schema: type: integer format: uint16 in: query required: false deprecated: false responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/VersionedEvent' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '404': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: get_events_by_event_handle /: get: tags: - General summary: Get ledger info description: |- Get the latest ledger information, including data such as chain ID, role type, ledger versions, epoch, etc. responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/IndexResponse' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: get_ledger_info /accounts/{address}/resource/{resource_type}: get: tags: - Accounts summary: Get specific account resource description: |- This endpoint returns the resource of a specific type residing at a given account at a specified ledger version (AKA transaction version). If the ledger version is not specified in the request, the latest ledger version is used. The Aptos nodes prune account state history, via a configurable time window (link). If the requested data has been pruned, the server responds with a 404. parameters: - name: address schema: $ref: '#/components/schemas/Address' in: path required: true deprecated: false - name: resource_type schema: $ref: '#/components/schemas/MoveStructTag' in: path required: true deprecated: false - name: ledger_version schema: $ref: '#/components/schemas/U64' in: query required: false deprecated: false responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/MoveResource' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '404': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: get_account_resource /accounts/{address}/module/{module_name}: get: tags: - Accounts summary: Get specific account module description: |- This endpoint returns the module with a specific name residing at a given account at a specified ledger version (AKA transaction version). If the ledger version is not specified in the request, the latest ledger version is used. The Aptos nodes prune account state history, via a configurable time window (link). If the requested data has been pruned, the server responds with a 404. parameters: - name: address schema: $ref: '#/components/schemas/Address' in: path required: true deprecated: false - name: module_name schema: $ref: '#/components/schemas/IdentifierWrapper' in: path required: true deprecated: false - name: ledger_version schema: $ref: '#/components/schemas/U64' in: query required: false deprecated: false responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/MoveModuleBytecode' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '404': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: get_account_module /tables/{table_handle}/item: post: tags: - Tables summary: Get table item description: |- Get a table item from the table identified by {table_handle} in the path and the "key" (TableItemRequest) provided in the request body. This is a POST endpoint because the "key" for requesting a specific table item (TableItemRequest) could be quite complex, as each of its fields could themselves be composed of other structs. This makes it impractical to express using query params, meaning GET isn't an option. parameters: - name: table_handle schema: $ref: '#/components/schemas/U128' in: path required: true deprecated: false - name: ledger_version schema: $ref: '#/components/schemas/U64' in: query required: false deprecated: false requestBody: content: application/json: schema: $ref: '#/components/schemas/TableItemRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/MoveValue' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '404': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: get_table_item /transactions: get: tags: - Transactions summary: Get transactions description: |- Get on-chain (meaning, committed) transactions. You may specify from when you want the transactions and how to include in the response. parameters: - name: start schema: $ref: '#/components/schemas/U64' in: query required: false deprecated: false - name: limit schema: type: integer format: uint16 in: query required: false deprecated: false responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/Transaction' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '404': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: get_transactions post: tags: - Transactions summary: Submit transaction description: |- This endpoint accepts transaction submissions in two formats. To submit a transaction as JSON, you must submit a SubmitTransactionRequest. To build this request, do the following: 1. Encode the transaction as BCS. If you are using a language that has native BCS support, make sure of that library. If not, you may take advantage of /transactions/encode_submission. When using this endpoint, make sure you trust the node you're talking to, as it is possible they could manipulate your request. 2. Sign the encoded transaction and use it to create a TransactionSignature. 3. Submit the request. Make sure to use the "application/json" Content-Type. To submit a transaction as BCS, you must submit a SignedTransaction encoded as BCS. See SignedTransaction in types/src/transaction/mod.rs. requestBody: content: application/json: schema: $ref: '#/components/schemas/SubmitTransactionRequest' application/x.aptos.signed_transaction+bcs: schema: type: array items: type: integer format: uint8 required: true responses: '202': description: '' content: application/json: schema: $ref: '#/components/schemas/PendingTransaction' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '413': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '507': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: submit_transaction /transactions/by_hash/{txn_hash}: get: tags: - Transactions summary: Get transaction by hash description: |- Look up a transaction by its hash. This is the same hash that is returned by the API when submitting a transaction (see PendingTransaction). When given a transaction hash, the server first looks for the transaction in storage (on-chain, committed). If no on-chain transaction is found, it looks the transaction up by hash in the mempool (pending, not yet committed). To create a transaction hash by yourself, do the following: 1. Hash message bytes: "RawTransaction" bytes + BCS bytes of [Transaction](https://aptos-labs.github.io/aptos-core/aptos_types/transaction/enum.Transaction.html). 2. Apply hash algorithm `SHA3-256` to the hash message bytes. 3. Hex-encode the hash bytes with `0x` prefix. parameters: - name: txn_hash schema: $ref: '#/components/schemas/HashValue' in: path required: true deprecated: false responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Transaction' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '404': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: get_transaction_by_hash /transactions/by_version/{txn_version}: get: tags: - Transactions summary: Get transaction by version description: todo parameters: - name: txn_version schema: $ref: '#/components/schemas/U64' in: path required: true deprecated: false responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Transaction' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '404': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: get_transaction_by_version /accounts/{address}/transactions: get: tags: - Transactions summary: Get account transactions description: todo parameters: - name: address schema: $ref: '#/components/schemas/Address' in: path required: true deprecated: false - name: start schema: $ref: '#/components/schemas/U64' in: query required: false deprecated: false - name: limit schema: type: integer format: uint16 in: query required: false deprecated: false responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/Transaction' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '404': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: get_account_transactions /transactions/simulate: post: tags: - Transactions summary: Simulate transaction description: |- Simulate submitting a transaction. To use this, you must: - Create a SignedTransaction with a zero-padded signature. - Submit a SubmitTransactionRequest containing a UserTransactionRequest containing that signature. To use this endpoint with BCS, you must submit a SignedTransaction encoded as BCS. See SignedTransaction in types/src/transaction/mod.rs. requestBody: content: application/json: schema: $ref: '#/components/schemas/SubmitTransactionRequest' application/x.aptos.signed_transaction+bcs: schema: type: array items: type: integer format: uint8 required: true responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/UserTransaction' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '413': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '507': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: simulate_transaction /transactions/encode_submission: post: tags: - Transactions summary: Encode submission description: |- This endpoint accepts an EncodeSubmissionRequest, which internally is a UserTransactionRequestInner (and optionally secondary signers) encoded as JSON, validates the request format, and then returns that request encoded in BCS. The client can then use this to create a transaction signature to be used in a SubmitTransactionRequest, which it then passes to the /transactions POST endpoint. To be clear, this endpoint makes it possible to submit transaction requests to the API from languages that do not have library support for BCS. If you are using an SDK that has BCS support, such as the official Rust, TypeScript, or Python SDKs, you do not need to use this endpoint. To sign a message using the response from this endpoint: - Decode the hex encoded string in the response to bytes. - Sign the bytes to create the signature. - Use that as the signature field in something like Ed25519Signature, which you then use to build a TransactionSignature. requestBody: content: application/json: schema: $ref: '#/components/schemas/EncodeSubmissionRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/HexEncodedBytes' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: required: true deprecated: false schema: type: integer format: uint16 X-APTOS-LEDGER-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: required: true deprecated: false schema: type: integer format: uint64 '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' operationId: encode_submission components: schemas: AccountData: type: object required: - sequence_number - authentication_key properties: sequence_number: $ref: '#/components/schemas/U64' authentication_key: $ref: '#/components/schemas/HexEncodedBytes' AccountSignature: type: object oneOf: - $ref: '#/components/schemas/AccountSignature_Ed25519Signature' - $ref: '#/components/schemas/AccountSignature_MultiEd25519Signature' discriminator: propertyName: type mapping: ed25519_signature: '#/components/schemas/AccountSignature_Ed25519Signature' multi_ed25519_signature: '#/components/schemas/AccountSignature_MultiEd25519Signature' AccountSignature_Ed25519Signature: allOf: - type: object required: - type properties: type: type: string example: ed25519_signature - $ref: '#/components/schemas/Ed25519Signature' AccountSignature_MultiEd25519Signature: allOf: - type: object required: - type properties: type: type: string example: multi_ed25519_signature - $ref: '#/components/schemas/MultiEd25519Signature' Address: type: string format: hex description: Hex encoded 32 byte Aptos account address example: '0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 ' AptosError: type: object description: |- This is the generic struct we use for all API errors, it contains a string message and an Aptos API specific error code. required: - message properties: message: type: string error_code: $ref: '#/components/schemas/AptosErrorCode' aptos_ledger_version: $ref: '#/components/schemas/U64' AptosErrorCode: type: string description: |- These codes provide more granular error information beyond just the HTTP status code of the response. enum: - read_from_storage_error - invalid_bcs_in_storage_error - bcs_serialization_error - invalid_start_param - invalid_limit_param Block: type: object required: - block_height - block_hash - block_timestamp - first_version - last_version properties: block_height: $ref: '#/components/schemas/U64' block_hash: $ref: '#/components/schemas/HashValue' block_timestamp: $ref: '#/components/schemas/U64' first_version: $ref: '#/components/schemas/U64' last_version: $ref: '#/components/schemas/U64' transactions: type: array items: $ref: '#/components/schemas/Transaction' BlockMetadataTransaction: type: object required: - version - hash - state_root_hash - event_root_hash - gas_used - success - vm_status - accumulator_root_hash - changes - id - epoch - round - events - previous_block_votes - proposer - failed_proposer_indices - timestamp properties: version: $ref: '#/components/schemas/U64' hash: $ref: '#/components/schemas/HashValue' state_root_hash: $ref: '#/components/schemas/HashValue' event_root_hash: $ref: '#/components/schemas/HashValue' gas_used: $ref: '#/components/schemas/U64' success: type: boolean vm_status: type: string accumulator_root_hash: $ref: '#/components/schemas/HashValue' changes: type: array items: $ref: '#/components/schemas/WriteSetChange' id: $ref: '#/components/schemas/HashValue' epoch: $ref: '#/components/schemas/U64' round: $ref: '#/components/schemas/U64' events: type: array items: $ref: '#/components/schemas/Event' previous_block_votes: type: array items: type: boolean proposer: $ref: '#/components/schemas/Address' failed_proposer_indices: type: array items: type: integer format: uint32 timestamp: $ref: '#/components/schemas/U64' DecodedTableData: type: object required: - key - key_type - value - value_type properties: key: {} key_type: type: string value: {} value_type: type: string DeleteModule: type: object required: - address - state_key_hash - module properties: address: $ref: '#/components/schemas/Address' state_key_hash: type: string module: $ref: '#/components/schemas/MoveModuleId' DeleteResource: type: object required: - address - state_key_hash - resource properties: address: $ref: '#/components/schemas/Address' state_key_hash: type: string resource: $ref: '#/components/schemas/MoveStructTag' DeleteTableItem: type: object required: - state_key_hash - handle - key properties: state_key_hash: type: string handle: $ref: '#/components/schemas/HexEncodedBytes' key: $ref: '#/components/schemas/HexEncodedBytes' data: $ref: '#/components/schemas/DeletedTableData' DeletedTableData: type: object required: - key - key_type properties: key: {} key_type: type: string DirectWriteSet: type: object required: - changes - events properties: changes: type: array items: $ref: '#/components/schemas/WriteSetChange' events: type: array items: $ref: '#/components/schemas/Event' Ed25519Signature: type: object required: - public_key - signature properties: public_key: $ref: '#/components/schemas/HexEncodedBytes' signature: $ref: '#/components/schemas/HexEncodedBytes' EncodeSubmissionRequest: type: object required: - sender - sequence_number - max_gas_amount - gas_unit_price - expiration_timestamp_secs - payload properties: sender: $ref: '#/components/schemas/Address' sequence_number: $ref: '#/components/schemas/U64' max_gas_amount: $ref: '#/components/schemas/U64' gas_unit_price: $ref: '#/components/schemas/U64' expiration_timestamp_secs: $ref: '#/components/schemas/U64' payload: $ref: '#/components/schemas/TransactionPayload' secondary_signers: type: array items: $ref: '#/components/schemas/Address' Event: type: object required: - key - sequence_number - type - data properties: key: $ref: '#/components/schemas/EventKey' sequence_number: $ref: '#/components/schemas/U64' type: $ref: '#/components/schemas/MoveType' data: {} EventKey: type: string format: hex description: | Event key is a global index for an event stream. It is hex-encoded BCS bytes of `EventHandle` `guid` field value, which is a combination of a `uint64` creation number and account address (without trimming leading zeros). For example, event key `0x000000000000000088fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1` is combined by the following 2 parts: 1. `0000000000000000`: `uint64` representation of `0`. 2. `88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1`: 32 bytes of account address. example: '0x000000000000000088fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 ' GenesisPayload: type: object oneOf: - $ref: '#/components/schemas/GenesisPayload_WriteSetPayload' discriminator: propertyName: type mapping: write_set_payload: '#/components/schemas/GenesisPayload_WriteSetPayload' GenesisPayload_WriteSetPayload: allOf: - type: object required: - type properties: type: type: string example: write_set_payload - $ref: '#/components/schemas/WriteSetPayload' GenesisTransaction: type: object required: - version - hash - state_root_hash - event_root_hash - gas_used - success - vm_status - accumulator_root_hash - changes - payload - events properties: version: $ref: '#/components/schemas/U64' hash: $ref: '#/components/schemas/HashValue' state_root_hash: $ref: '#/components/schemas/HashValue' event_root_hash: $ref: '#/components/schemas/HashValue' gas_used: $ref: '#/components/schemas/U64' success: type: boolean vm_status: type: string accumulator_root_hash: $ref: '#/components/schemas/HashValue' changes: type: array items: $ref: '#/components/schemas/WriteSetChange' payload: $ref: '#/components/schemas/GenesisPayload' events: type: array items: $ref: '#/components/schemas/Event' HashValue: type: string HealthCheckSuccess: type: object required: - message properties: message: type: string HexEncodedBytes: type: string format: hex description: | All bytes (Vec) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros. example: '0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 ' IdentifierWrapper: type: string IndexResponse: type: object description: |- The struct holding all data returned to the client by the index endpoint (i.e., GET "/"). required: - chain_id - epoch - ledger_version - oldest_ledger_version - block_height - oldest_block_height - ledger_timestamp - node_role properties: chain_id: type: integer format: uint8 epoch: $ref: '#/components/schemas/U64' ledger_version: $ref: '#/components/schemas/U64' oldest_ledger_version: $ref: '#/components/schemas/U64' block_height: $ref: '#/components/schemas/U64' oldest_block_height: $ref: '#/components/schemas/U64' ledger_timestamp: $ref: '#/components/schemas/U64' node_role: $ref: '#/components/schemas/RoleType' ModuleBundlePayload: type: object required: - modules properties: modules: type: array items: $ref: '#/components/schemas/MoveModuleBytecode' MoveAbility: type: string MoveFunction: type: object required: - name - visibility - is_entry - generic_type_params - params - return properties: name: $ref: '#/components/schemas/IdentifierWrapper' visibility: $ref: '#/components/schemas/MoveFunctionVisibility' is_entry: type: boolean generic_type_params: type: array items: $ref: '#/components/schemas/MoveFunctionGenericTypeParam' params: type: array items: $ref: '#/components/schemas/MoveType' return: type: array items: $ref: '#/components/schemas/MoveType' MoveFunctionGenericTypeParam: type: object required: - constraints properties: constraints: type: array items: $ref: '#/components/schemas/MoveAbility' MoveFunctionVisibility: type: string enum: - private - public - friend MoveModule: type: object required: - address - name - friends - exposed_functions - structs properties: address: $ref: '#/components/schemas/Address' name: $ref: '#/components/schemas/IdentifierWrapper' friends: type: array items: $ref: '#/components/schemas/MoveModuleId' exposed_functions: type: array items: $ref: '#/components/schemas/MoveFunction' structs: type: array items: $ref: '#/components/schemas/MoveStruct' MoveModuleBytecode: type: object required: - bytecode properties: bytecode: $ref: '#/components/schemas/HexEncodedBytes' abi: $ref: '#/components/schemas/MoveModule' MoveModuleId: type: string description: | Move module id is a string representation of Move module. Format: `{address}::{module name}` `address` should be hex-encoded 32 byte account address that is prefixed with `0x`. Module name is case-sensitive. example: 0x1::aptos_coin MoveResource: type: object required: - type - data properties: type: $ref: '#/components/schemas/MoveStructTag' data: $ref: '#/components/schemas/MoveStructValue' MoveScriptBytecode: type: object required: - bytecode properties: bytecode: $ref: '#/components/schemas/HexEncodedBytes' abi: $ref: '#/components/schemas/MoveFunction' MoveStruct: type: object required: - name - is_native - abilities - generic_type_params - fields properties: name: $ref: '#/components/schemas/IdentifierWrapper' is_native: type: boolean abilities: type: array items: $ref: '#/components/schemas/MoveAbility' generic_type_params: type: array items: $ref: '#/components/schemas/MoveStructGenericTypeParam' fields: type: array items: $ref: '#/components/schemas/MoveStructField' MoveStructField: type: object required: - name - type properties: name: $ref: '#/components/schemas/IdentifierWrapper' type: $ref: '#/components/schemas/MoveType' MoveStructGenericTypeParam: type: object required: - constraints properties: constraints: type: array items: $ref: '#/components/schemas/MoveAbility' MoveStructTag: type: string description: | String representation of a MoveStructTag (on-chain Move struct type). This exists so you can specify MoveStructTags as path / query parameters, e.g. for get_events_by_event_handle. It is a combination of: 1. `move_module_address`, `module_name` and `struct_name`, all joined by `::` 2. `struct generic type parameters` joined by `, ` Examples: * `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>` * `0x1::account::Account` Note: 1. Empty chars should be ignored when comparing 2 struct tag ids. 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding). See [doc](https://aptos.dev/concepts/basics-accounts) for more details. example: 0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin> pattern: ^0x[0-9a-zA-Z:_<>]+$ MoveStructValue: type: object description: | This is a JSON representation of some data within an account resource. More specifically, it is a map of strings to arbitrary JSON values / objects, where the keys are top level fields within the given resource. To clarify, you might query for 0x1::account::Account and see the example data. Move `bool` type value is serialized into `boolean`. Move `u8` type value is serialized into `integer`. Move `u64` and `u128` type value is serialized into `string`. Move `address` type value (32 byte Aptos account address) is serialized into a HexEncodedBytes string. For example: - `0x1` - `0x1668f6be25668c1a17cd8caf6b8d2f25` Move `vector` type value is serialized into `array`, except `vector` which is serialized into a HexEncodedBytes string with `0x` prefix. For example: - `vector{255, 255}` => `["255", "255"]` - `vector{255, 255}` => `0xffff` Move `struct` type value is serialized into `object` that looks like this (except some Move stdlib types, see the following section): ```json { field1_name: field1_value, field2_name: field2_value, ...... } ``` For example: `{ "created": "0xa550c18", "role_id": "0" }` **Special serialization for Move stdlib types**: - [0x1::string::String](https://github.com/aptos-labs/aptos-core/blob/main/language/move-stdlib/docs/ascii.md) is serialized into `string`. For example, struct value `0x1::string::String{bytes: b"Hello World!"}` is serialized as `"Hello World!"` in JSON. example: authentication_key: '0x0000000000000000000000000000000000000000000000000000000000000001' coin_register_events: counter: '0' guid: id: addr: '0x1' creation_num: '0' self_address: '0x1' sequence_number: '0' MoveType: type: string description: | String representation of an on-chain Move type tag that is exposed in transaction payload. Values: - bool - u8 - u64 - u128 - address - signer - vector: `vector<{non-reference MoveTypeId}>` - struct: `{address}::{module_name}::{struct_name}::<{generic types}>` Vector type value examples: - `vector` - `vector>` - `vector<0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>>` Struct type value examples: - `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin> - `0x1::account::Account` Note: 1. Empty chars should be ignored when comparing 2 struct tag ids. 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding). pattern: ^(bool|u8|u64|u128|address|signer|vector<.+>|0x[0-9a-zA-Z:_<, >]+)$ MoveValue: type: object anyOf: - type: integer format: uint8 - $ref: '#/components/schemas/U64' - $ref: '#/components/schemas/U128' - type: boolean - $ref: '#/components/schemas/Address' - type: array items: $ref: '#/components/schemas/MoveValue' - $ref: '#/components/schemas/HexEncodedBytes' - $ref: '#/components/schemas/MoveStructValue' - type: string MultiAgentSignature: type: object required: - sender - secondary_signer_addresses - secondary_signers properties: sender: $ref: '#/components/schemas/AccountSignature' secondary_signer_addresses: type: array items: $ref: '#/components/schemas/Address' secondary_signers: type: array items: $ref: '#/components/schemas/AccountSignature' MultiEd25519Signature: type: object required: - public_keys - signatures - threshold - bitmap properties: public_keys: type: array items: $ref: '#/components/schemas/HexEncodedBytes' signatures: type: array items: $ref: '#/components/schemas/HexEncodedBytes' threshold: type: integer format: uint8 bitmap: $ref: '#/components/schemas/HexEncodedBytes' PendingTransaction: type: object required: - hash - sender - sequence_number - max_gas_amount - gas_unit_price - expiration_timestamp_secs - payload properties: hash: $ref: '#/components/schemas/HashValue' sender: $ref: '#/components/schemas/Address' sequence_number: $ref: '#/components/schemas/U64' max_gas_amount: $ref: '#/components/schemas/U64' gas_unit_price: $ref: '#/components/schemas/U64' expiration_timestamp_secs: $ref: '#/components/schemas/U64' payload: $ref: '#/components/schemas/TransactionPayload' signature: $ref: '#/components/schemas/TransactionSignature' RoleType: type: string enum: - validator - full_node ScriptFunctionId: type: string description: | Script function id is string representation of a script function defined on-chain. Format: `{address}::{module name}::{function name}` Both `module name` and `function name` are case-sensitive. example: 0x1::aptos_coin::transfer ScriptFunctionPayload: type: object required: - function - type_arguments - arguments properties: function: $ref: '#/components/schemas/ScriptFunctionId' type_arguments: type: array items: $ref: '#/components/schemas/MoveType' arguments: type: array items: {} ScriptPayload: type: object required: - code - type_arguments - arguments properties: code: $ref: '#/components/schemas/MoveScriptBytecode' type_arguments: type: array items: $ref: '#/components/schemas/MoveType' arguments: type: array items: {} ScriptWriteSet: type: object required: - execute_as - script properties: execute_as: $ref: '#/components/schemas/Address' script: $ref: '#/components/schemas/ScriptPayload' StateCheckpointTransaction: type: object required: - version - hash - state_root_hash - event_root_hash - gas_used - success - vm_status - accumulator_root_hash - changes - timestamp properties: version: $ref: '#/components/schemas/U64' hash: $ref: '#/components/schemas/HashValue' state_root_hash: $ref: '#/components/schemas/HashValue' event_root_hash: $ref: '#/components/schemas/HashValue' gas_used: $ref: '#/components/schemas/U64' success: type: boolean vm_status: type: string accumulator_root_hash: $ref: '#/components/schemas/HashValue' changes: type: array items: $ref: '#/components/schemas/WriteSetChange' timestamp: $ref: '#/components/schemas/U64' SubmitTransactionRequest: type: object required: - sender - sequence_number - max_gas_amount - gas_unit_price - expiration_timestamp_secs - payload - signature properties: sender: $ref: '#/components/schemas/Address' sequence_number: $ref: '#/components/schemas/U64' max_gas_amount: $ref: '#/components/schemas/U64' gas_unit_price: $ref: '#/components/schemas/U64' expiration_timestamp_secs: $ref: '#/components/schemas/U64' payload: $ref: '#/components/schemas/TransactionPayload' signature: $ref: '#/components/schemas/TransactionSignature' TableItemRequest: type: object required: - key_type - value_type - key properties: key_type: $ref: '#/components/schemas/MoveType' value_type: $ref: '#/components/schemas/MoveType' key: {} Transaction: type: object oneOf: - $ref: '#/components/schemas/Transaction_PendingTransaction' - $ref: '#/components/schemas/Transaction_UserTransaction' - $ref: '#/components/schemas/Transaction_GenesisTransaction' - $ref: '#/components/schemas/Transaction_BlockMetadataTransaction' - $ref: '#/components/schemas/Transaction_StateCheckpointTransaction' discriminator: propertyName: type mapping: pending_transaction: '#/components/schemas/Transaction_PendingTransaction' user_transaction: '#/components/schemas/Transaction_UserTransaction' genesis_transaction: '#/components/schemas/Transaction_GenesisTransaction' block_metadata_transaction: '#/components/schemas/Transaction_BlockMetadataTransaction' state_checkpoint_transaction: '#/components/schemas/Transaction_StateCheckpointTransaction' TransactionPayload: type: object oneOf: - $ref: '#/components/schemas/TransactionPayload_ScriptFunctionPayload' - $ref: '#/components/schemas/TransactionPayload_ScriptPayload' - $ref: '#/components/schemas/TransactionPayload_ModuleBundlePayload' - $ref: '#/components/schemas/TransactionPayload_WriteSetPayload' discriminator: propertyName: type mapping: script_function_payload: '#/components/schemas/TransactionPayload_ScriptFunctionPayload' script_payload: '#/components/schemas/TransactionPayload_ScriptPayload' module_bundle_payload: '#/components/schemas/TransactionPayload_ModuleBundlePayload' write_set_payload: '#/components/schemas/TransactionPayload_WriteSetPayload' TransactionPayload_ModuleBundlePayload: allOf: - type: object required: - type properties: type: type: string example: module_bundle_payload - $ref: '#/components/schemas/ModuleBundlePayload' TransactionPayload_ScriptFunctionPayload: allOf: - type: object required: - type properties: type: type: string example: script_function_payload - $ref: '#/components/schemas/ScriptFunctionPayload' TransactionPayload_ScriptPayload: allOf: - type: object required: - type properties: type: type: string example: script_payload - $ref: '#/components/schemas/ScriptPayload' TransactionPayload_WriteSetPayload: allOf: - type: object required: - type properties: type: type: string example: write_set_payload - $ref: '#/components/schemas/WriteSetPayload' TransactionSignature: type: object oneOf: - $ref: '#/components/schemas/TransactionSignature_Ed25519Signature' - $ref: '#/components/schemas/TransactionSignature_MultiEd25519Signature' - $ref: '#/components/schemas/TransactionSignature_MultiAgentSignature' discriminator: propertyName: type mapping: ed25519_signature: '#/components/schemas/TransactionSignature_Ed25519Signature' multi_ed25519_signature: '#/components/schemas/TransactionSignature_MultiEd25519Signature' multi_agent_signature: '#/components/schemas/TransactionSignature_MultiAgentSignature' TransactionSignature_Ed25519Signature: allOf: - type: object required: - type properties: type: type: string example: ed25519_signature - $ref: '#/components/schemas/Ed25519Signature' TransactionSignature_MultiAgentSignature: allOf: - type: object required: - type properties: type: type: string example: multi_agent_signature - $ref: '#/components/schemas/MultiAgentSignature' TransactionSignature_MultiEd25519Signature: allOf: - type: object required: - type properties: type: type: string example: multi_ed25519_signature - $ref: '#/components/schemas/MultiEd25519Signature' Transaction_BlockMetadataTransaction: allOf: - type: object required: - type properties: type: type: string example: block_metadata_transaction - $ref: '#/components/schemas/BlockMetadataTransaction' Transaction_GenesisTransaction: allOf: - type: object required: - type properties: type: type: string example: genesis_transaction - $ref: '#/components/schemas/GenesisTransaction' Transaction_PendingTransaction: allOf: - type: object required: - type properties: type: type: string example: pending_transaction - $ref: '#/components/schemas/PendingTransaction' Transaction_StateCheckpointTransaction: allOf: - type: object required: - type properties: type: type: string example: state_checkpoint_transaction - $ref: '#/components/schemas/StateCheckpointTransaction' Transaction_UserTransaction: allOf: - type: object required: - type properties: type: type: string example: user_transaction - $ref: '#/components/schemas/UserTransaction' U128: type: string format: uint64 description: | A string containing a 128-bit unsigned integer. We represent u128 values as a string to ensure compatability with languages such as JavaScript that do not parse u64s in JSON natively. example: '340282366920938463463374607431768211454' U64: type: string format: uint64 description: | A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatability with languages such as JavaScript that do not parse u64s in JSON natively. example: '32425224034' UserTransaction: type: object required: - version - hash - state_root_hash - event_root_hash - gas_used - success - vm_status - accumulator_root_hash - changes - sender - sequence_number - max_gas_amount - gas_unit_price - expiration_timestamp_secs - payload - events - timestamp properties: version: $ref: '#/components/schemas/U64' hash: $ref: '#/components/schemas/HashValue' state_root_hash: $ref: '#/components/schemas/HashValue' event_root_hash: $ref: '#/components/schemas/HashValue' gas_used: $ref: '#/components/schemas/U64' success: type: boolean vm_status: type: string accumulator_root_hash: $ref: '#/components/schemas/HashValue' changes: type: array items: $ref: '#/components/schemas/WriteSetChange' sender: $ref: '#/components/schemas/Address' sequence_number: $ref: '#/components/schemas/U64' max_gas_amount: $ref: '#/components/schemas/U64' gas_unit_price: $ref: '#/components/schemas/U64' expiration_timestamp_secs: $ref: '#/components/schemas/U64' payload: $ref: '#/components/schemas/TransactionPayload' signature: $ref: '#/components/schemas/TransactionSignature' events: type: array items: $ref: '#/components/schemas/Event' timestamp: $ref: '#/components/schemas/U64' VersionedEvent: type: object required: - version - key - sequence_number - type - data properties: version: $ref: '#/components/schemas/U64' key: $ref: '#/components/schemas/EventKey' sequence_number: $ref: '#/components/schemas/U64' type: $ref: '#/components/schemas/MoveType' data: {} WriteModule: type: object required: - address - state_key_hash - data properties: address: $ref: '#/components/schemas/Address' state_key_hash: type: string data: $ref: '#/components/schemas/MoveModuleBytecode' WriteResource: type: object required: - address - state_key_hash - data properties: address: $ref: '#/components/schemas/Address' state_key_hash: type: string data: $ref: '#/components/schemas/MoveResource' WriteSet: type: object oneOf: - $ref: '#/components/schemas/WriteSet_ScriptWriteSet' - $ref: '#/components/schemas/WriteSet_DirectWriteSet' discriminator: propertyName: type mapping: script_write_set: '#/components/schemas/WriteSet_ScriptWriteSet' direct_write_set: '#/components/schemas/WriteSet_DirectWriteSet' WriteSetChange: type: object oneOf: - $ref: '#/components/schemas/WriteSetChange_DeleteModule' - $ref: '#/components/schemas/WriteSetChange_DeleteResource' - $ref: '#/components/schemas/WriteSetChange_DeleteTableItem' - $ref: '#/components/schemas/WriteSetChange_WriteModule' - $ref: '#/components/schemas/WriteSetChange_WriteResource' - $ref: '#/components/schemas/WriteSetChange_WriteTableItem' discriminator: propertyName: type mapping: delete_module: '#/components/schemas/WriteSetChange_DeleteModule' delete_resource: '#/components/schemas/WriteSetChange_DeleteResource' delete_table_item: '#/components/schemas/WriteSetChange_DeleteTableItem' write_module: '#/components/schemas/WriteSetChange_WriteModule' write_resource: '#/components/schemas/WriteSetChange_WriteResource' write_table_item: '#/components/schemas/WriteSetChange_WriteTableItem' WriteSetChange_DeleteModule: allOf: - type: object required: - type properties: type: type: string example: delete_module - $ref: '#/components/schemas/DeleteModule' WriteSetChange_DeleteResource: allOf: - type: object required: - type properties: type: type: string example: delete_resource - $ref: '#/components/schemas/DeleteResource' WriteSetChange_DeleteTableItem: allOf: - type: object required: - type properties: type: type: string example: delete_table_item - $ref: '#/components/schemas/DeleteTableItem' WriteSetChange_WriteModule: allOf: - type: object required: - type properties: type: type: string example: write_module - $ref: '#/components/schemas/WriteModule' WriteSetChange_WriteResource: allOf: - type: object required: - type properties: type: type: string example: write_resource - $ref: '#/components/schemas/WriteResource' WriteSetChange_WriteTableItem: allOf: - type: object required: - type properties: type: type: string example: write_table_item - $ref: '#/components/schemas/WriteTableItem' WriteSetPayload: type: object required: - write_set properties: write_set: $ref: '#/components/schemas/WriteSet' WriteSet_DirectWriteSet: allOf: - type: object required: - type properties: type: type: string example: direct_write_set - $ref: '#/components/schemas/DirectWriteSet' WriteSet_ScriptWriteSet: allOf: - type: object required: - type properties: type: type: string example: script_write_set - $ref: '#/components/schemas/ScriptWriteSet' WriteTableItem: type: object required: - state_key_hash - handle - key - value properties: state_key_hash: type: string handle: $ref: '#/components/schemas/HexEncodedBytes' key: $ref: '#/components/schemas/HexEncodedBytes' value: $ref: '#/components/schemas/HexEncodedBytes' data: $ref: '#/components/schemas/DecodedTableData' externalDocs: url: https://github.com/aptos-labs/aptos-core