Skip to main content

Get account resource

GET 

/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.

Request

Path Parameters

    address hexrequired

    Address of account with or without a 0x prefix

    resource_type MoveStructTagrequired

    Possible values: Value must match regular expression ^0x[0-9a-zA-Z:_<>]+$

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

Query Parameters

    ledger_version uint64

    Ledger version to get state of account

    If not provided, it will be the latest version

Responses

Response Headers

  • X-APTOS-CHAIN-ID

    integer

    Chain ID of the current chain

  • X-APTOS-LEDGER-VERSION

    integer

    Current ledger version of the chain

  • X-APTOS-LEDGER-OLDEST-VERSION

    integer

    Oldest non-pruned ledger version of the chain

  • X-APTOS-LEDGER-TIMESTAMPUSEC

    integer

    Current timestamp of the chain

  • X-APTOS-EPOCH

    integer

    Current epoch of the chain

  • X-APTOS-BLOCK-HEIGHT

    integer

    Current block height of the chain

  • X-APTOS-OLDEST-BLOCK-HEIGHT

    integer

    Oldest non-pruned block height of the chain

  • X-APTOS-GAS-USED

    integer

    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.

Schema

    type MoveStructTag (string)required

    Possible values: Value must match regular expression ^0x[0-9a-zA-Z:_<>]+$

    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.

    data objectrequired

    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.
Loading...