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

# Obtener saldos de la billetera

> Consulta los saldos de tokens y las tenencias de SOL de una dirección de billetera de Solana.

Cada solicitud cuesta **100 créditos**.

## Parámetros de la solicitud

<ParamField body="wallet" type="string" required default="GQUtvPx89ZNCwmvQqFmH59bJcU8fW8siETpaxod7Aydz">
  Dirección de billetera de Solana (codificada en base58)
</ParamField>

<ParamField body="page" type="number" default="1">
  Número de página para la paginación (el índice comienza en 1)
</ParamField>

<ParamField body="limit" type="number" default="100">
  Número máximo de tokens por página
</ParamField>

<ParamField body="showZeroBalance" type="boolean" default="false">
  Incluye tokens con saldo cero
</ParamField>

<ParamField body="showNative" type="boolean" default="true">
  Incluye SOL nativo en los resultados
</ParamField>

<ParamField body="showNfts" type="boolean" default="false">
  Incluye NFT en los resultados (máximo 100, solo en la primera página)
</ParamField>


## OpenAPI

````yaml es/openapi/wallet-api/openapi.yaml GET /v1/wallet/{wallet}/balances
openapi: 3.0.3
info:
  title: API de billeteras
  description: >
    Una API REST de alto rendimiento para consultar datos de billeteras de
    Solana, incluidos saldos, historial de transacciones, transferencias e
    información de identidad.


    ## Autenticación


    Todas las solicitudes requieren una clave de API enviada de una de estas
    formas:

    - Parámetro de consulta: `?api-key=YOUR_API_KEY`

    - Encabezado: `X-Api-Key: YOUR_API_KEY`
  version: 1.0.0
  contact:
    name: Soporte de API
    url: https://helius.dev
servers:
  - url: https://api.helius.xyz
    description: Servidor de producción
security:
  - ApiKeyQuery: []
  - ApiKeyHeader: []
tags:
  - name: Identidad
    description: Busca identidades de billeteras y direcciones conocidas
  - name: Saldos
    description: Consulta saldos de tokens y NFT
  - name: Historial
    description: Historial de transacciones y cambios de saldo
  - name: Transferencias
    description: Actividad de transferencia de tokens
  - name: Financiamiento
    description: Información de financiamiento de billeteras
paths:
  /v1/wallet/{wallet}/balances:
    get:
      tags:
        - Saldos
      summary: Obtén los saldos de una billetera
      description: >
        Recupera los saldos de tokens y NFT de una billetera. **La paginación es
        manual**: la API devuelve hasta 100 tokens por solicitud.


        Los resultados se ordenan por valor en USD de forma descendente. Los
        tokens con datos de precios aparecen primero, seguidos de los tokens sin
        precios.


        **Paginación:** Usa el parámetro `page` para obtener páginas
        adicionales. La respuesta incluye `pagination.hasMore`

        para indicar si hay más resultados disponibles. Cada solicitud realiza
        una sola llamada a la API y cuesta 100 créditos.
      operationId: getWalletBalances
      parameters:
        - $ref: '#/components/parameters/WalletAddress'
        - name: page
          in: query
          description: Número de página para la paginación (el índice comienza en 1)
          schema:
            type: integer
            minimum: 1
            default: 1
          example: 1
        - name: limit
          in: query
          description: Cantidad máxima de tokens por página
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 100
          example: 100
        - name: showZeroBalance
          in: query
          description: Incluye tokens con saldo cero
          schema:
            type: boolean
            default: false
        - name: showNative
          in: query
          description: Incluye SOL nativo en los resultados
          schema:
            type: boolean
            default: true
        - name: showNfts
          in: query
          description: >-
            Incluye NFT en los resultados (máximo 100, solo en la primera
            página)
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Los saldos de la billetera se recuperaron correctamente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalancesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  parameters:
    WalletAddress:
      name: wallet
      in: path
      required: true
      description: Dirección de billetera de Solana (codificada en base58)
      schema:
        type: string
        pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$
        default: GQUtvPx89ZNCwmvQqFmH59bJcU8fW8siETpaxod7Aydz
      example: GQUtvPx89ZNCwmvQqFmH59bJcU8fW8siETpaxod7Aydz
  schemas:
    BalancesResponse:
      type: object
      properties:
        balances:
          type: array
          items:
            $ref: '#/components/schemas/TokenBalance'
          description: >
            Arreglo de saldos de tokens de la página actual, incluido SOL
            nativo.

            Cuando showNative=true, SOL aparece como primer elemento con la
            dirección de acuñación So11111111111111111111111111111111111111112.

            Los demás tokens se ordenan por valor en USD (de forma descendente).
        nfts:
          type: array
          items:
            $ref: '#/components/schemas/Nft'
          description: >-
            Arreglo de tenencias de NFT (solo se incluye si showNfts=true;
            máximo 100 y solo en la primera página)
        totalUsdValue:
          type: number
          description: >-
            Valor total en USD de los saldos de esta página (no es el valor
            total del portafolio)
          example: 217.98
        pagination:
          type: object
          description: >-
            Metadatos de paginación. Debes solicitar manualmente las páginas
            adicionales mediante el parámetro page.
          properties:
            page:
              type: integer
              description: Número de la página actual
              example: 1
            limit:
              type: integer
              description: Cantidad de elementos por página
              example: 100
            hasMore:
              type: boolean
              description: >-
                Es verdadero si hay más resultados disponibles. Incrementa el
                parámetro page para obtener la página siguiente.
              example: true
          required:
            - page
            - limit
            - hasMore
      required:
        - balances
        - totalUsdValue
        - pagination
    TokenBalance:
      type: object
      properties:
        mint:
          type: string
          description: Dirección de acuñación del token
          example: So11111111111111111111111111111111111111112
        symbol:
          type: string
          nullable: true
          description: Símbolo del token
          example: SOL
        name:
          type: string
          nullable: true
          description: Nombre del token
          example: Solana
        balance:
          type: number
          description: Saldo del token (ajustado según los decimales)
          example: 1.5
        decimals:
          type: integer
          description: Cantidad de posiciones decimales
          example: 9
        pricePerToken:
          type: number
          nullable: true
          description: Precio por token en USD
          example: 145.32
        usdValue:
          type: number
          nullable: true
          description: Valor total de las tenencias en USD
          example: 217.98
        logoUri:
          type: string
          nullable: true
          description: URL de la imagen del logotipo del token
          example: https://example.com/sol-logo.png
        tokenProgram:
          type: string
          enum:
            - spl-token
            - token-2022
          description: >-
            Tipo de programa de tokens (spl-token para el formato heredado y
            token-2022 para el estándar nuevo)
          example: spl-token
      required:
        - mint
        - balance
        - decimals
        - tokenProgram
    Nft:
      type: object
      properties:
        mint:
          type: string
          description: Dirección de acuñación del NFT
          example: 7Xq8wXyXVqfBPPqVJjPDwG9zN5wCVxBYZ6z7vPYBzr6F
        name:
          type: string
          nullable: true
          description: Nombre del NFT
          example: Degen Ape
        imageUri:
          type: string
          nullable: true
          description: URI de la imagen del NFT
          example: https://example.com/nft.png
        collectionName:
          type: string
          nullable: true
          description: Nombre de la colección
          example: Degen Ape Academy
        collectionAddress:
          type: string
          nullable: true
          description: Dirección de la colección
          example: DegN1dXmU2uYa4n7U9qTh7YNYpK4u8L9qXx7XqYqJfGH
        compressed:
          type: boolean
          description: Indica si es un NFT comprimido
          example: false
      required:
        - mint
        - compressed
    Error:
      type: object
      properties:
        error:
          type: string
          description: Mensaje de error
          example: Dirección de billetera no válida
        code:
          type: integer
          description: Código de estado HTTP
          example: 400
        details:
          type: string
          description: Detalles adicionales del error
          example: '''invalid-address'' no es una dirección de Solana válida'
      required:
        - error
        - code
  responses:
    BadRequest:
      description: Parámetros de solicitud no válidos
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Dirección de billetera no válida
            code: 400
            details: '''invalid-address'' no es una dirección de Solana válida'
    Unauthorized:
      description: Falta la clave de API o no es válida
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: >-
              Se requiere una clave de API. Envíala mediante ?api-key=xxx o el
              encabezado X-Api-Key
            code: 401
    RateLimited:
      description: Se superó el límite de solicitudes.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: RATE_LIMIT_EXCEEDED
            code: 429
            details: Demasiadas solicitudes. Vuelve a intentarlo después de 2 segundos.
    InternalError:
      description: >-
        Error transitorio del servidor. Se puede reintentar con espera
        exponencial.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: INTERNAL_ERROR
            code: 500
            details: Ocurrió un error inesperado. Vuelve a intentarlo.
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: Clave de API enviada como parámetro de consulta
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-Api-Key
      description: Clave de API enviada en el encabezado de la solicitud

````