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

> ## Agent Instructions
> Money amounts are always major-unit decimal strings (e.g. "1000.00"), never floats and never minor units, in every request, response, and webhook payload.
> Authentication is OAuth 2.0 client credentials: exchange the Client ID and Client Secret at the Token URL for a 24-hour JWT and cache it; do not request a token per call.
> Set a unique clientRef on every money-moving request; it is the idempotency key, and retries return the original resource.
> Quotes are single-use, intent-locked, and expire fast: always read expiresAt, consume the quote with the executor matching its intent, and re-quote on expiry instead of retrying.
> Prefer webhooks over polling for payout, order, application, and virtual-account status tracking.
> Use the sandbox (api.sandbox.zuba.com) with its deterministic magic values before touching production.

# Get a wallet

> One wallet of the request owner. A wallet that belongs to another owner, including a sub-account's when the header is omitted, is not found.



## OpenAPI

````yaml /openapi.json get /v1/wallets/{id}
openapi: 3.0.0
info:
  contact: {}
  description: >-
    Comprehensive payment platform API supporting fiat and crypto payments,
    currency conversion, and compliance management
  title: Zuba Payment Platform API
  version: '1.0'
servers: []
security: []
tags:
  - description: Manage M2M API keys and credentials
    name: API Keys
  - description: Per-country bank directories and bank-account enquiries
    name: Banks
  - description: Internal ledger accounts and transactions
    name: Ledger
  - description: Handle incoming payments and deposits
    name: Pay-ins
  - description: Manage payouts, beneficiaries, and SEPA transfers
    name: Payouts
  - description: Manage outbound webhook endpoints and deliveries
    name: Webhooks
paths:
  /v1/wallets/{id}:
    get:
      tags:
        - Wallets
      summary: Get a wallet
      description: >-
        One wallet of the request owner. A wallet that belongs to another owner,
        including a sub-account's when the header is omitted, is not found.
      operationId: WalletsController_get
      parameters:
        - description: Wallet id
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
        - description: >-
            Optional. Names an owned sub-account (UUID) to act on. Omit to act
            at the master (tenant) level. Naming an account this key does not
            own returns 403 not_account_owner.
          in: header
          name: Zuba-Account-Id
          required: false
          schema:
            format: uuid
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletResponseDto'
          description: The wallet
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericErrorResponseDto'
          description: Malformed wallet id
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericErrorResponseDto'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GenericErrorResponseDto'
          description: >-
            Insufficient role, or not_account_owner (Zuba-Account-Id does not
            name an account you own).
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericErrorResponseDto'
          description: Wallet not found
      security:
        - bearer: []
components:
  schemas:
    WalletResponseDto:
      properties:
        accountId:
          description: >-
            The sub-account that owns the wallet; deposits to it settle into
            that sub-account's balance. Absent when the wallet belongs to your
            master account.
          format: uuid
          type: string
        address:
          description: >-
            On-chain address to send funds to. Deposits are credited only on the
            wallet's own network: an EVM address is syntactically valid on every
            EVM chain, but a transfer to it on another chain is not credited.
          example: '0x1234567890abcdef1234567890abcdef12345678'
          type: string
        assets:
          description: >-
            Stablecoins your account is credited for when they arrive at this
            address. Any other token, and any listed token sent on another
            network, is not credited. Empty when nothing on this network is
            currently offered to your account, and empty on a wallet whose
            status is not `active`, which credits nothing.
          example:
            - USDT
            - USDC
          items:
            type: string
          type: array
        clientRef:
          description: The client reference the wallet was opened with, if any.
          example: customer-1234
          type: string
        createdAt:
          description: When the wallet was opened, ISO-8601.
          example: '2026-09-09T12:00:00.000Z'
          type: string
        id:
          description: Wallet id.
          example: 9b2f4c1e-3d7a-4e8b-9f01-2c3d4e5f6a7b
          format: uuid
          type: string
        network:
          enum:
            - eip155:1
            - eip155:8453
            - eip155:4217
            - eip155:42431
            - solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
            - tron:mainnet
            - solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1
          example: eip155:1
          type: string
        status:
          description: >-
            `active`: receives deposits. `inactive`: frozen; deposits are held
            for review and the wallet cannot be re-requested. Contact support.
          enum:
            - active
            - inactive
          example: active
          type: string
      required:
        - id
        - network
        - address
        - assets
        - status
        - createdAt
      type: object
    GenericErrorResponseDto:
      properties:
        error:
          description: Error type identifier
          example: BAD_REQUEST
          type: string
        message:
          description: Error message
          example: Bad Request
          type: string
        path:
          description: Request path that generated the error
          example: /v1/resource
          type: string
        statusCode:
          description: HTTP status code
          example: 400
          type: number
        timestamp:
          description: ISO timestamp when the error occurred
          example: '2024-01-15T10:30:00.000Z'
          type: string
      required:
        - statusCode
        - message
        - error
        - timestamp
        - path
      type: object
  securitySchemes:
    bearer:
      bearerFormat: JWT
      description: Enter Auth0 JWT token
      scheme: bearer
      type: http

````