Documentation
Documentation
https://aptos.dev/en/build/apis/fullnode-rest-api
APIReference
https://api.mainnet.aptoslabs.com/v1/spec
Authentication
https://geomi.dev/docs/api-keys
openapi: 3.0.0
info:
title: Aptos Node Accounts View API
description: The Aptos Node API is a RESTful API for client applications to interact with the Aptos blockchain.
version: 1.2.0
contact:
name: Aptos Labs
url: https://github.com/aptos-labs/aptos-core
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: /v1
tags:
- name: View
description: View functions,
paths:
/view:
post:
tags:
- View
summary: Execute view function of a module
description: 'Execute the Move function with the given parameters and return its execution result.
The Aptos nodes prune account state history, via a configurable time window.
If the requested ledger version has been pruned, the server responds with a 410.'
parameters:
- name: ledger_version
schema:
$ref: '#/components/schemas/U64'
in: query
description: 'Ledger version to get state of account
If not provided, it will be the latest version'
required: false
deprecated: false
explode: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ViewRequest'
application/x.aptos.view_function+bcs:
schema:
type: array
items:
type: integer
format: uint8
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MoveValue'
application/x-bcs:
schema:
type: array
items:
type: integer
format: uint8
headers:
X-APTOS-CHAIN-ID:
description: Chain ID of the current chain
required: true
deprecated: false
schema:
type: integer
format: uint8
X-APTOS-LEDGER-VERSION:
description: Current ledger version of the chain
required: true
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-LEDGER-OLDEST-VERSION:
description: Oldest non-pruned ledger version of the chain
required: true
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-LEDGER-TIMESTAMPUSEC:
description: Current timestamp of the chain
required: true
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-EPOCH:
description: Current epoch of the chain
required: true
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-BLOCK-HEIGHT:
description: Current block height of the chain
required: true
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-OLDEST-BLOCK-HEIGHT:
description: Oldest non-pruned block height of the chain
required: true
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-GAS-USED:
description: The cost of the call in terms of gas
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-CURSOR:
description: 'Cursor to be used for endpoints that support cursor-based
pagination. Pass this to the `start` field of the endpoint
on the next call to get the next page of results.'
deprecated: false
schema:
type: string
X-APTOS-TXN-ENCRYPTION-KEY:
description: Per-epoch transaction encryption key (hex-encoded)
deprecated: false
schema:
type: string
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AptosError'
headers:
X-APTOS-CHAIN-ID:
description: Chain ID of the current chain
deprecated: false
schema:
type: integer
format: uint8
X-APTOS-LEDGER-VERSION:
description: Current ledger version of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-LEDGER-OLDEST-VERSION:
description: Oldest non-pruned ledger version of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-LEDGER-TIMESTAMPUSEC:
description: Current timestamp of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-EPOCH:
description: Current epoch of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-BLOCK-HEIGHT:
description: Current block height of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-OLDEST-BLOCK-HEIGHT:
description: Oldest non-pruned block height of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-GAS-USED:
description: The cost of the call in terms of gas
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-TXN-ENCRYPTION-KEY:
description: Per-epoch transaction encryption key (hex-encoded)
deprecated: false
schema:
type: string
'403':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AptosError'
headers:
X-APTOS-CHAIN-ID:
description: Chain ID of the current chain
deprecated: false
schema:
type: integer
format: uint8
X-APTOS-LEDGER-VERSION:
description: Current ledger version of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-LEDGER-OLDEST-VERSION:
description: Oldest non-pruned ledger version of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-LEDGER-TIMESTAMPUSEC:
description: Current timestamp of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-EPOCH:
description: Current epoch of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-BLOCK-HEIGHT:
description: Current block height of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-OLDEST-BLOCK-HEIGHT:
description: Oldest non-pruned block height of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-GAS-USED:
description: The cost of the call in terms of gas
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-TXN-ENCRYPTION-KEY:
description: Per-epoch transaction encryption key (hex-encoded)
deprecated: false
schema:
type: string
'404':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AptosError'
headers:
X-APTOS-CHAIN-ID:
description: Chain ID of the current chain
deprecated: false
schema:
type: integer
format: uint8
X-APTOS-LEDGER-VERSION:
description: Current ledger version of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-LEDGER-OLDEST-VERSION:
description: Oldest non-pruned ledger version of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-LEDGER-TIMESTAMPUSEC:
description: Current timestamp of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-EPOCH:
description: Current epoch of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-BLOCK-HEIGHT:
description: Current block height of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-OLDEST-BLOCK-HEIGHT:
description: Oldest non-pruned block height of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-GAS-USED:
description: The cost of the call in terms of gas
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-TXN-ENCRYPTION-KEY:
description: Per-epoch transaction encryption key (hex-encoded)
deprecated: false
schema:
type: string
'410':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AptosError'
headers:
X-APTOS-CHAIN-ID:
description: Chain ID of the current chain
deprecated: false
schema:
type: integer
format: uint8
X-APTOS-LEDGER-VERSION:
description: Current ledger version of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-LEDGER-OLDEST-VERSION:
description: Oldest non-pruned ledger version of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-LEDGER-TIMESTAMPUSEC:
description: Current timestamp of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-EPOCH:
description: Current epoch of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-BLOCK-HEIGHT:
description: Current block height of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-OLDEST-BLOCK-HEIGHT:
description: Oldest non-pruned block height of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-GAS-USED:
description: The cost of the call in terms of gas
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-TXN-ENCRYPTION-KEY:
description: Per-epoch transaction encryption key (hex-encoded)
deprecated: false
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AptosError'
headers:
X-APTOS-CHAIN-ID:
description: Chain ID of the current chain
deprecated: false
schema:
type: integer
format: uint8
X-APTOS-LEDGER-VERSION:
description: Current ledger version of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-LEDGER-OLDEST-VERSION:
description: Oldest non-pruned ledger version of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-LEDGER-TIMESTAMPUSEC:
description: Current timestamp of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-EPOCH:
description: Current epoch of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-BLOCK-HEIGHT:
description: Current block height of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-OLDEST-BLOCK-HEIGHT:
description: Oldest non-pruned block height of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-GAS-USED:
description: The cost of the call in terms of gas
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-TXN-ENCRYPTION-KEY:
description: Per-epoch transaction encryption key (hex-encoded)
deprecated: false
schema:
type: string
'503':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AptosError'
headers:
X-APTOS-CHAIN-ID:
description: Chain ID of the current chain
deprecated: false
schema:
type: integer
format: uint8
X-APTOS-LEDGER-VERSION:
description: Current ledger version of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-LEDGER-OLDEST-VERSION:
description: Oldest non-pruned ledger version of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-LEDGER-TIMESTAMPUSEC:
description: Current timestamp of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-EPOCH:
description: Current epoch of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-BLOCK-HEIGHT:
description: Current block height of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-OLDEST-BLOCK-HEIGHT:
description: Oldest non-pruned block height of the chain
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-GAS-USED:
description: The cost of the call in terms of gas
deprecated: false
schema:
type: integer
format: uint64
X-APTOS-TXN-ENCRYPTION-KEY:
description: Per-epoch transaction encryption key (hex-encoded)
deprecated: false
schema:
type: string
operationId: view
components:
schemas:
I256:
type: string
format: int256
description: 'A string containing a 256-bit signed integer.
We represent i256 values as a string to ensure compatibility with languages such
as JavaScript that do not parse i256s in JSON natively.
'
example: '-32425224034'
U64:
type: string
format: uint64
description: 'A string containing a 64-bit unsigned integer.
We represent u64 values as a string to ensure compatibility with languages such
as JavaScript that do not parse u64s in JSON natively.
'
example: '32425224034'
U128:
type: string
format: uint128
description: 'A string containing a 128-bit unsigned integer.
We represent u128 values as a string to ensure compatibility with languages such
as JavaScript that do not parse u128s in JSON natively.
'
example: '340282366920938463463374607431768211454'
AptosErrorCode:
type: string
description: 'These codes provide more granular error information beyond just the HTTP
status code of the response.'
enum:
- account_not_found
- resource_not_found
- module_not_found
- struct_field_not_found
- version_not_found
- transaction_not_found
- table_item_not_found
- block_not_found
- state_value_not_found
- version_pruned
- block_pruned
- invalid_input
- invalid_transaction_update
- sequence_number_too_old
- vm_error
- rejected_by_filter
- health_check_failed
- mempool_is_full
- rate_limited
- internal_error
- web_framework_error
- bcs_not_supported
- api_disabled
HexEncodedBytes:
type: string
format: hex
description: 'All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with
two hex digits per byte.
Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
'
example: 61959483996478237799081788855878961092127547100767458402256961684167818091681
AptosError:
type: object
description: 'This is the generic struct we use for all API errors, it contains a string
message and an Aptos API specific error code.'
required:
- message
- error_code
properties:
message:
type: string
description: A message describing the error
error_code:
$ref: '#/components/schemas/AptosErrorCode'
vm_error_code:
type: integer
format: uint64
description: A code providing VM error details when submitting transactions to the VM
MoveType:
type: string
description: "String representation of an on-chain Move type tag that is exposed in transaction payload.\n Values:\n - bool\n - u8\n - u16\n - u32\n - u64\n - u128\n - u256\n - i8\n - i16\n - i32\n - i64\n - i128\n - i256\n - address\n - signer\n - vector: `vector<{non-reference MoveTypeId}>`\n - struct: `{address}::{module_name}::{struct_name}::<{generic types}>`\n\n Vector type value examples:\n - `vector<u8>`\n - `vector<vector<u64>>`\n - `vector<0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>>`\n\n Struct type value examples:\n - `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>\n - `0x1::account::Account`\n\n Note:\n 1. Empty chars should be ignored when comparing 2 struct tag ids.\n 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding).\n"
pattern: ^(bool|u8|u16|u32|u64|u128|u256|i8|i16|i32|i64|i128|i256|address|signer|vector<.+>|0x[0-9a-zA-Z:_<, >]+)$
Address:
type: string
format: hex
description: 'A hex encoded 32 byte Aptos account address.
This is represented in a string as a 64 character hex string, sometimes
shortened by stripping leading 0s, and adding a 0x.
For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.
'
example: 61959483996478237799081788855878961092127547100767458402256961684167818091681
I128:
type: string
format: int128
description: 'A string containing a 128-bit signed integer.
We represent i128 values as a string to ensure compatibility with languages such
as JavaScript that do not parse i128s in JSON natively.
'
example: '-32425224034'
ViewRequest:
type: object
description: View request for the Move View Function API
required:
- function
- type_arguments
- arguments
properties:
function:
$ref: '#/components/schemas/EntryFunctionId'
type_arguments:
type: array
description: Type arguments of the function
items:
$ref: '#/components/schemas/MoveType'
arguments:
type: array
description: Arguments of the function
items: {}
U256:
type: string
format: uint256
description: 'A string containing a 256-bit unsigned integer.
We represent u256 values as a string to ensure compatibility with languages such
as JavaScript that do not parse u256s in JSON natively.
'
example: '340282366920938463463374607431768211454'
EntryFunctionId:
type: string
description: 'Entry function id is string representation of a entry function defined on-chain.
Format: `{address}::{module name}::{function name}`
Both `module name` and `function name` are case-sensitive.
'
example: 0x1::aptos_coin::transfer
I64:
type: string
format: int64
description: 'A string containing a 64-bit signed integer.
We represent i64 values as a string to ensure compatibility with languages such
as JavaScript that do not parse i64s in JSON natively.
'
example: '-32425224034'
MoveValue:
type: object
description: An enum of the possible Move value types
anyOf:
- type: integer
format: uint8
- type: integer
format: uint16
- type: integer
format: uint32
- $ref: '#/components/schemas/U64'
- $ref: '#/components/schemas/U128'
- $ref: '#/components/schemas/U256'
- type: integer
format: int8
- type: integer
format: int16
- type: integer
format: int32
- $ref: '#/components/schemas/I64'
- $ref: '#/components/schemas/I128'
- $ref: '#/components/schemas/I256'
- type: boolean
- $ref: '#/components/schemas/Address'
- type: array
items:
$ref: '#/components/schemas/MoveValue'
- $ref: '#/components/schemas/HexEncodedBytes'
- $ref: '#/components/schemas/MoveStructValue'
- type: string
MoveStructValue:
type: object
description: "This is a JSON representation of some data within an account resource. More specifically,\nit is a map of strings to arbitrary JSON values / objects, where the keys are top level\nfields within the given resource.\n\nTo clarify, you might query for 0x1::account::Account and see the example data.\n\nMove `bool` type value is serialized into `boolean`.\n\nMove `u8`, `u16`, `u32`, `i8`, `i16`, and `i32` type value is serialized into `integer`.\n\nMove `u64`, `u128`, `u256`, `i64`, `i128`, and `i256` type value is serialized into `string`.\n\nMove `address` type value (32 byte Aptos account address) is serialized into a HexEncodedBytes string.\nFor example:\n - `0x1`\n - `0x1668f6be25668c1a17cd8caf6b8d2f25`\n\nMove `vector` type value is serialized into `array`, except `vector<u8>` which is serialized into a\nHexEncodedBytes string with `0x` prefix.\nFor example:\n - `vector<u64>{255, 255}` => `[\"255\", \"255\"]`\n - `vector<u8>{255, 255}` => `0xffff`\n\nMove `struct` type value is serialized into `object` that looks like this (except some Move stdlib types, see the following section):\n ```json\n {\n field1_name: field1_value,\n field2_name: field2_value,\n ......\n }\n ```\n\nFor example:\n `{ \"created\": \"0xa550c18\", \"role_id\": \"0\" }`\n\n**Special serialization for Move stdlib types**:\n - [0x1::string::String](https://github.com/aptos-labs/aptos-core/blob/main/third_party/move/move-stdlib/docs/ascii.md)\n is serialized into `string`. For example, struct value `0x1::string::String{bytes: b\"Hello World!\"}`\n is serialized as `\"Hello World!\"` in JSON.\n"
example:
authentication_key: '0x0000000000000000000000000000000000000000000000000000000000000001'
coin_register_events:
counter: '0'
guid:
id:
addr: '0x1'
creation_num: '0'
self_address: '0x1'
sequence_number: '0'
externalDocs:
url: https://github.com/aptos-labs/aptos-core