Skip to content

Get account resource

GET
/accounts/{address}/resource/{resource_type}
curl 'https://api.mainnet.aptoslabs.com/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

Path Parameters

address
required

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.

string format: hex
0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1

Address of account with or without a 0x prefix

resource_type
required

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 for more details.

string
/^0x[0-9a-zA-Z:_<>]+$/
0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>

Name of struct to retrieve e.g. 0x1::account::Account

Query Parameters

ledger_version

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.

string format: uint64
32425224034

Ledger version to get state of account

If not provided, it will be the latest version

Responses

200

A parsed Move resource

object
type
required

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 for more details.

string
/^0x[0-9a-zA-Z:_<>]+$/
0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>
data
required

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, u16 and u32 type value is serialized into integer.

Move u64, u128 and u256 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<u8> which is serialized into a HexEncodedBytes string with 0x prefix. For example:

  • vector<u64>{255, 255} => ["255", "255"]
  • vector<u8>{255, 255} => 0xffff

Move struct type value is serialized into object that looks like this (except some Move stdlib types, see the following section):

{
  field1_name: field1_value,
  field2_name: field2_value,
  ......
}

For example: { "created": "0xa550c18", "role_id": "0" }

Special serialization for Move stdlib types:

  • 0x1::string::String is serialized into string. For example, struct value 0x1::string::String{bytes: b"Hello World!"} is serialized as "Hello World!" in JSON.
object
{
"authentication_key": "0x0000000000000000000000000000000000000000000000000000000000000001",
"coin_register_events": {
"counter": "0",
"guid": {
"id": {
"addr": "0x1",
"creation_num": "0"
}
}
},
"self_address": "0x1",
"sequence_number": "0"
}

Headers

X-APTOS-CHAIN-ID
required
integer format: uint8

Chain ID of the current chain

X-APTOS-LEDGER-VERSION
required
integer format: uint64

Current ledger version of the chain

X-APTOS-LEDGER-OLDEST-VERSION
required
integer format: uint64

Oldest non-pruned ledger version of the chain

X-APTOS-LEDGER-TIMESTAMPUSEC
required
integer format: uint64

Current timestamp of the chain

X-APTOS-EPOCH
required
integer format: uint64

Current epoch of the chain

X-APTOS-BLOCK-HEIGHT
required
integer format: uint64

Current block height of the chain

X-APTOS-OLDEST-BLOCK-HEIGHT
required
integer format: uint64

Oldest non-pruned block height of the chain

X-APTOS-GAS-USED
integer format: uint64

The cost of the call in terms of gas

X-APTOS-CURSOR
string

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.

400

application/json

This is the generic struct we use for all API errors, it contains a string message and an Aptos API specific error code.

object
message
required

A message describing the error

string
error_code
required

These codes provide more granular error information beyond just the HTTP status code of the response.

string
Allowed values: 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 health_check_failed mempool_is_full internal_error web_framework_error bcs_not_supported api_disabled
vm_error_code

A code providing VM error details when submitting transactions to the VM

integer format: uint64

Headers

X-APTOS-CHAIN-ID
integer format: uint8

Chain ID of the current chain

X-APTOS-LEDGER-VERSION
integer format: uint64

Current ledger version of the chain

X-APTOS-LEDGER-OLDEST-VERSION
integer format: uint64

Oldest non-pruned ledger version of the chain

X-APTOS-LEDGER-TIMESTAMPUSEC
integer format: uint64

Current timestamp of the chain

X-APTOS-EPOCH
integer format: uint64

Current epoch of the chain

X-APTOS-BLOCK-HEIGHT
integer format: uint64

Current block height of the chain

X-APTOS-OLDEST-BLOCK-HEIGHT
integer format: uint64

Oldest non-pruned block height of the chain

X-APTOS-GAS-USED
integer format: uint64

The cost of the call in terms of gas

403

application/json

This is the generic struct we use for all API errors, it contains a string message and an Aptos API specific error code.

object
message
required

A message describing the error

string
error_code
required

These codes provide more granular error information beyond just the HTTP status code of the response.

string
Allowed values: 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 health_check_failed mempool_is_full internal_error web_framework_error bcs_not_supported api_disabled
vm_error_code

A code providing VM error details when submitting transactions to the VM

integer format: uint64

Headers

X-APTOS-CHAIN-ID
integer format: uint8

Chain ID of the current chain

X-APTOS-LEDGER-VERSION
integer format: uint64

Current ledger version of the chain

X-APTOS-LEDGER-OLDEST-VERSION
integer format: uint64

Oldest non-pruned ledger version of the chain

X-APTOS-LEDGER-TIMESTAMPUSEC
integer format: uint64

Current timestamp of the chain

X-APTOS-EPOCH
integer format: uint64

Current epoch of the chain

X-APTOS-BLOCK-HEIGHT
integer format: uint64

Current block height of the chain

X-APTOS-OLDEST-BLOCK-HEIGHT
integer format: uint64

Oldest non-pruned block height of the chain

X-APTOS-GAS-USED
integer format: uint64

The cost of the call in terms of gas

404

application/json

This is the generic struct we use for all API errors, it contains a string message and an Aptos API specific error code.

object
message
required

A message describing the error

string
error_code
required

These codes provide more granular error information beyond just the HTTP status code of the response.

string
Allowed values: 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 health_check_failed mempool_is_full internal_error web_framework_error bcs_not_supported api_disabled
vm_error_code

A code providing VM error details when submitting transactions to the VM

integer format: uint64

Headers

X-APTOS-CHAIN-ID
integer format: uint8

Chain ID of the current chain

X-APTOS-LEDGER-VERSION
integer format: uint64

Current ledger version of the chain

X-APTOS-LEDGER-OLDEST-VERSION
integer format: uint64

Oldest non-pruned ledger version of the chain

X-APTOS-LEDGER-TIMESTAMPUSEC
integer format: uint64

Current timestamp of the chain

X-APTOS-EPOCH
integer format: uint64

Current epoch of the chain

X-APTOS-BLOCK-HEIGHT
integer format: uint64

Current block height of the chain

X-APTOS-OLDEST-BLOCK-HEIGHT
integer format: uint64

Oldest non-pruned block height of the chain

X-APTOS-GAS-USED
integer format: uint64

The cost of the call in terms of gas

410

application/json

This is the generic struct we use for all API errors, it contains a string message and an Aptos API specific error code.

object
message
required

A message describing the error

string
error_code
required

These codes provide more granular error information beyond just the HTTP status code of the response.

string
Allowed values: 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 health_check_failed mempool_is_full internal_error web_framework_error bcs_not_supported api_disabled
vm_error_code

A code providing VM error details when submitting transactions to the VM

integer format: uint64

Headers

X-APTOS-CHAIN-ID
integer format: uint8

Chain ID of the current chain

X-APTOS-LEDGER-VERSION
integer format: uint64

Current ledger version of the chain

X-APTOS-LEDGER-OLDEST-VERSION
integer format: uint64

Oldest non-pruned ledger version of the chain

X-APTOS-LEDGER-TIMESTAMPUSEC
integer format: uint64

Current timestamp of the chain

X-APTOS-EPOCH
integer format: uint64

Current epoch of the chain

X-APTOS-BLOCK-HEIGHT
integer format: uint64

Current block height of the chain

X-APTOS-OLDEST-BLOCK-HEIGHT
integer format: uint64

Oldest non-pruned block height of the chain

X-APTOS-GAS-USED
integer format: uint64

The cost of the call in terms of gas

500

application/json

This is the generic struct we use for all API errors, it contains a string message and an Aptos API specific error code.

object
message
required

A message describing the error

string
error_code
required

These codes provide more granular error information beyond just the HTTP status code of the response.

string
Allowed values: 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 health_check_failed mempool_is_full internal_error web_framework_error bcs_not_supported api_disabled
vm_error_code

A code providing VM error details when submitting transactions to the VM

integer format: uint64

Headers

X-APTOS-CHAIN-ID
integer format: uint8

Chain ID of the current chain

X-APTOS-LEDGER-VERSION
integer format: uint64

Current ledger version of the chain

X-APTOS-LEDGER-OLDEST-VERSION
integer format: uint64

Oldest non-pruned ledger version of the chain

X-APTOS-LEDGER-TIMESTAMPUSEC
integer format: uint64

Current timestamp of the chain

X-APTOS-EPOCH
integer format: uint64

Current epoch of the chain

X-APTOS-BLOCK-HEIGHT
integer format: uint64

Current block height of the chain

X-APTOS-OLDEST-BLOCK-HEIGHT
integer format: uint64

Oldest non-pruned block height of the chain

X-APTOS-GAS-USED
integer format: uint64

The cost of the call in terms of gas

503

application/json

This is the generic struct we use for all API errors, it contains a string message and an Aptos API specific error code.

object
message
required

A message describing the error

string
error_code
required

These codes provide more granular error information beyond just the HTTP status code of the response.

string
Allowed values: 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 health_check_failed mempool_is_full internal_error web_framework_error bcs_not_supported api_disabled
vm_error_code

A code providing VM error details when submitting transactions to the VM

integer format: uint64

Headers

X-APTOS-CHAIN-ID
integer format: uint8

Chain ID of the current chain

X-APTOS-LEDGER-VERSION
integer format: uint64

Current ledger version of the chain

X-APTOS-LEDGER-OLDEST-VERSION
integer format: uint64

Oldest non-pruned ledger version of the chain

X-APTOS-LEDGER-TIMESTAMPUSEC
integer format: uint64

Current timestamp of the chain

X-APTOS-EPOCH
integer format: uint64

Current epoch of the chain

X-APTOS-BLOCK-HEIGHT
integer format: uint64

Current block height of the chain

X-APTOS-OLDEST-BLOCK-HEIGHT
integer format: uint64

Oldest non-pruned block height of the chain

X-APTOS-GAS-USED
integer format: uint64

The cost of the call in terms of gas