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

# List wallets with balances

> Retrieves a list of all wallets that match the specified parameters. Wallet balances update automatically after each transfer.

**Note**: On Aptos, this endpoint only returns balances for tokens stored in primary storage. Tokens held in [AIP-21](https://github.com/aptos-labs/aptos-core/releases/tag/aptos-node-v1.5.0) secondary storage are excluded from balance queries and deposit notifications to prevent incorrect or misleading results from secondary storage-based state changes.



## OpenAPI

````yaml openapi/developer-controlled-wallets.yaml get /v1/w3s/developer/wallets/balances
openapi: 3.0.3
info:
  version: '1.0'
  title: Developer-Controlled Wallets
  description: Developer-Controlled Wallets API documentation.
servers:
  - url: https://api.circle.com
security:
  - BearerAuth: []
tags:
  - name: Wallet Sets
  - name: Wallets
  - name: Signing
  - name: Transactions
  - name: Token Lookup
paths:
  /v1/w3s/developer/wallets/balances:
    get:
      tags:
        - Wallets
      summary: List wallets with balances
      description: >-
        Retrieves a list of all wallets that match the specified parameters.
        Wallet balances update automatically after each transfer.


        **Note**: On Aptos, this endpoint only returns balances for tokens
        stored in primary storage. Tokens held in
        [AIP-21](https://github.com/aptos-labs/aptos-core/releases/tag/aptos-node-v1.5.0)
        secondary storage are excluded from balance queries and deposit
        notifications to prevent incorrect or misleading results from secondary
        storage-based state changes.
      operationId: getWalletsWithBalances
      parameters:
        - description: Filter by blockchain.
          name: blockchain
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/Blockchain'
        - $ref: '#/components/parameters/XRequestId'
        - $ref: '#/components/parameters/WalletAddress'
        - $ref: '#/components/parameters/ScaCore'
        - $ref: '#/components/parameters/WalletSetId'
        - $ref: '#/components/parameters/ReferenceId'
        - $ref: '#/components/parameters/AmountGte'
        - $ref: '#/components/parameters/TokenAddress'
        - $ref: '#/components/parameters/From'
        - $ref: '#/components/parameters/To'
        - $ref: '#/components/parameters/PageBefore'
        - $ref: '#/components/parameters/PageAfter'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Successfully retrieved wallets with balances.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletsWithBalances'
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
            Link:
              $ref: '#/components/headers/PaginationLink'
        '401':
          $ref: '#/components/responses/NotAuthorized'
      security:
        - BearerAuth: []
components:
  schemas:
    Blockchain:
      type: string
      description: >-
        The blockchain network that the resource is to be created on or is
        currently on.
      enum:
        - ETH
        - ETH-SEPOLIA
        - AVAX
        - AVAX-FUJI
        - MATIC
        - MATIC-AMOY
        - SOL
        - SOL-DEVNET
        - ARB
        - ARB-SEPOLIA
        - NEAR
        - NEAR-TESTNET
        - EVM
        - EVM-TESTNET
        - UNI
        - UNI-SEPOLIA
        - BASE
        - BASE-SEPOLIA
        - OP
        - OP-SEPOLIA
        - APTOS
        - APTOS-TESTNET
        - ARC-TESTNET
        - MONAD
        - MONAD-TESTNET
      example: MATIC-AMOY
    WalletsWithBalances:
      title: WalletsWithBalancesResponse
      type: object
      required:
        - data
      properties:
        data:
          type: object
          required:
            - wallets
          properties:
            wallets:
              type: array
              items:
                oneOf:
                  - $ref: '#/components/schemas/EOAWalletWithBalances'
                  - $ref: '#/components/schemas/SCAWalletWithBalances'
                discriminator:
                  propertyName: accountType
    XRequestId:
      type: string
      format: uuid
      description: >-
        A unique identifier, which can be helpful for identifying a request when
        communicating with Circle support.
      example: 2adba88e-9d63-44bc-b975-9b6ae3440dde
    Address:
      title: Address
      description: >
        Blockchain generated unique identifier, associated with wallet
        (account), smart contract or other blockchain objects.
      type: string
      example: '0xca9142d0b9804ef5e239d3bc1c7aa0d1c74e7350'
    ScaCore:
      type: string
      description: >-
        SCAs have different versions, each with unique functionality. `SCACore`
        displays the version of the SCA being created. For a list of supported
        versions, refer to the developer documentation.
      enum:
        - circle_4337_v1
        - circle_6900_singleowner_v1
        - circle_6900_singleowner_v2
        - circle_6900_singleowner_v3
      example: circle_6900_singleowner_v2
    Id:
      type: string
      format: uuid
      description: System-generated unique identifier of the resource.
      example: c4d1da72-111e-4d52-bdbf-2e74a2d803d5
    ReferenceId:
      type: string
      description: >-
        Optional user-defined reference identifier for the wallet. Not used by
        Circle for wallet functionality. Used for internal tracking or
        associating wallets with entities in your own systems (for example, a
        customer or account ID).
      example: customer_12345
    AmountOperator:
      title: Amount
      type: string
      description: >-
        Filters by the specified amount. If `tokenAddress` is provided, the
        filter applies to that token; otherwise, it applies to the native token.
      example: '10.0'
    EOAWalletWithBalances:
      title: EOAWalletWithBalances
      allOf:
        - $ref: '#/components/schemas/Wallet'
        - type: object
          required:
            - accountType
            - tokenBalances
          properties:
            accountType:
              type: string
              description: >
                An account can be a Smart Contract Account (SCA) or an
                Externally Owned Account (EOA). To learn more, see the [account
                types
                guide](https://developers.circle.com/wallets/account-types).


                If an account type is not specified during the creation of a
                wallet, it defaults to `EOA` (Externally Owned Account). Note
                that Solana and Aptos don't support Smart Contract Account
                (SCA).
              enum:
                - EOA
            tokenBalances:
              description: >-
                Lists native token balances and, if specified, USDC/EURC
                balances for the wallets.
              type: array
              items:
                $ref: '#/components/schemas/Balance'
    SCAWalletWithBalances:
      title: SCAWalletWithBalances
      allOf:
        - $ref: '#/components/schemas/Wallet'
        - type: object
          required:
            - accountType
            - scaCore
            - tokenBalances
          properties:
            accountType:
              type: string
              description: >
                An account can be a Smart Contract Account (SCA) or an
                Externally Owned Account (EOA). To learn more, see the [account
                types
                guide](https://developers.circle.com/wallets/account-types).


                If an account type is not specified during the creation of a
                wallet, it defaults to `EOA` (Externally Owned Account). Note
                that Solana and Aptos don't support Smart Contract Account
                (SCA).
              enum:
                - SCA
            scaCore:
              $ref: '#/components/schemas/ScaCore'
            tokenBalances:
              description: >-
                Lists native token balances and, if specified, USDC/EURC
                balances for the wallets.
              type: array
              items:
                $ref: '#/components/schemas/Balance'
    Wallet:
      type: object
      required:
        - id
        - state
        - walletSetId
        - custodyType
        - address
        - blockchain
        - createDate
        - updateDate
      properties:
        id:
          $ref: '#/components/schemas/Id'
        address:
          $ref: '#/components/schemas/Address'
        blockchain:
          $ref: '#/components/schemas/Blockchain'
        createDate:
          $ref: '#/components/schemas/CreateDate'
        updateDate:
          $ref: '#/components/schemas/UpdateDate'
        custodyType:
          $ref: '#/components/schemas/CustodyType'
        name:
          $ref: '#/components/schemas/Name'
        refId:
          $ref: '#/components/schemas/ReferenceId'
        state:
          $ref: '#/components/schemas/WalletState'
        userId:
          $ref: '#/components/schemas/ExternalUserId'
        walletSetId:
          $ref: '#/components/schemas/Id'
        initialPublicKey:
          $ref: '#/components/schemas/InitialPublicKey'
    Balance:
      title: Balance
      type: object
      required:
        - token
        - updateDate
        - amount
      properties:
        amount:
          type: string
          description: Token balance for each token in the wallet.
          example: '6.62607015'
        token:
          $ref: '#/components/schemas/Token'
        updateDate:
          $ref: '#/components/schemas/UpdateDate'
    CreateDate:
      type: string
      format: date-time
      description: Date and time the resource was created, in ISO-8601 UTC format.
      example: '2023-01-01T12:04:05Z'
    UpdateDate:
      type: string
      format: date-time
      description: Date and time the resource was last updated, in ISO-8601 UTC format.
      example: '2023-01-01T12:04:05Z'
    CustodyType:
      type: string
      description: >
        Describes who controls the digital assets in a wallet: either the
        end-user or the developer.
      enum:
        - DEVELOPER
        - ENDUSER
    Name:
      type: string
      description: Name or description associated with the wallet or walletSet.
    WalletState:
      type: string
      description: This enum describes the current state of the wallet.
      enum:
        - LIVE
        - FROZEN
      example: LIVE
    ExternalUserId:
      type: string
      description: Unique system generated identifier for the user.
      example: ext_user_id_1
      maxLength: 50
      minLength: 5
    InitialPublicKey:
      type: string
      description: >-
        For NEAR blockchains only, the originally assigned public key of a
        wallet at the time of its creation.
      example: 3eQoJ3ex6uWX3R8F1THF6Y6oBQwPYpF1X9HBM1gjqw7w
    Token:
      title: Token
      type: object
      required:
        - id
        - blockchain
        - isNative
        - createDate
        - updateDate
      properties:
        id:
          $ref: '#/components/schemas/Id'
        name:
          type: string
          description: Blockchain name of the specified token.
        standard:
          $ref: '#/components/schemas/TokenStandard'
        blockchain:
          $ref: '#/components/schemas/Blockchain'
        decimals:
          type: integer
          description: Number of decimal places shown in the token amount.
        isNative:
          type: boolean
          description: >-
            Defines if the token is a native token of the specified blockchain.
            If TRUE, the token is a native token.
        symbol:
          type: string
          description: Blockchain symbol of the specified token.
        tokenAddress:
          $ref: '#/components/schemas/Address'
        updateDate:
          $ref: '#/components/schemas/UpdateDate'
        createDate:
          $ref: '#/components/schemas/CreateDate'
    TokenStandard:
      title: TokenStandard
      type: string
      enum:
        - ERC20
        - ERC721
        - ERC1155
        - Fungible
        - FungibleAsset
        - NonFungible
        - NonFungibleEdition
        - ProgrammableNonFungible
        - ProgrammableNonFungibleEdition
  parameters:
    XRequestId:
      name: X-Request-Id
      in: header
      description: >
        Developer-provided identifier for this request, used for tracing
        requests in Wallets API logs and the Developer Console, and when
        communicating with Circle Support.

        **Must be a UUID to appear in logs.** Non-UUID values are accepted by
        the API but are ignored by logging and tracing systems.
      schema:
        $ref: '#/components/schemas/XRequestId'
    WalletAddress:
      name: address
      description: Filter by the blockchain address of the wallet.
      in: query
      schema:
        $ref: '#/components/schemas/Address'
    ScaCore:
      name: scaCore
      description: Filters results by the SCA version.
      in: query
      schema:
        $ref: '#/components/schemas/ScaCore'
    WalletSetId:
      name: walletSetId
      description: Filter by the wallet set.
      in: query
      schema:
        $ref: '#/components/schemas/Id'
    ReferenceId:
      name: refId
      description: Filter by the reference identifier.
      in: query
      schema:
        $ref: '#/components/schemas/ReferenceId'
    AmountGte:
      name: amount__gte
      description: >-
        Filters wallets with a balance greater than or equal to the specified
        amount. If `tokenAddress` is provided, the filter applies to the
        specified token; otherwise, it applies to the native token.
      in: query
      schema:
        $ref: '#/components/schemas/AmountOperator'
    TokenAddress:
      name: tokenAddress
      description: Filter by token address.
      in: query
      schema:
        $ref: '#/components/schemas/Address'
    From:
      name: from
      description: >-
        Queries items created since the specified date-time (inclusive) in ISO
        8601 format.
      in: query
      schema:
        type: string
        format: date-time
        example: '2023-01-01T12:04:05Z'
    To:
      name: to
      description: >-
        Queries items created before the specified date-time (inclusive) in ISO
        8601 format.
      in: query
      schema:
        type: string
        format: date-time
        example: '2023-01-01T12:04:05Z'
    PageBefore:
      name: pageBefore
      description: >
        A collection ID value used for pagination.


        It marks the exclusive end of a page. When provided, the collection
        resource will return the next n items before

        the id, with n being specified by pageSize.


        The items will be returned in the natural order of the collection.


        The resource will return the first page if neither pageAfter nor
        pageBefore are specified. 


        SHOULD NOT be used in conjunction with pageAfter.
      in: query
      schema:
        type: string
        format: uuid
    PageAfter:
      name: pageAfter
      description: >
        A collection ID value used for pagination.


        It marks the exclusive begin of a page. When provided, the collection
        resource will return the next n items after

        the id, with n being specified by pageSize.


        The items will be returned in the natural order of the collection.


        The resource will return the first page if neither pageAfter nor
        pageBefore are specified.


        SHOULD NOT be used in conjunction with pageBefore.
      in: query
      schema:
        type: string
        format: uuid
    PageSize:
      name: pageSize
      description: >
        Limits the number of items to be returned.


        Some collections have a strict upper bound that will disregard this
        value. In case the specified value is higher

        than the allowed limit, the collection limit will be used.


        If avoided, the collection will determine the page size itself.
      in: query
      schema:
        type: integer
        default: 10
        maximum: 50
        minimum: 1
  headers:
    XRequestId:
      description: >
        Developer-provided header parameter or Circle-generated universally
        unique identifier (UUID v4). Useful for identifying a specific request
        when communicating with Circle Support.
      schema:
        $ref: '#/components/schemas/XRequestId'
    PaginationLink:
      description: >
        Pagination cursor information. Format includes the following link
        relations: - self: URL pointing to the current page. - first: URL
        pointing to the first page. - next: URL pointing to the next page
        (omitted on the last page). - prev: URL pointing to the previous page
        (omitted on the first page).

        It's important to form calls with Link header values instead of
        constructing your own URLs.
      schema:
        type: string
        example: >-
          <https://api.circle.com/v1/w3s/wallets?pageAfter=32d1b923-c30d-58de-a42e-157bf7148b85&pageSize=2>;
          rel="next"
  responses:
    NotAuthorized:
      content:
        application/json:
          schema:
            type: object
            title: NotAuthorizedResponse
            required:
              - code
              - message
            properties:
              code:
                type: integer
                description: Code that corresponds to the error.
              message:
                type: string
                description: Message that describes the error.
            example:
              code: 401
              message: Malformed authorization.
      description: >-
        Request has not been applied because it lacks valid authentication
        credentials.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: PREFIX:ID:SECRET
      description: >-
        Circle's API Keys are formatted in the following structure
        "PREFIX:ID:SECRET". All three parts are required to make a successful
        request.

````