Skip to main content

Get account modules

GET 

/accounts/:address/modules

Retrieves all account modules' bytecode for a given account 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

Query Parameters

    ledger_version uint64

    Ledger version to get state of account

    If not provided, it will be the latest version

    start StateKeyWrapper

    Cursor specifying where to start for pagination

    This cursor cannot be derived manually client-side. Instead, you must call this endpoint once without this query parameter specified, and then use the cursor returned in the X-Aptos-Cursor header in the response.

    limit uint16

    Max number of account modules to retrieve

    If not provided, defaults to default page size.

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

  • Array [

  • bytecodehexrequired

    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

    abi

    object

    A Move module

    addresshexrequired

    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: 0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1
    nameIdentifierWrapper (string)required
    friendsMoveModuleId (string)[]required

    Friends of the module

    exposed_functions

    object[]

    required

    Public functions of the module

  • Array [

  • nameIdentifierWrapper (string)required
    visibilityMoveFunctionVisibility (string)required

    Move function visibility

    Possible values: [private, public, friend]

    is_entrybooleanrequired

    Whether the function can be called as an entry function directly in a transaction

    is_viewbooleanrequired

    Whether the function is a view function or not

    generic_type_params

    object[]

    required

    Generic type params associated with the Move function

  • Array [

  • constraintsMoveAbility (string)[]required

    Move abilities tied to the generic type param and associated with the function that uses it

  • ]

  • paramsMoveType (string)[]required

    Parameters associated with the move function

    Possible values: Value must match regular expression ^(bool|u8|u64|u128|address|signer|vector<.+>|0x[0-9a-zA-Z:_<, >]+)$

    returnMoveType (string)[]required

    Return type of the function

    Possible values: Value must match regular expression ^(bool|u8|u64|u128|address|signer|vector<.+>|0x[0-9a-zA-Z:_<, >]+)$

  • ]

  • structs

    object[]

    required

    Structs of the module

  • Array [

  • nameIdentifierWrapper (string)required
    is_nativebooleanrequired

    Whether the struct is a native struct of Move

    is_eventbooleanrequired

    Whether the struct is marked with the #[event] annotation

    abilitiesMoveAbility (string)[]required

    Abilities associated with the struct

    generic_type_params

    object[]

    required

    Generic types associated with the struct

  • Array [

  • constraintsMoveAbility (string)[]required

    Move abilities tied to the generic type param and associated with the type that uses it

  • ]

  • fields

    object[]

    required

    Fields associated with the struct

  • Array [

  • nameIdentifierWrapper (string)required
    typeMoveType (string)required

    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}>

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

    Possible values: Value must match regular expression ^(bool|u8|u64|u128|address|signer|vector<.+>|0x[0-9a-zA-Z:_<, >]+)$

  • ]

  • ]

  • ]