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

# List customer wallets

> Returns a paginated list of wallets belonging to the customer. Requires the crypto wallets feature to be active.



## OpenAPI

````yaml https://api.sandbox.conduit.financial/v2/api-docs/openapi.json get /customers/{customerId}/wallets
openapi: 3.0.0
info:
  title: Conduit Sandbox API
  description: >-
    **Sandbox API** — clients integrate against this surface to exercise happy
    and unhappy paths without consuming real KYC/PSP credits or moving real
    money. Customer KYC, banking partners, and crypto custody are stubbed;
    org-level KYB runs against real providers. Simulation endpoints under
    `/v2/sandbox/*` drive specific scenarios.


    Internal and portal endpoints are excluded from this spec.
  version: '2.0'
  contact: {}
servers:
  - url: https://api.sandbox.conduit.financial/v2
    description: Sandbox
  - url: https://api.conduit.financial/v2
    description: Production
security:
  - api-key: []
tags:
  - name: Customers
  - name: Registered Addresses
  - name: Wallets
  - name: Wallet Signers
  - name: Signing Quorum
  - name: Virtual Accounts
  - name: Applications
  - name: Documents
  - name: Verifications
  - name: Signing Requests
  - name: Transactions
  - name: Payouts
  - name: Whitelist Recipients
  - name: Orders
  - name: RFIs
  - name: Webhook Endpoints
  - name: Webhook Deliveries
  - name: Webhook Event Types
  - name: Features
  - name: Customer Onboarding
  - name: Sandbox
paths:
  /customers/{customerId}/wallets:
    get:
      tags:
        - Wallets
      summary: List customer wallets
      description: >-
        Returns a paginated list of wallets belonging to the customer. Requires
        the crypto wallets feature to be active.
      operationId: WalletsCustomerController_listWallets_v2
      parameters:
        - name: customerId
          required: true
          in: path
          schema:
            type: string
        - name: cursor
          required: false
          in: query
          description: Opaque cursor from a previous response to fetch the next page
          schema:
            type: string
        - name: limit
          required: false
          in: query
          description: Maximum number of results to return (1-100)
          schema:
            minimum: 1
            maximum: 100
            default: 20
            type: number
        - name: direction
          required: false
          in: query
          description: Pagination direction relative to the cursor
          schema:
            enum:
              - forward
              - backward
            type: string
        - name: clientReferenceId
          required: false
          in: query
          description: >-
            Client-supplied reference, unique per resource within your
            organization. 1-255 characters from A-Za-z, 0-9, underscore, hyphen,
            colon, and period — no spaces.
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletListResponse'
        '400':
          description: >-
            **INVALID_OID_FORMAT**: A path or query parameter expected a valid
            object identifier but received a value that does not match the
            expected format.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorDto'
              example:
                type: INVALID_OID_FORMAT
                title: Invalid Object ID Format
                status: 400
                detail: >-
                  A path or query parameter expected a valid object identifier
                  but received a value that does not match the expected format.
                resolution: >-
                  Verify that all IDs in the request URL and query parameters
                  are correctly formatted. IDs are typically prefixed strings
                  like 'cus_...', 'app_...', or 'doc_...'.
                docs: https://conduit-v2.mintlify.app/errors#invalid-oid-format
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '401':
          description: >-
            **API_KEY_MISSING**: The request did not include an API key. All API
            requests must be authenticated.


            **API_KEY_INVALID**: The provided API key is not recognized or has
            been revoked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: API_KEY_MISSING
                title: API Key Missing
                status: 401
                detail: >-
                  The request did not include an API key. All API requests must
                  be authenticated.
                resolution: >-
                  Include your API key in the 'x-api-key' header with every
                  request.
                docs: https://conduit-v2.mintlify.app/errors#api-key-missing
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '403':
          description: >-
            **FEATURE_NOT_ENABLED**: Your account does not have access to this
            feature. Features are enabled on a per-account basis.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: FEATURE_NOT_ENABLED
                title: Feature Not Enabled
                status: 403
                detail: >-
                  Your account does not have access to this feature. Features
                  are enabled on a per-account basis.
                resolution: >-
                  Contact support to request access to this feature, or check
                  your account settings to verify which features are enabled.
                docs: https://conduit-v2.mintlify.app/errors#feature-not-enabled
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '404':
          description: >-
            **CUSTOMER_NOT_FOUND**: No customer exists with the specified ID, or
            the customer belongs to a different organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: CUSTOMER_NOT_FOUND
                title: Customer Not Found
                status: 404
                detail: >-
                  No customer exists with the specified ID, or the customer
                  belongs to a different organization.
                resolution: >-
                  Verify the customer ID is correct. Use the list customers
                  endpoint to find valid customer IDs for your organization.
                docs: https://conduit-v2.mintlify.app/errors#customer-not-found
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '429':
          description: >-
            **RATE_LIMITED**: Too many requests. This error is returned by three
            independent checks: the per-organization bucket applied to every
            authenticated API request; the per-IP bucket applied to
            unauthenticated traffic before an API key is validated; and the
            per-IP bucket applied when repeated invalid API keys are submitted
            from the same address. Honor the Retry-After header (also exposed as
            retryAfterSeconds in the body) before retrying. Current limits and
            remaining budget are visible in X-RateLimit-Limit,
            X-RateLimit-Remaining, and X-RateLimit-Reset on rate-limited route
            responses.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitedErrorDto'
              example:
                type: RATE_LIMITED
                title: Rate Limited
                status: 429
                detail: >-
                  Too many requests. This error is returned by three independent
                  checks: the per-organization bucket applied to every
                  authenticated API request; the per-IP bucket applied to
                  unauthenticated traffic before an API key is validated; and
                  the per-IP bucket applied when repeated invalid API keys are
                  submitted from the same address. Honor the Retry-After header
                  (also exposed as retryAfterSeconds in the body) before
                  retrying. Current limits and remaining budget are visible in
                  X-RateLimit-Limit, X-RateLimit-Remaining, and
                  X-RateLimit-Reset on rate-limited route responses.
                resolution: >-
                  Sleep until Retry-After seconds have elapsed, then retry. For
                  sustained workloads exceeding the per-organization defaults,
                  request a rate-limit increase through your support contact.
                docs: https://conduit-v2.mintlify.app/errors#rate-limited
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
                retryAfterSeconds: 3
        '500':
          description: >-
            **INTERNAL_ERROR**: An unexpected error occurred while processing
            your request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: INTERNAL_ERROR
                title: Internal Error
                status: 500
                detail: An unexpected error occurred while processing your request.
                resolution: >-
                  Retry the request after a brief delay. If the error persists,
                  contact support and include the correlationId from the error
                  response for investigation.
                docs: https://conduit-v2.mintlify.app/errors#internal-error
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
components:
  schemas:
    WalletListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                pattern: ^wlt_[0-9A-Za-z]{22}$
                description: Unique wallet identifier
                example: wlt_2xKjF9mQb7vN4hL1pR3w8t
              chain:
                type: string
                enum:
                  - ethereum
                  - base
                  - polygon
                  - solana
                  - tron
                description: Blockchain network of the wallet
                example: ethereum
              address:
                type: string
                description: On-chain wallet address, null while provisioning
                example: '0x742d35Cc6634C0532925a3b844Bc9e7595f2bD18'
                nullable: true
              status:
                description: Current wallet lifecycle status
                type: string
                enum:
                  - pending
                  - active
                  - disabled
              custodyModel:
                description: >-
                  Which side holds the signing key. `custodial` — Conduit signs
                  on the customer's behalf. `non_custodial` — the customer
                  co-signs each payout via the verify URL (see
                  `requiresUserSignature` on payouts). Omitted when the custody
                  model has not yet been determined.
                type: string
                enum:
                  - non_custodial
                  - custodial
              rotatedAt:
                description: Timestamp of the last key rotation, omitted until rotated
                type: string
                format: date-time
                example: '2026-01-15T09:30:00.000Z'
              replacedByWalletId:
                description: >-
                  ID of the wallet that replaced this one after rotation,
                  omitted until rotated
                type: string
                pattern: ^wlt_[0-9A-Za-z]{22}$
              clientReferenceId:
                type: string
                pattern: ^[A-Za-z0-9_\-:.]{1,255}$
                description: >-
                  Client-supplied reference, unique per resource within your
                  organization. 1-255 characters from A-Za-z, 0-9, underscore,
                  hyphen, colon, and period — no spaces.
              balances:
                type: array
                items:
                  type: object
                  properties:
                    available:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - USD
                            - EUR
                            - GBP
                            - CHF
                            - JPY
                            - CAD
                            - AUD
                            - NZD
                            - SGD
                            - HKD
                            - CNY
                            - KRW
                            - INR
                            - BRL
                            - MXN
                            - ARS
                            - CLP
                            - COP
                            - PEN
                            - ZAR
                            - NGN
                            - KES
                            - GHS
                            - EGP
                            - AED
                            - SAR
                            - ILS
                            - TRY
                            - PLN
                            - CZK
                            - HUF
                            - SEK
                            - NOK
                            - DKK
                            - THB
                            - IDR
                            - MYR
                            - PHP
                            - VND
                            - TWD
                            - USDC
                            - USDT
                            - DAI
                            - EURC
                            - PYUSD
                            - BTC
                            - ETH
                            - SOL
                            - TRX
                          description: Asset code (USDC, USD, etc.)
                        chain:
                          description: Chain when the asset is on-chain; omitted for fiat.
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - arbitrum
                            - optimism
                            - avalanche
                            - tron
                            - stellar
                            - bsc
                            - bitcoin
                        amount:
                          type: string
                          description: Decimal string, asset-precision rounded
                      required:
                        - code
                        - amount
                      additionalProperties: false
                    pending:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - USD
                            - EUR
                            - GBP
                            - CHF
                            - JPY
                            - CAD
                            - AUD
                            - NZD
                            - SGD
                            - HKD
                            - CNY
                            - KRW
                            - INR
                            - BRL
                            - MXN
                            - ARS
                            - CLP
                            - COP
                            - PEN
                            - ZAR
                            - NGN
                            - KES
                            - GHS
                            - EGP
                            - AED
                            - SAR
                            - ILS
                            - TRY
                            - PLN
                            - CZK
                            - HUF
                            - SEK
                            - NOK
                            - DKK
                            - THB
                            - IDR
                            - MYR
                            - PHP
                            - VND
                            - TWD
                            - USDC
                            - USDT
                            - DAI
                            - EURC
                            - PYUSD
                            - BTC
                            - ETH
                            - SOL
                            - TRX
                          description: Asset code (USDC, USD, etc.)
                        chain:
                          description: Chain when the asset is on-chain; omitted for fiat.
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - arbitrum
                            - optimism
                            - avalanche
                            - tron
                            - stellar
                            - bsc
                            - bitcoin
                        amount:
                          type: string
                          description: Decimal string, asset-precision rounded
                      required:
                        - code
                        - amount
                      additionalProperties: false
                    frozen:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - USD
                            - EUR
                            - GBP
                            - CHF
                            - JPY
                            - CAD
                            - AUD
                            - NZD
                            - SGD
                            - HKD
                            - CNY
                            - KRW
                            - INR
                            - BRL
                            - MXN
                            - ARS
                            - CLP
                            - COP
                            - PEN
                            - ZAR
                            - NGN
                            - KES
                            - GHS
                            - EGP
                            - AED
                            - SAR
                            - ILS
                            - TRY
                            - PLN
                            - CZK
                            - HUF
                            - SEK
                            - NOK
                            - DKK
                            - THB
                            - IDR
                            - MYR
                            - PHP
                            - VND
                            - TWD
                            - USDC
                            - USDT
                            - DAI
                            - EURC
                            - PYUSD
                            - BTC
                            - ETH
                            - SOL
                            - TRX
                          description: Asset code (USDC, USD, etc.)
                        chain:
                          description: Chain when the asset is on-chain; omitted for fiat.
                          type: string
                          enum:
                            - ethereum
                            - base
                            - solana
                            - polygon
                            - arbitrum
                            - optimism
                            - avalanche
                            - tron
                            - stellar
                            - bsc
                            - bitcoin
                        amount:
                          type: string
                          description: Decimal string, asset-precision rounded
                      required:
                        - code
                        - amount
                      additionalProperties: false
                  required:
                    - available
                    - pending
                    - frozen
                  description: >-
                    Balance for one asset on an account: available, pending, and
                    frozen buckets all in the same asset.
                description: Wallet balances by asset
              createdAt:
                type: string
                format: date-time
                description: Timestamp when the wallet was created
                example: '2026-01-15T09:30:00.000Z'
              updatedAt:
                type: string
                format: date-time
                description: Timestamp when the wallet was last updated
                example: '2026-01-15T09:30:00.000Z'
            required:
              - id
              - chain
              - address
              - status
              - balances
              - createdAt
              - updatedAt
          description: List of wallets
        meta:
          type: object
          properties:
            mode:
              type: string
              description: Pagination mode
              example: cursor
              enum:
                - cursor
            nextCursor:
              type: string
              description: Cursor for the next page, null if no more results
              example: eyJpZCI6ImN1c18yeFBxTjhSIn0
              nullable: true
            previousCursor:
              type: string
              description: Cursor for the previous page, null if at the start
              example: null
              nullable: true
            total:
              type: number
              description: Total number of records matching the query
              example: 42
          required:
            - mode
            - nextCursor
            - previousCursor
            - total
          description: Pagination metadata
      required:
        - data
        - meta
    ValidationErrorDto:
      type: object
      properties:
        type:
          type: string
          description: Machine-readable error code
          example: CUSTOMER_NOT_FOUND
        title:
          type: string
          description: Human-readable error type label
          example: Customer Not Found
        status:
          type: number
          description: HTTP status code
          example: 404
        detail:
          type: string
          description: Human-readable explanation of this occurrence
          example: Customer with id cus_abc123 not found
        resolution:
          type: string
          description: What the developer should do to resolve this error
          example: >-
            Verify the customer ID. Check you are using the correct API key for
            this organization.
        docs:
          type: string
          description: URL to error documentation
          example: https://conduit-v2.mintlify.app/errors#customer-not-found
        instance:
          type: string
          description: Request path that produced the error
          example: /v2/customers/cus_abc123
        correlationId:
          description: Request correlation ID
          example: req_a1b2c3d4
          type: string
        timestamp:
          type: string
          description: ISO 8601 UTC timestamp
          example: '2026-04-27T20:00:00.000Z'
        details:
          description: >-
            Additional structured data for domain-specific errors (e.g. missing
            field lists, pair info)
        errors:
          type: array
          items:
            type: object
            properties:
              pointer:
                type: string
                description: JSON pointer to the invalid field
                example: /email
              detail:
                type: string
                description: What is wrong with this field
                example: Invalid email format
              allowedValues:
                description: The values this field accepts, when it is a closed set
                example:
                  - ach
                  - fedwire
                  - rtp
                type: array
                items:
                  type: string
              category:
                description: >-
                  Class of blocker (requirements-validator output only). 'field'
                  = form-field gap, 'document' = missing or insufficient
                  document (including per-UBO document slots), 'individual' =
                  required person missing.
                example: field
                type: string
                enum:
                  - field
                  - document
                  - individual
            required:
              - pointer
              - detail
      required:
        - type
        - title
        - status
        - detail
        - resolution
        - docs
        - instance
        - timestamp
    ProblemDetailDto:
      type: object
      properties:
        type:
          type: string
          description: Machine-readable error code
          example: CUSTOMER_NOT_FOUND
        title:
          type: string
          description: Human-readable error type label
          example: Customer Not Found
        status:
          type: number
          description: HTTP status code
          example: 404
        detail:
          type: string
          description: Human-readable explanation of this occurrence
          example: Customer with id cus_abc123 not found
        resolution:
          type: string
          description: What the developer should do to resolve this error
          example: >-
            Verify the customer ID. Check you are using the correct API key for
            this organization.
        docs:
          type: string
          description: URL to error documentation
          example: https://conduit-v2.mintlify.app/errors#customer-not-found
        instance:
          type: string
          description: Request path that produced the error
          example: /v2/customers/cus_abc123
        correlationId:
          description: Request correlation ID
          example: req_a1b2c3d4
          type: string
        timestamp:
          type: string
          description: ISO 8601 UTC timestamp
          example: '2026-04-27T20:00:00.000Z'
        details:
          description: >-
            Additional structured data for domain-specific errors (e.g. missing
            field lists, pair info)
      required:
        - type
        - title
        - status
        - detail
        - resolution
        - docs
        - instance
        - timestamp
    RateLimitedErrorDto:
      type: object
      properties:
        type:
          type: string
          description: Machine-readable error code
          example: CUSTOMER_NOT_FOUND
        title:
          type: string
          description: Human-readable error type label
          example: Customer Not Found
        status:
          type: number
          description: HTTP status code
          example: 404
        detail:
          type: string
          description: Human-readable explanation of this occurrence
          example: Customer with id cus_abc123 not found
        resolution:
          type: string
          description: What the developer should do to resolve this error
          example: >-
            Verify the customer ID. Check you are using the correct API key for
            this organization.
        docs:
          type: string
          description: URL to error documentation
          example: https://conduit-v2.mintlify.app/errors#customer-not-found
        instance:
          type: string
          description: Request path that produced the error
          example: /v2/customers/cus_abc123
        correlationId:
          description: Request correlation ID
          example: req_a1b2c3d4
          type: string
        timestamp:
          type: string
          description: ISO 8601 UTC timestamp
          example: '2026-04-27T20:00:00.000Z'
        details:
          description: >-
            Additional structured data for domain-specific errors (e.g. missing
            field lists, pair info)
        retryAfterSeconds:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          maximum: 9007199254740991
          description: Seconds to wait before retrying
          example: 3
      required:
        - type
        - title
        - status
        - detail
        - resolution
        - docs
        - instance
        - timestamp
        - retryAfterSeconds
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: x-api-key

````