> ## Documentation Index
> Fetch the complete documentation index at: https://docs.validationcloud.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Account 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.

Retrieves all account modules' bytecode for a given account at a specific ledger version.

This method will use `60` [Compute Units](/nodeapi/about/billing).

***


## OpenAPI

````yaml nodeapi/openapi/document-aptos-with-v1-fix.json GET /accounts/{address}/modules
openapi: 3.0.0
info:
  title: Aptos Node 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: https://mainnet.aptos.validationcloud.io/v1/<YOUR_API_KEY_HERE>/v1
security: []
tags:
  - name: Accounts
    description: Access to accounts, resources, and modules
  - name: Blocks
    description: Access to blocks
  - name: Events
    description: Access to events
  - name: General
    description: General information
  - name: Tables
    description: Access to tables
  - name: Transactions
    description: Access to transactions
  - name: View
    description: View functions,
externalDocs:
  url: https://github.com/aptos-labs/aptos-core
paths:
  /accounts/{address}/modules:
    get:
      tags:
        - Accounts
      summary: Get account modules
      description: >-
        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.
      operationId: get_account_modules
      parameters:
        - name: address
          schema:
            $ref: '#/components/schemas/Address'
          in: path
          description: Address of account with or without a `0x` prefix
          required: true
          deprecated: false
          explode: true
        - 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
        - name: start
          schema:
            $ref: '#/components/schemas/StateKeyWrapper'
          in: query
          description: >-
            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.
          required: false
          deprecated: false
          explode: true
        - name: limit
          schema:
            type: integer
            format: uint16
          in: query
          description: |-
            Max number of account modules to retrieve

            If not provided, defaults to default page size.
          required: false
          deprecated: false
          explode: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MoveModuleBytecode'
            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-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
        '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
        '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
        '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
        '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
        '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
        '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
components:
  schemas:
    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: '0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 '
    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'
    StateKeyWrapper:
      type: string
      description: >
        Representation of a StateKey as a hex string. This is used for cursor
        based pagination.
      example: >-
        0000000000000000000000000000000000000000000000000000000000000000012f0000000000000000000000000000000000000000000000000000000000000000010d7374616b696e675f70726f7879
    MoveModuleBytecode:
      type: object
      description: Move module bytecode along with it's ABI
      required:
        - bytecode
      properties:
        bytecode:
          $ref: '#/components/schemas/HexEncodedBytes'
        abi:
          $ref: '#/components/schemas/MoveModule'
    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
    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: '0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 '
    MoveModule:
      type: object
      description: A Move module
      required:
        - address
        - name
        - friends
        - exposed_functions
        - structs
      properties:
        address:
          $ref: '#/components/schemas/Address'
        name:
          $ref: '#/components/schemas/IdentifierWrapper'
        friends:
          type: array
          description: Friends of the module
          items:
            $ref: '#/components/schemas/MoveModuleId'
        exposed_functions:
          type: array
          description: Public functions of the module
          items:
            $ref: '#/components/schemas/MoveFunction'
        structs:
          type: array
          description: Structs of the module
          items:
            $ref: '#/components/schemas/MoveStruct'
    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
        - 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
    IdentifierWrapper:
      type: string
    MoveModuleId:
      type: string
      description: >
        Move module id is a string representation of Move module.


        Format: `{address}::{module name}`


        `address` should be hex-encoded 32 byte account address that is prefixed
        with `0x`.


        Module name is case-sensitive.
      example: 0x1::aptos_coin
    MoveFunction:
      type: object
      description: Move function
      required:
        - name
        - visibility
        - is_entry
        - generic_type_params
        - params
        - return
      properties:
        name:
          $ref: '#/components/schemas/IdentifierWrapper'
        visibility:
          $ref: '#/components/schemas/MoveFunctionVisibility'
        is_entry:
          type: boolean
          description: >-
            Whether the function can be called as an entry function directly in
            a transaction
        generic_type_params:
          type: array
          description: Generic type params associated with the Move function
          items:
            $ref: '#/components/schemas/MoveFunctionGenericTypeParam'
        params:
          type: array
          description: Parameters associated with the move function
          items:
            $ref: '#/components/schemas/MoveType'
        return:
          type: array
          description: Return type of the function
          items:
            $ref: '#/components/schemas/MoveType'
    MoveStruct:
      type: object
      description: A move struct
      required:
        - name
        - is_native
        - abilities
        - generic_type_params
        - fields
      properties:
        name:
          $ref: '#/components/schemas/IdentifierWrapper'
        is_native:
          type: boolean
          description: Whether the struct is a native struct of Move
        abilities:
          type: array
          description: Abilities associated with the struct
          items:
            $ref: '#/components/schemas/MoveAbility'
        generic_type_params:
          type: array
          description: Generic types associated with the struct
          items:
            $ref: '#/components/schemas/MoveStructGenericTypeParam'
        fields:
          type: array
          description: Fields associated with the struct
          items:
            $ref: '#/components/schemas/MoveStructField'
    MoveFunctionVisibility:
      type: string
      description: Move function visibility
      enum:
        - private
        - public
        - friend
    MoveFunctionGenericTypeParam:
      type: object
      description: Move function generic type param
      required:
        - constraints
      properties:
        constraints:
          type: array
          description: >-
            Move abilities tied to the generic type param and associated with
            the function that uses it
          items:
            $ref: '#/components/schemas/MoveAbility'
    MoveType:
      type: string
      description: >
        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).
      pattern: ^(bool|u8|u64|u128|address|signer|vector<.+>|0x[0-9a-zA-Z:_<, >]+)$
    MoveAbility:
      type: string
    MoveStructGenericTypeParam:
      type: object
      description: Move generic type param
      required:
        - constraints
      properties:
        constraints:
          type: array
          description: >-
            Move abilities tied to the generic type param and associated with
            the type that uses it
          items:
            $ref: '#/components/schemas/MoveAbility'
    MoveStructField:
      type: object
      description: Move struct field
      required:
        - name
        - type
      properties:
        name:
          $ref: '#/components/schemas/IdentifierWrapper'
        type:
          $ref: '#/components/schemas/MoveType'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.