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

# Obtener saldos

> Los cuatro saldos virtuales independientes de la cuenta que llama (USDT — la moneda operativa —, USDC, BTC y GOLD en gramos de oro fino). Todos los activos soportados vienen siempre, con ceros si la cuenta no ha usado esa moneda. Si la cuenta usa Banking, sus saldos espejo BANK_USD/BANK_EUR también se listan con el marcador `custody` en `banking` (el saldo autoritativo vive en el banco; estos saldos no son gastables dentro de la plataforma).



## OpenAPI

````yaml /openapi.es.yaml get /v1/balances
openapi: 3.1.0
info:
  title: CBPay API
  version: '1.89'
  description: |
    CBPay es una plataforma de pagos multimoneda: payouts y cobros fiat
    en toda América Latina, transferencias internas, fondeo y retiros
    on-chain, y screening KYC. Cada cuenta mantiene cuatro saldos virtuales
    independientes — USDT (la moneda operativa), USDC, BTC y GOLD (gramos de
    oro fino) — que nunca se mezclan ni se convierten automáticamente.
    Los payouts y las comisiones de servicios pueden pagarse desde cualquiera
    de los cuatro saldos: define un predeterminado con `PUT /v1/settlement` o
    haz override por payout con `settlement_asset`.

    Todos los montos son strings decimales en la precisión de cada moneda (6
    decimales para USDT/USDC/GOLD, 8 para BTC). Los errores siempre devuelven
    `{"error": "<code>", "message": "<detail>"}`.
servers:
  - url: https://api.qbank.cl/platform
    description: Live (producción, dinero real)
  - url: https://cryptobank.qbank.cl/platform
    description: Test (sandbox, dinero simulado — keys pk_test_)
security:
  - bearerAuth: []
tags:
  - name: Comprobantes
    description: >-
      Comprobante PDF brandeado por operacion, con verificacion publica de
      autenticidad (QR firmado), receipt_url en cada respuesta/webhook y envio
      automatico por email en estados finales.
  - name: Autenticación
    description: >-
      Registra e inicia sesión de los miembros de la cuenta. Las sesiones duran
      24 horas.
  - name: Cuenta
    description: Perfil, miembros y llaves de API de la cuenta que llama.
  - name: Saldos
    description: Saldos, historial de movimientos y tasas de cambio.
  - name: Payouts
    description: >-
      Dispersiones fiat que se debitan del saldo de settlement que elijas (USDT
      por defecto).
  - name: Payins
    description: Recargas fiat que se acreditan al saldo en USDT.
  - name: Transferencias
  - name: Contacts
  - name: Swaps
    description: >-
      Transferencias internas gratuitas entre cuentas CBPay (persona o empresa,
      cualquier combinación).
  - name: Crypto
    description: Fondeo y retiros on-chain (TRON, Ethereum y Bitcoin).
  - name: Wallets segregadas
    description: >-
      Wallets on-chain con saldo propio (empresas ilimitadas; personas 1 por
      combinación red+activo) — crear, importar, enviar, exportar la llave
      privada y auto-forward. El saldo vive on-chain, nunca en el ledger.
  - name: QR Crypto POS
    description: >-
      Cobros QR crypto con monto para procesadores con POS físicos (cuentas
      empresa): merchants verificados, dirección exclusiva + QR por cobro,
      detección temprana del pago, conciliación por merchant y devoluciones por
      el riel de retiro crypto.
  - name: KYC / KYB
  - name: Screening de wallets
    description: >-
      Evaluación de riesgo AML de direcciones blockchain (sanciones, exposición
      a fondos ilícitos) con comisión por scan, más protección automática
      gratuita en retiros y depósitos.
  - name: AML screening
    description: >-
      Verificación de identidad: KYC para personas, KYB para empresas, con
      screening AML, re-screening y monitoreo continuo.
  - name: Analytics
  - name: Webhooks
    description: Suscripciones para recibir notificaciones de eventos firmadas.
  - name: Estado
    description: Disponibilidad del servicio.
  - name: Banking
    description: >-
      Cuentas bancarias reales: recibe, mantén y envía dinero por rieles
      bancarios internacionales.
  - name: Cards
    description: >-
      Tarjetas virtuales y físicas que gastan Just-In-Time del saldo USDT de la
      cuenta, con límites de gasto por tarjeta.
  - name: Seguridad (OTP)
    description: >-
      Códigos de verificación de un solo uso por SMS/WhatsApp/email que protegen
      acciones sensibles, más las preferencias de 2FA self-service. Aplican solo
      a sesiones de usuario — las API keys quedan exentas.
  - name: Passkeys
    description: >-
      Inicio de sesión sin contraseña con la biometría del dispositivo (Face ID,
      Touch ID, Windows Hello, llaves de seguridad) vía WebAuthn, apps
      autenticadoras (TOTP) con códigos de respaldo, y gestión de
      sesiones/dispositivos.
  - name: Login social
    description: >-
      Registro e inicio de sesión sin contraseña con Google, Apple, Microsoft y
      Facebook vía token exchange. El front obtiene la credencial del proveedor;
      la API la verifica y emite la sesión CBPay.
paths:
  /v1/balances:
    get:
      tags:
        - Saldos
      summary: Obtener saldos
      description: >-
        Los cuatro saldos virtuales independientes de la cuenta que llama (USDT
        — la moneda operativa —, USDC, BTC y GOLD en gramos de oro fino). Todos
        los activos soportados vienen siempre, con ceros si la cuenta no ha
        usado esa moneda. Si la cuenta usa Banking, sus saldos espejo
        BANK_USD/BANK_EUR también se listan con el marcador `custody` en
        `banking` (el saldo autoritativo vive en el banco; estos saldos no son
        gastables dentro de la plataforma).
      operationId: getBalances
      responses:
        '200':
          description: Saldos de la cuenta que llama (uno por activo soportado).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalancesResponse'
              example:
                account_id: 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d
                balances:
                  - asset: USDT
                    available: '125.430000'
                    held: '10.000000'
                    updated_at: '2026-07-07T12:00:00Z'
                  - asset: USDC
                    available: '50.000000'
                    held: '0.000000'
                    updated_at: '2026-07-08T09:00:00Z'
                  - asset: BTC
                    available: '0.00060000'
                    held: '0.00000000'
                  - asset: GOLD
                    available: '12.500000'
                    held: '0.000000'
                  - asset: BANK_USD
                    available: '7500.00'
                    held: '0.00'
                    custody: banking
                    updated_at: '2026-07-08T09:00:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/AccountRequired'
components:
  schemas:
    BalancesResponse:
      type: object
      properties:
        account_id:
          type: string
          format: uuid
        balances:
          type: array
          items:
            type: object
            properties:
              asset:
                type: string
                example: USDT
              available:
                type: string
                example: '100.000000'
              held:
                type: string
                description: Reservado por payouts/retiros en curso.
                example: '5.000000'
              updated_at:
                type: string
                format: date-time
    Error:
      type: object
      properties:
        error:
          type: string
          description: Código de error legible por máquina (snake_case).
          example: insufficient_funds
        message:
          type: string
          description: Explicación legible por humanos.
  responses:
    Unauthorized:
      description: Credencial faltante o inválida (`unauthorized`).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: unauthorized
            message: invalid or missing credentials
    AccountRequired:
      description: Este endpoint requiere una credencial de cuenta (`account_required`).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: account_required
            message: this endpoint requires an account credential
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |
        JWT de sesión (de register/login) o llave de API (`pk_...`).
        `X-API-Key: <token>` se acepta como header alternativo.

````