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

# Consulta com GraphQL

> Consulte Eventos Analisados com GraphQL, incluindo campos digitados de transferência, resumo e instrução.

## Visão Geral

A interface GraphQL expõe ambos os métodos de Eventos Analisados: Parse Transactions através de `transactions` e Parsed Transaction History através de `transactionsByAddress`. Retorna o mesmo modelo de transação analisada que os [endpoints REST](/docs/pt-BR/parsed-events/quickstart#rest-reference), permitindo que os clientes selecionem apenas os campos de que precisam.

O GraphQL inclui `rawTransaction` apenas quando o campo é selecionado. Cargas úteis dinâmicas permanecem como escalares JSON, incluindo instrução decodificada `args`, execução de transação `error`, resumo `parsedData` e `rawTransaction`.

## Analisar transações

```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 {
        topIxIdx
        innerIxIdx
        programId
        programName
        instructionName
        summary {
          type
          description
          parsedData
        }
        decoded {
          args
          accounts {
            name
            pubkey
            isSigner
            isWritable
          }
        }
      }
    }
    parserError {
      code
      message
    }
  }
}
```

Variáveis:

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

## Histórico de transações analisadas

```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
  }
}
```

Variáveis:

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

## Argumentos da consulta

### `transactions`

| Argumento    | Tipo         | Padrão      | Descrição                                |
| ------------ | ------------ | ----------- | ---------------------------------------- |
| `signatures` | `[String!]!` | -           | Assinaturas de transações para analisar. |
| `commitment` | `Commitment` | `CONFIRMED` | `CONFIRMED` ou `FINALIZED`.              |

### `transactionsByAddress`

| Argumento         | Tipo                             | Padrão      | Descrição                                                      |
| ----------------- | -------------------------------- | ----------- | -------------------------------------------------------------- |
| `address`         | `String!`                        | -           | Endereço cujo histórico de transações deve ser buscado.        |
| `limit`           | `Int`                            | `100`       | Número de transações a retornar. Deve estar entre `1` e `100`. |
| `beforeSignature` | `String`                         | -           | Retornar transações antes desta assinatura.                    |
| `afterSignature`  | `String`                         | -           | Retornar transações após esta assinatura.                      |
| `paginationToken` | `String`                         | -           | Cursor com formato `slot:transactionIndex`.                    |
| `sortOrder`       | `SortOrder`                      | `DESC`      | `ASC` ou `DESC`.                                               |
| `commitment`      | `Commitment`                     | `CONFIRMED` | `CONFIRMED` ou `FINALIZED`.                                    |
| `filters`         | `AddressTransactionFiltersInput` | -           | Limites opcionais `slot` e `time`.                             |

## Transações brutas

Selecione `rawTransaction` para incluir o JSON original da transação:

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

Se `rawTransaction` não for selecionado, o serviço não o incluirá na resposta.
