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

# Consultar con GraphQL

> Consulta eventos analizados con GraphQL, incluidos los campos tipados de transferencia, resumen e instrucción.

## Descripción general

La interfaz de GraphQL expone ambos métodos de eventos analizados: analizar transacciones mediante `transactions` y obtener el historial de transacciones analizadas mediante `transactionsByAddress`. Envía operaciones de GraphQL a `POST /v1/parsed-events/graphql`. Devuelve el mismo modelo de transacción analizada que los [endpoints REST](/docs/es/parsed-events/quickstart#referencia-rest), pero permite que los clientes seleccionen solo los campos que necesitan.

GraphQL incluye `rawTransaction` solo cuando se selecciona el campo. Las cargas útiles dinámicas del analizador permanecen como escalares JSON, incluidos `args` de la instrucción decodificada, `error` de la ejecución de la transacción, `parsedData` del resumen e `rawTransaction`.

## Endpoint

Envía operaciones de GraphQL a `POST /v1/parsed-events/graphql`. Autentícate con el parámetro de consulta `api-key`.

<Tabs>
  <Tab title="JavaScript">
    ```javascript theme={"system"}
    const url = "https://mainnet.helius-rpc.com/v1/parsed-events/graphql?api-key=YOUR_API_KEY";

    const response = await fetch(url, {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        query: `query ParseTransactions($signatures: [String!]!) {
          transactions(signatures: $signatures, commitment: CONFIRMED) {
            signature
            parserStatus
          }
        }`,
        variables: {
          signatures: [
            "5xSKzM8bvpudE521jikHqASzMr23Ms4X4ieY3K8oFPFrJWCSSgYocJmHznrR8b12voDxKDH8ykdCLXSRrx6duVLH",
          ],
        },
      }),
    });

    const data = await response.json();
    console.log(data);
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={"system"}
    curl -X POST "https://mainnet.helius-rpc.com/v1/parsed-events/graphql?api-key=YOUR_API_KEY" \
      -H "content-type: application/json" \
      -d '{
        "query": "query ParseTransactions($signatures: [String!]!) { transactions(signatures: $signatures, commitment: CONFIRMED) { signature parserStatus } }",
        "variables": {
          "signatures": ["5xSKzM8bvpudE521jikHqASzMr23Ms4X4ieY3K8oFPFrJWCSSgYocJmHznrR8b12voDxKDH8ykdCLXSRrx6duVLH"]
        }
      }'
    ```
  </Tab>
</Tabs>

## Analizar transacciones

```graphql theme={"system"}
query ParseTransactions($signatures: [String!]!) {
  transactions(signatures: $signatures, commitment: CONFIRMED) {
    signature
    parserStatus
    parsed {
      slot
      blockTime
      fee
      feePayer
      transactionStatus
      nativeTransfers {
        fromUserAccount
        toUserAccount
        amount
      }
      tokenTransfers {
        fromUserAccount
        toUserAccount
        fromTokenAccount
        toTokenAccount
        rawTokenAmount
        decimals
        tokenStandard
        mint
      }
      summary {
        type
        description
        parsedData
      }
      instructions {
        instructionIndex
        innerInstructionIndex
        programId
        programName
        instructionName
        summary {
          type
          description
          parsedData
        }
        decoded {
          args
          accounts {
            name
            pubkey
            isSigner
            isWritable
          }
        }
      }
    }
    parserError {
      code
      message
    }
  }
}
```

Variables:

```json theme={"system"}
{
  "signatures": ["5xSKzM8bvpudE521jikHqASzMr23Ms4X4ieY3K8oFPFrJWCSSgYocJmHznrR8b12voDxKDH8ykdCLXSRrx6duVLH"]
}
```

## Historial de transacciones analizadas

```graphql theme={"system"}
query AddressHistory($address: String!) {
  transactionsByAddress(
    address: $address
    limit: 100
    sortOrder: DESC
    commitment: CONFIRMED
    filters: {
      slot: { gte: 300000000 }
    }
  ) {
    data {
      signature
      parserStatus
      parsed {
        slot
        blockTime
        nativeTransfers {
          fromUserAccount
          toUserAccount
          amount
        }
        tokenTransfers {
          fromUserAccount
          toUserAccount
          rawTokenAmount
          decimals
          mint
        }
      }
    }
    paginationToken
  }
}
```

Variables:

```json theme={"system"}
{
  "address": "GV6UUmNxz2RpKxmNAPadYKb7uQpszwqQAu3qLJxVdC52"
}
```

## Argumentos de consulta

### `transactions`

| Argumento    | Tipo         | Valor predeterminado | Descripción                                |
| ------------ | ------------ | -------------------- | ------------------------------------------ |
| `signatures` | `[String!]!` | -                    | Firmas de transacciones que se analizarán. |
| `commitment` | `Commitment` | `CONFIRMED`          | `CONFIRMED` o `FINALIZED`.                 |

### `transactionsByAddress`

| Argumento         | Tipo                             | Valor predeterminado | Descripción                                                              |
| ----------------- | -------------------------------- | -------------------- | ------------------------------------------------------------------------ |
| `address`         | `String!`                        | -                    | Dirección cuyo historial de transacciones se debe obtener.               |
| `limit`           | `Int`                            | `100`                | Número de transacciones que se devolverán. Debe estar entre `1` y `100`. |
| `beforeSignature` | `String`                         | -                    | Devuelve las transacciones anteriores a esta firma.                      |
| `afterSignature`  | `String`                         | -                    | Devuelve las transacciones posteriores a esta firma.                     |
| `paginationToken` | `String`                         | -                    | Cursor con la forma `slot:transactionIndex`.                             |
| `sortOrder`       | `SortOrder`                      | `DESC`               | `ASC` o `DESC`.                                                          |
| `commitment`      | `Commitment`                     | `CONFIRMED`          | `CONFIRMED` o `FINALIZED`.                                               |
| `filters`         | `AddressTransactionFiltersInput` | -                    | Límites opcionales `slot` y `time`.                                      |

## Transacciones sin procesar

Selecciona `rawTransaction` para incluir el JSON de la transacción original:

```graphql theme={"system"}
query ParseWithRaw($signatures: [String!]!) {
  transactions(signatures: $signatures) {
    signature
    rawTransaction
    parsed {
      slot
    }
  }
}
```

Si no seleccionas `rawTransaction`, el servicio no lo incluye en la respuesta.
