> ## 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.

# getEncryptedUtxosByTags

> Recupera salidas UTXO cifradas que coincidan con etiquetas de visualización o con un anillo específico.

## Salidas cifradas

Usa este método para obtener UTXO cifradas y descifrarlas en el cliente. Tu billetera descifra las salidas y suma los importes no gastados de cada activo para determinar su saldo privado.

Esto es comparable con [`getTokenAccountsByOwner`](https://solana.com/docs/rpc/http/gettokenaccountsbyowner) de Solana, que devuelve las cuentas de tokens SPL pertenecientes a una dirección. Un saldo privado se almacena en UTXO, no en cuentas de Solana, por lo que requiere un método RPC específico. Obtén más información sobre el [estado privado y las UTXO](https://www.helius.dev/docs/es/privacy/concepts/utxo.md).

El método devuelve las salidas coincidentes en `result.data`, agrupadas por transacción de Solana. Cada entrada incluye los valores `slot` e `signature` de la transacción. Una salida incluye su texto cifrado, etiqueta de visualización, compromiso, ID del árbol e índice de hoja.

La respuesta incluye salidas históricas que podrían haberse gastado. Tu billetera debe rastrear los anuladores para determinar su saldo disponible para gastar. Consulta la [guía de saldos privados](https://www.helius.dev/docs/es/privacy/guides/read-balance.md).

Un arreglo `tags` vacío requiere `ringProgramId` y selecciona las salidas de ese anillo. Cuando se proporcionan ambos, las salidas deben coincidir con las etiquetas y el anillo.

Consulta [paginación y actualización](https://www.helius.dev/docs/es/api-reference/privacy.md#paginación) para obtener información sobre los límites de página, los tokens de continuación y las lecturas incrementales.

## Parámetros de la solicitud

**filters** `object`

Límites de slots. Reanuda una lectura sin límite que esté al día con `slot.gt` establecido en el valor `context.slot` de la última página.

**filters.slot** `object`

Límites de slots para la lectura. Los límites proporcionados se combinan con AND.

**filters.slot.gt** `number`

Incluye únicamente transacciones posteriores a este slot.

**filters.slot.gte** `number`

Incluye únicamente transacciones de este slot o posteriores.

**filters.slot.lt** `number`

Incluye únicamente transacciones anteriores a este slot.

**filters.slot.lte** `number`

Incluye únicamente transacciones de este slot o anteriores.

**limit** `number` (default: 1000)

Número máximo de transacciones de Solana por página, de 1 a 1,000.

**minContextSlot** `number`

Slot mínimo persistido del indexador requerido para esta lectura. Devuelve el error JSON-RPC -32016 si el indexador está retrasado.

**paginationToken** `string`

Token de continuación de la respuesta anterior. Vuelve a enviarlo sin cambios con las mismas etiquetas y los mismos filtros de anillo y slot.

**ringProgramId** `string`

Restringe los resultados al anillo autorizado por este ID de programa. Es obligatorio cuando el arreglo de etiquetas está vacío.

**tags** `array` *required*

Etiquetas de visualización de 32 bytes codificadas en Base58. Se permiten hasta 1,000. Un arreglo vacío requiere ringProgramId y selecciona ese anillo.


## OpenAPI

````yaml es/openapi/privacy/getEncryptedUtxosByTags.yaml POST /v1/spr/getEncryptedUtxosByTags
openapi: 3.0.3
info:
  title: API de Solana Privacy Rings
  version: 0.51.2
  description: >-
    API JSON-RPC del indexador de privacidad para estados cifrados, historial,
    pruebas y registros públicos.
servers:
  - url: https://devnet.helius-rpc.com
    description: API de Solana Privacy Rings en Devnet
security: []
paths:
  /v1/spr/getEncryptedUtxosByTags:
    post:
      summary: getEncryptedUtxosByTags
      description: >-
        Recupera las salidas UTXO cifradas que coinciden con etiquetas de
        visualización o con un anillo específico.
      operationId: getEncryptedUtxosByTags
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                id:
                  type: string
                  description: Un ID para identificar la solicitud.
                  default: '1'
                jsonrpc:
                  type: string
                  description: La versión del protocolo JSON-RPC.
                  enum:
                    - '2.0'
                  default: '2.0'
                method:
                  type: string
                  description: >-
                    El método que se invocará. Debe coincidir con el segmento
                    final de la ruta de la URL.
                  enum:
                    - getEncryptedUtxosByTags
                  default: getEncryptedUtxosByTags
                params:
                  type: object
                  required:
                    - tags
                  properties:
                    filters:
                      allOf:
                        - $ref: '#/components/schemas/HistoryFilters'
                      description: >-
                        Límites de slots. Para reanudar una lectura sincronizada
                        y sin límite, establece `slot.gt` en el valor
                        `context.slot` de la última página.
                    limit:
                      type: integer
                      format: uint64
                      maximum: 1000
                      minimum: 1
                      nullable: true
                      default: 1000
                      description: >-
                        Número máximo de transacciones de Solana por página, de
                        1 a 1,000.
                    minContextSlot:
                      type: integer
                      format: uint64
                      minimum: 0
                      nullable: true
                      description: >-
                        Slot mínimo persistido del indexador requerido para esta
                        lectura. Devuelve el error JSON-RPC -32016 si el
                        indexador está retrasado.
                    paginationToken:
                      type: string
                      description: >-
                        Token de continuación de la respuesta anterior. Vuelve a
                        enviarlo sin cambios con las mismas etiquetas y los
                        mismos filtros de anillo y slot.
                      nullable: true
                    ringProgramId:
                      type: string
                      description: >-
                        Restringe los resultados al anillo autorizado por este
                        ID de programa. Es obligatorio cuando tags está vacío.
                      nullable: true
                    tags:
                      type: array
                      items:
                        $ref: '#/components/schemas/Hash'
                      description: >-
                        Etiquetas de visualización de 32 bytes codificadas en
                        base58. Como máximo, 1,000. Un arreglo vacío requiere
                        ringProgramId y selecciona ese anillo.
                      maxItems: 1000
                  additionalProperties: false
                  example:
                    tags:
                      - '11111111111111111111111111111112'
                    limit: 100
            example:
              jsonrpc: '2.0'
              id: '1'
              method: getEncryptedUtxosByTags
              params:
                tags:
                  - '11111111111111111111111111111112'
                limit: 100
        required: true
      responses:
        '200':
          description: Respuesta JSON-RPC. Revisa error antes de leer result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - jsonrpc
                  - id
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data:
                        type: object
                        additionalProperties: true
                  id:
                    type: string
                    description: El ID de la solicitud.
                  jsonrpc:
                    type: string
                    description: La versión del protocolo JSON-RPC.
                    enum:
                      - '2.0'
                  result:
                    type: object
                    description: >-
                      Una página acotada de una lectura del historial, con
                      paginación de estilo gTFA.
                    required:
                      - context
                      - data
                      - paginationToken
                    properties:
                      context:
                        $ref: '#/components/schemas/Context'
                      data:
                        type: array
                        items:
                          type: object
                          description: >-
                            Todas las salidas coincidentes de una transacción de
                            Solana.
                          required:
                            - slot
                            - signature
                            - outputs
                          properties:
                            outputs:
                              type: array
                              items:
                                $ref: '#/components/schemas/EncryptedUtxoMatch'
                            signature:
                              $ref: '#/components/schemas/SerializableSignature'
                            slot:
                              type: integer
                              format: uint64
                              minimum: 0
                          additionalProperties: false
                      outputTreeId:
                        type: integer
                        format: uint16
                        description: >-
                          El ID del árbol de estados no pausado más reciente. Se
                          omite cuando no está disponible.
                        minimum: 0
                      paginationToken:
                        type: string
                        description: >-
                          Token para la página siguiente; es null cuando no hay
                          más resultados coincidentes. Una lectura

                          sincronizada sin un límite `lt` o `lte` se reanuda
                          después con `filters.slot.gt`

                          establecido en el valor `context.slot` de esta página;
                          una lectura con límite solo abarca los slots hasta

                          su límite.
                        nullable: true
              example:
                jsonrpc: '2.0'
                id: '1'
                result:
                  context:
                    slot: 4242
                    blockTime: 1730000000
                  data: []
                  paginationToken: null
        '400':
          description: >-
            Se rechazó antes de la ejecución. Si el método y la ruta no
            coinciden, hay campos de método duplicados o la solicitud es por
            lotes, se devuelve -32601. Si el cuerpo no se puede leer o es
            demasiado grande, se devuelve -32600.
          content:
            application/json:
              schema:
                type: object
                required:
                  - jsonrpc
                  - id
                  - error
                properties:
                  jsonrpc:
                    type: string
                    enum:
                      - '2.0'
                  id:
                    type: string
                    nullable: true
                    description: >-
                      El ID de la solicitud, o null cuando el cuerpo no es una
                      única llamada JSON-RPC.
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data:
                        type: object
                        additionalProperties: true
        '429':
          description: Se superó el límite de solicitudes.
          content:
            application/json:
              schema:
                type: object
                required:
                  - jsonrpc
                  - id
                  - error
                properties:
                  jsonrpc:
                    type: string
                    enum:
                      - '2.0'
                  id:
                    type: string
                    nullable: true
                    description: >-
                      El ID de la solicitud, o null cuando el cuerpo no es una
                      única llamada JSON-RPC.
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data:
                        type: object
                        additionalProperties: true
        '500':
          description: Error interno del servidor.
          content:
            application/json:
              schema:
                type: object
                required:
                  - jsonrpc
                  - id
                  - error
                properties:
                  jsonrpc:
                    type: string
                    enum:
                      - '2.0'
                  id:
                    type: string
                    nullable: true
                    description: >-
                      El ID de la solicitud, o null cuando el cuerpo no es una
                      única llamada JSON-RPC.
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data:
                        type: object
                        additionalProperties: true
      security:
        - ApiKeyQuery: []
components:
  schemas:
    HistoryFilters:
      type: object
      description: Límites de slots opcionales para la consulta del historial.
      properties:
        slot:
          $ref: '#/components/schemas/SlotFilter'
      additionalProperties: false
    Hash:
      type: string
      description: Un hash de 32 bytes codificado en base58.
    Context:
      type: object
      required:
        - blockTime
        - slot
      properties:
        blockTime:
          type: integer
          format: int64
        slot:
          type: integer
          format: uint64
          description: >-
            El slot más alto que el indexador ha persistido, para comprobaciones
            de actualización basadas en slots.
          minimum: 0
    EncryptedUtxoMatch:
      type: object
      required:
        - slot
        - txSignature
        - txViewingPk
        - salt
        - outputSlot
      properties:
        outputSlot:
          $ref: '#/components/schemas/RingsOutputSlot'
        salt:
          type: string
          description: >-
            Sal AES a nivel de transacción compartida por todos los textos
            cifrados de salida.
          nullable: true
        slot:
          type: integer
          format: uint64
          minimum: 0
        txSignature:
          $ref: '#/components/schemas/SerializableSignature'
        txViewingPk:
          type: string
          description: Una cadena de bytes codificada en base64.
          nullable: true
    SerializableSignature:
      type: string
      description: Una firma de transacción de Solana de 64 bytes codificada en base58.
    SlotFilter:
      type: object
      description: >-
        Límites de slots para la lectura. Los límites proporcionados se combinan
        con AND.
      properties:
        gt:
          type: integer
          format: uint64
          minimum: 0
          nullable: true
          description: Incluye solo las transacciones posteriores a este slot.
        gte:
          type: integer
          format: uint64
          minimum: 0
          nullable: true
          description: Incluye solo las transacciones de este slot o posteriores.
        lt:
          type: integer
          format: uint64
          minimum: 0
          nullable: true
          description: Incluye solo las transacciones anteriores a este slot.
        lte:
          type: integer
          format: uint64
          minimum: 0
          nullable: true
          description: Incluye solo las transacciones de este slot o anteriores.
      additionalProperties: false
    RingsOutputSlot:
      type: object
      required:
        - viewTag
        - outputContext
        - payload
      properties:
        outputContext:
          $ref: '#/components/schemas/RingsOutputContext'
        payload:
          $ref: '#/components/schemas/Base64String'
        viewTag:
          $ref: '#/components/schemas/Hash'
    RingsOutputContext:
      type: object
      required:
        - hash
        - tree
        - treeId
        - leafIndex
      properties:
        hash:
          $ref: '#/components/schemas/Hash'
        leafIndex:
          type: integer
          format: uint64
          minimum: 0
        tree:
          allOf:
            - $ref: '#/components/schemas/SerializablePubkey'
          description: >-
            Cuenta del árbol de estados. Prefiere treeId; la cuenta del árbol se
            deriva de este valor.
          deprecated: true
        treeId:
          type: integer
          format: uint16
          description: >-
            El ID sin procesar del árbol bajo el cual se calcula el hash del
            compromiso de la salida.
          minimum: 0
    Base64String:
      type: string
      description: Una cadena de bytes codificada en base64.
    SerializablePubkey:
      type: string
      description: Una clave pública de Solana codificada en base58.
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: Tu clave de API de Helius.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.