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

# Get wallets by environment

> Retrieve wallets for a specified environment



## OpenAPI

````yaml get /environments/{environmentId}/wallets
openapi: 3.0.1
info:
  title: Dashboard API
  description: Dashboard API documentation
  version: 1.0.0
servers:
  - url: https://app.dynamicauth.com/api/v0
  - url: https://app.dynamic.xyz/api/v0
  - url: http://localhost:3333/api/v0
security: []
tags:
  - name: Analytics
  - name: SDK
  - name: Organizations
  - name: Projects
  - name: Environments
  - name: Users
  - name: Invites
  - name: Tokens
  - name: Origins
  - name: Allowlists
  - name: Wallets
  - name: Members
  - name: Sessions
  - name: Settings
  - name: Gates
  - name: Chains
  - name: Exports
  - name: Events
  - name: Webhooks
  - name: Custom Fields
  - name: OrganizationMfaSettings
  - name: CustomHostnames
  - name: TestAccount
  - name: NameServices
  - name: GlobalWallets
  - name: GlobalWalletConnections
  - name: UserApiTokens
  - name: Waas
  - name: WalletConnect
paths:
  /environments/{environmentId}/wallets:
    get:
      tags:
        - Wallets
      summary: Get wallets by environment
      description: Retrieve wallets for a specified environment
      operationId: getWalletsByEnvironmentId
      parameters:
        - $ref: '#/components/parameters/environmentId'
        - in: query
          name: limit
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
          description: Maximum number of wallets to return
        - in: query
          name: offset
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
          description: Number of wallets to skip
      responses:
        '200':
          description: Successful response with wallets
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - bearerAuth: []
components:
  parameters:
    environmentId:
      in: path
      name: environmentId
      required: true
      description: ID of the environment
      schema:
        $ref: '#/components/schemas/uuid'
  schemas:
    WalletsResponse:
      type: object
      required:
        - wallets
        - count
      properties:
        wallets:
          type: array
          items:
            $ref: '#/components/schemas/WalletDetail'
        count:
          type: integer
          description: Total number of wallets matching the filter
        limit:
          type: integer
          description: Maximum number of wallets returned
        offset:
          type: integer
          description: Number of wallets skipped
    uuid:
      type: string
      pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
      minLength: 36
      maxLength: 36
      example: 95b11417-f18f-457f-8804-68e361f9164f
    WalletDetail:
      type: object
      required:
        - id
        - userId
        - name
        - chain
        - publicKey
        - lowerPublicKey
        - provider
        - updatedAt
        - createdAt
        - projectEnvironmentId
      properties:
        id:
          $ref: '#/components/schemas/uuid'
        userId:
          $ref: '#/components/schemas/uuid'
        name:
          $ref: '#/components/schemas/NonEmptyString'
        chain:
          $ref: '#/components/schemas/ChainEnum'
        publicKey:
          $ref: '#/components/schemas/WalletPublicKey'
        lowerPublicKey:
          $ref: '#/components/schemas/WalletPublicKey'
        walletBookName:
          $ref: '#/components/schemas/NonEmptyStringWith255MaxLength'
        provider:
          $ref: '#/components/schemas/WalletProviderEnum'
        walletAdditionalAddresses:
          type: array
          items:
            $ref: '#/components/schemas/WalletAdditionalAddress'
        signerWalletId:
          $ref: '#/components/schemas/uuid'
        lastSelectedAt:
          type: string
          format: date-time
          nullable: true
        updatedAt:
          type: string
          format: date-time
        createdAt:
          type: string
          format: date-time
        deletedAt:
          type: string
          format: date-time
          nullable: true
        turnkeyHDWalletId:
          $ref: '#/components/schemas/uuid'
        signInEnabled:
          type: boolean
          nullable: true
        projectEnvironmentId:
          $ref: '#/components/schemas/uuid'
        entryPointVersion:
          type: string
          nullable: true
        kernelVersion:
          type: string
          nullable: true
        ecdsaProviderType:
          type: string
          nullable: true
        deletedUserId:
          $ref: '#/components/schemas/uuid'
        hardwareWallet:
          type: object
          nullable: true
        waasWallet:
          $ref: '#/components/schemas/WaasWallet'
        delegatedAccessWalletApiKeys:
          type: array
          items:
            $ref: '#/components/schemas/DelegatedAccessWalletApiKey'
    BadRequest:
      type: object
      properties:
        error:
          type: string
    Unauthorized:
      type: object
      properties:
        error:
          type: string
          example: No jwt provided!
    Forbidden:
      type: object
      properties:
        error:
          type: string
          example: Access Forbidden
    InternalServerError:
      type: object
      properties:
        error:
          type: string
          example: Internal Server Error
    NonEmptyString:
      type: string
      pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$
      example: An example name
    ChainEnum:
      type: string
      enum:
        - ETH
        - EVM
        - FLOW
        - SOL
        - ALGO
        - STARK
        - COSMOS
        - BTC
        - ECLIPSE
        - SUI
        - SPARK
        - TRON
        - APTOS
        - TON
        - STELLAR
    WalletPublicKey:
      type: string
      pattern: ^[A-Za-z0-9]{18,100}$
      description: >-
        Valid blockchain wallet address, must be an alphanumeric string without
        any special characters
      example: '0xbF394748301603f18d953C90F0b087CBEC0E1834'
      maxLength: 255
    NonEmptyStringWith255MaxLength:
      type: string
      pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$
      maxLength: 255
      example: An example name
    WalletProviderEnum:
      type: string
      enum:
        - browserExtension
        - custodialService
        - walletConnect
        - qrCode
        - deepLink
        - embeddedWallet
        - smartContractWallet
    WalletAdditionalAddress:
      type: object
      description: An additional address associated with a wallet.
      required:
        - address
        - type
      properties:
        address:
          type: string
          description: An address associated with a wallet.
        publicKey:
          type: string
          description: The public key associated with the address.
        type:
          $ref: '#/components/schemas/WalletAddressType'
    WaasWallet:
      type: object
      required:
        - accountAddress
        - chainName
        - derivationPath
        - thresholdSignatureScheme
        - walletId
      properties:
        accountAddress:
          type: string
          description: The account address of the wallet
        chainName:
          $ref: '#/components/schemas/WaasChainEnum'
        walletId:
          $ref: '#/components/schemas/uuid'
        thresholdSignatureScheme:
          $ref: '#/components/schemas/ThresholdSignatureScheme'
        derivationPath:
          type: string
          description: The derivation path used for the wallet
        keyShares:
          type: array
          items:
            $ref: '#/components/schemas/WalletKeyShareInfo'
    DelegatedAccessWalletApiKey:
      type: object
      required:
        - encryptionPublicKey
        - scopes
        - createdAt
        - updatedAt
      properties:
        encryptionPublicKey:
          $ref: '#/components/schemas/DelegatedAccessEncryptionPublicKey'
        scopes:
          type: array
          items:
            type: string
        expiresAt:
          type: string
          format: date-time
          nullable: true
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        deletedAt:
          type: string
          format: date-time
          nullable: true
    WalletAddressType:
      type: string
      enum:
        - ordinals
        - payment
        - cosmos
        - evm
        - ton
    WaasChainEnum:
      type: string
      enum:
        - EVM
        - SVM
        - SUI
        - BTC
        - TON
    ThresholdSignatureScheme:
      type: string
      enum:
        - TWO_OF_TWO
        - TWO_OF_THREE
        - THREE_OF_FIVE
    WalletKeyShareInfo:
      type: object
      required:
        - id
        - backupLocation
        - passwordEncrypted
      properties:
        id:
          $ref: '#/components/schemas/uuid'
        backupLocation:
          type: string
        passwordEncrypted:
          type: boolean
        externalKeyShareId:
          $ref: '#/components/schemas/uuid'
    DelegatedAccessEncryptionPublicKey:
      type: object
      required:
        - id
        - projectEnvironmentId
        - kid
        - alg
        - publicKeyPemB64
        - status
        - type
        - createdAt
        - updatedAt
      properties:
        id:
          $ref: '#/components/schemas/uuid'
        projectEnvironmentId:
          $ref: '#/components/schemas/uuid'
        kid:
          type: string
          description: >-
            Short identifier referenced in webhook envelopes so the developer
            knows which private key to use
          maxLength: 64
        alg:
          type: string
          enum:
            - RSA-OAEP-256
            - HYBRID-RSA-AES-256
          description: Algorithm for how this key is used
        publicKeyPemB64:
          type: string
          description: Developer's public key material, PEM encoded then base64'd
          maxLength: 4096
        status:
          type: string
          enum:
            - pending
            - active
            - revoked
          description: Lifecycle status of this key
        type:
          $ref: '#/components/schemas/WaasDelegatedAccessEncryptionPublicKeyType'
        expiresAt:
          type: string
          format: date-time
          nullable: true
          description: Optional expiry for planned rotations
        revokedAt:
          type: string
          format: date-time
          nullable: true
          description: Timestamp when the key was revoked
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    WaasDelegatedAccessEncryptionPublicKeyType:
      type: string
      enum:
        - dynamic
        - external
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BadRequest'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Unauthorized'
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Forbidden'
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalServerError'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````