Aptos — Accounts, Blocks, General, Table, Transactions (1/2)
API reference for Aptos. All methods ->
Part 1 of 2: 1 · 2
Accounts
Get account
GET
https://rpc.ankr.com/premium-http/aptos/YOUR_ANKR_API_KEY/v1/accounts/{address}
Returns the authentication key and the sequence number for an account address. Optionally, a ledger version can be specified. If the ledger version is not specified in the request, the latest ledger version is used.
Parameters
address(string; hex; path; required): an address of account with or without a0xprefix.
Example:0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1ledger_version(string; uint64; query): a ledger version to get state of account. If not provided, it will be the latest version.
Example:32425224034
Request example
curl -X GET https://rpc.ankr.com/premium-http/aptos/YOUR_ANKR_API_KEY/v1/accounts/0x1 \
-H 'Content-Type: application/json'
Response example
{
"sequence_number": "32425224034",
"authentication_key": "0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1"
}
Get account resource
GET
https://rpc.ankr.com/premium-http/aptos/YOUR_ANKR_API_KEY/v1/accounts/{address}/resource/{resource_type}
Retrieves an individual resource from a given account and at a specific ledger 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. If the requested ledger version has been pruned, the server responds with a 410.
Parameters
address(string; hex; path; required): an address of account with or without a0xprefix.
Example:0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1resource_type(string; path; required) a name of struct to retrieve.
Example:0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>
Match pattern:^0x[0-9a-zA-Z:_<>]+$ledger_version(string; uint64; query): a ledger version to get state of account. If not provided, it will be the latest version.
Example:32425224034
Request example
curl -X GET https://rpc.ankr.com/premium-http/aptos/YOUR_ANKR_API_KEY/v1/accounts/0x1/resource/0x1::chain_id::ChainId \
-H 'Content-Type: application/json'
Response example
{
"type": "0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>",
"data": {
"authentication_key": "0x0000000000000000000000000000000000000000000000000000000000000001",
"coin_register_events": {
"counter": "0",
"guid": {
"id": {
"addr": "0x1",
"creation_num": "0"
}
}
},
"self_address": "0x1",
"sequence_number": "0"
}
}
Get account module
GET
https://rpc.ankr.com/premium-http/aptos/YOUR_ANKR_API_KEY/v1/accounts/{address}/module/{module_name}
Retrieves an individual module from a given account and at a specific ledger 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. If the requested ledger version has been pruned, the server responds with a 410.
Parameters
address(string; hex; path; required): an address of account with or without a0xprefix.
Example:0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1module_name(string; path; required): a name of module to retrieve (example:coin).ledger_version(string; uint64; query): a ledger version to get state of account. If not provided, it will be the latest version.
Example:32425224034
Request example
curl -X GET https://rpc.ankr.com/premium-http/aptos/YOUR_ANKR_API_KEY/v1/accounts/0x1/module/chain_id \
-H 'Content-Type: application/json'
Response example
{
"bytecode": "0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1",
"abi": {
"address": "0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1",
"name": "string",
"friends": [
"0x1::aptos_coin"
],
"exposed_functions": [
{
"name": "string",
"visibility": "private",
"is_entry": true,
"generic_type_params": [
{
"constraints": [
"string"
]
}
],
"params": [
"string"
],
"return": [
"string"
]
}
],
"structs": [
{
"name": "string",
"is_native": true,
"abilities": [
"string"
],
"generic_type_params": [
{
"constraints": [
"string"
]
}
],
"fields": [
{
"name": "string",
"type": "string"
}
]
}
]
}
}
Blocks
Get blocks by height
GET
https://rpc.ankr.com/premium-http/aptos/YOUR_ANKR_API_KEY/v1/blocks/by_height/{block_height}
This endpoint allows you to get the transactions in a block and the corresponding block information.
Transactions are limited by max default transactions size. If not all transactions are present, the user will need to query for the rest of the transactions via the get transactions API.
If the block is pruned, it will return a 410
Parameters
block_height(integer; path; required): a block height to look up. Starts at 0.with_transactions(boolean; query): if set to true, includes all transactions in the block. If not provided, no transactions will be retrieved.
Request example
curl -X GET https://rpc.ankr.com/premium-http/aptos/YOUR_ANKR_API_KEY/v1/blocks/by_height/{block_height} \
-H 'Content-Type: application/json'
Response example
{
"block_height": "32425224034",
"block_hash": "string",
"block_timestamp": "32425224034",
"first_version": "32425224034",
"last_version": "32425224034",
"transactions": [
{
"type": "pending_transaction",
"hash": "string",
"sender": "0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1",
"sequence_number": "32425224034",
"max_gas_amount": "32425224034",
"gas_unit_price": "32425224034",
"expiration_timestamp_secs": "32425224034",
"payload": {
"type": "entry_function_payload",
"function": "0x1::aptos_coin::transfer",
"type_arguments": [
"string"
],
"arguments": [
null
]
},
"signature": {
"type": "ed25519_signature",
"public_key": "0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1",
"signature": "0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1"
}
}
]
}
Get blocks by version
GET
https://rpc.ankr.com/premium-http/aptos/YOUR_ANKR_API_KEY/v1/blocks/by_version/{version}
This endpoint allows you to get the transactions in a block and the corresponding block information given a version in the block.
Transactions are limited by max default transactions size. If not all transactions are present, the user will need to query for the rest of the transactions via the get transactions API.
If the block has been pruned, it will return a 410
Parameters
version(integer; path; required): a ledger version to look up block information for.with_transactions(boolean; query): if set to true, includes all transactions in the block. If not provided, no transactions will be retrieved.
Request example
curl -X GET https://rpc.ankr.com/premium-http/aptos/YOUR_ANKR_API_KEY/v1/blocks/by_version/{version} \
-H 'Content-Type: application/json'
Response example
{
"block_height": "32425224034",
"block_hash": "string",
"block_timestamp": "32425224034",
"first_version": "32425224034",
"last_version": "32425224034",
"transactions": [
{
"type": "pending_transaction",
"hash": "string",
"sender": "0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1",
"sequence_number": "32425224034",
"max_gas_amount": "32425224034",
"gas_unit_price": "32425224034",
"expiration_timestamp_secs": "32425224034",
"payload": {
"type": "entry_function_payload",
"function": "0x1::aptos_coin::transfer",
"type_arguments": [
"string"
],
"arguments": [
null
]
},
"signature": {
"type": "ed25519_signature",
"public_key": "0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1",
"signature": "0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1"
}
}
]
}
General
Get ledger info
GET
https://rpc.ankr.com/premium-http/aptos/YOUR_ANKR_API_KEY/v1/
Retrieves the latest ledger information, including data such as chain ID, role type, ledger versions, epoch, etc.
Parameters
None.
Request example
curl -X GET https://rpc.ankr.com/premium-http/aptos/YOUR_ANKR_API_KEY/v1/ \
-H 'Content-Type: application/json'
Response example
{
"chain_id": 0,
"epoch": "32425224034",
"ledger_version": "32425224034",
"oldest_ledger_version": "32425224034",
"ledger_timestamp": "32425224034",
"node_role": "validator",
"oldest_block_height": "32425224034",
"block_height": "32425224034",
"git_hash": "string"
}
Table
Get table item
POST
https://rpc.ankr.com/premium-http/aptos/YOUR_ANKR_API_KEY/v1/tables/{table_handle}/item
Get a table item at a specific ledger version from the table identified by {table_handle} in the path and the "key" (TableItemRequest) provided in the request body.
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
table_handle(string; hex; path; required): a table handle hex encoded 32-byte string.
Example:0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1ledger_version(string; uint64; query): a ledger version to get state of account. If not provided, it will be the latest version.
Example:32425224034key_type(string; body; required): a string representation of an on-chain Move type tag that is exposed in transaction payload. Values: - bool - u8 - u16 - u32 - u64 - u128 - u256 - address - signer - vector:vector<{non-reference MoveTypeId}>- struct:{address}::{module_name}::{struct_name}::<{generic types}>
Match patterns:Vector type value examples:- `vector<u8>`- `vector<vector<u64>>`- `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).^(bool|u8|u64|u128|address|signer|vector<.+>|0x[0-9a-zA-Z:_<, >]+)$value_type(string; body; required): a string representation of an on-chain Move type tag that is exposed in transaction payload. Values: - bool - u8 - u16 - u32 - u64 - u128 - u256 - address - signer - vector:vector<{non-reference MoveTypeId}>- struct:{address}::{module_name}::{struct_name}::<{generic types}>
Match pattern:Vector type value examples:- `vector<u8>`- `vector<vector<u64>>`- `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).^(bool|u8|u64|u128|address|signer|vector<.+>|0x[0-9a-zA-Z:_<, >]+)$key(body; required): the value of the table item's key.
Request example
curl -X POST https://rpc.ankr.com/premium-http/aptos/YOUR_ANKR_API_KEY/v1/tables/0x7d7561f38ada5eb9066f05c6e80df069208c4de472d6414482016d38448d1a7d/item \
-H 'Content-Type: application/json' \
-d '{
"key_type": "0x1::type_info::TypeInfo",
"value_type": "address",
"key": {
"account_address": "0x1",
"module_name": "0x6170746f735f636f696e",
"struct_name": "0x4170746f73436f696e"
}
}'
Response example
0
Get raw table item
POST
https://rpc.ankr.com/premium-http/aptos/YOUR_ANKR_API_KEY/v1/tables/{table_handle}/raw_item
Get a table item at a specific ledger version from the table identified by {table_handle} in the path and the "key" (RawTableItemRequest) provided in the request body.
The get_raw_table_item requires only a serialized key comparing to the full move type information comparing to the get_table_item api, and can only return the query in the bcs format.
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
table_handle(string; hex; path; required): a table handle hex encoded 32-byte string.
Example:0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1ledger_version(string; uint64; query): a ledger version to get state of account. If not provided, it will be the latest version.
Example:32425224034key(string; hex; body; required): all bytes (Vec) data is represented as hex-encoded string prefixed with 0x and fulfilled with two hex digits per byte.
Unlike theAddresstype, HexEncodedBytes will not trim any zeros.
Example:0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1
Request example
curl -X POST https://rpc.ankr.com/premium-http/aptos/YOUR_ANKR_API_KEY/v1/tables/0x7d7561f38ada5eb9066f05c6e80df069208c4de472d6414482016d38448d1a7d/raw_item \
-H 'Content-Type: application/json' \
-H 'Accept: application/x-bcs' \
-d '{
"key": "0x00000000000000000000000000000000000000000000000000000000000000010a6170746f735f636f696e094170746f73436f696e"
}'
Response example
The body is the table item as raw BCS bytes (Content-Type: application/x-bcs), not JSON.