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

# getHistoricalAccountInfo

> Leia qualquer conta da Solana como ela estava em um slot anterior ou logo após uma transação específica, com as codificações de getAccountInfo e a posição da última gravação.

> [!NOTE]
>
> `getHistoricalAccountInfo` está em beta. Os parâmetros, preços, formatos de resposta e cobertura de dados podem mudar.

## Visão geral

`getHistoricalAccountInfo` retorna uma conta da Solana como ela estava em um slot anterior ou imediatamente após uma transação específica nesse slot. Esse é um método RPC exclusivo da Helius. O método padrão `getAccountInfo` retorna apenas o estado atual.

A resposta contém os mesmos campos de conta que `getAccountInfo`, além de `lastUpdatedAt`: o slot e a transação que gravaram por último o estado que você recebeu.

O histórico está disponível a partir do slot 444.959.999 (7 de setembro de 2026), que corresponde ao estado no início da época 1030. As solicitações de slots anteriores retornam o erro `-32018`.

`getHistoricalAccountInfo` está disponível na mainnet para planos Business ou superiores e custa 0 créditos por chamada durante o período beta. Os preços estão sujeitos a alterações.

## Escolha uma posição no histórico

O segundo parâmetro é um objeto de consulta que seleciona qual ponto do histórico será lido:

| Consulta | Retorna a conta |
| - | - |
| Omitida ou `{}` | No slot indexado mais recente, limitado pelo commitment solicitado |
| `{ "slot": 445000000 }` | No final do slot 445.000.000 |
| `{ "slot": 445000000, "transactionIndex": 10 }` | Imediatamente após a execução da transação no índice 10 do slot 445.000.000 |

`transactionIndex` exige `slot`. Para ler uma conta logo antes da transação no índice `N`, consulte `transactionIndex: N - 1`. Para a primeira transação de um slot, consulte o slot anterior sem `transactionIndex`.

Gravações que não são transações, como recompensas de época, são aplicadas no final do slot. Uma consulta com `transactionIndex` nunca as inclui.

## Exemplo de solicitação

```bash theme={"system"}
curl https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": "1",
    "method": "getHistoricalAccountInfo",
    "params": [
      "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      { "slot": 445000000 },
      { "encoding": "jsonParsed" }
    ]
  }'
```

## Leia a resposta

* **`value`** é a conta como ela estava na posição solicitada ou `null` se a conta não existia naquele momento: ela ainda não havia sido criada ou já havia sido fechada. Uma resposta `null` não contém `lastUpdatedAt`.
* **`lastUpdatedAt.slot`** e **`lastUpdatedAt.transactionIndex`** identificam a gravação que produziu esse estado. A gravação ocorreu na posição solicitada ou antes dela.
* **`lastUpdatedAt.transactionIndex` é `null`** quando a gravação ocorreu fora de uma transação, como no caso de recompensas de época.
* **`lastUpdatedAt.slot` igual a 444.959.999 com um `transactionIndex` `null`** significa que a conta não mudou desde o início da cobertura do histórico. Isso não significa que a conta foi gravada nesse slot.
* **`context.slot`** é o slot mais recente que a Helius havia indexado quando atendeu à solicitação, não o slot consultado.
* **Contas de token `jsonParsed`** usam as casas decimais do mint na posição solicitada. Se o mint não puder ser lido nessa posição, a conta usará base64 como alternativa.

Para listar todos os estados anteriores de uma conta, use `lastUpdatedAt` como cursor. Consulte [Percorrer o histórico da conta retroativamente](https://www.helius.dev/docs/pt-BR/rpc/historical-accounts.md#percorra-o-histórico-da-conta-em-ordem-reversa).

## Erros

| Código | Significado |
| - | - |
| `-32018` | O slot é anterior ao início da cobertura do histórico (slot 444.959.999) |
| `-32004` | O slot é mais recente do que o commitment solicitado permite. Use `confirmed` ou consulte um slot anterior |
| `-32602` | Parâmetros inválidos, como `transactionIndex` sem `slot`, codificação `base58` ou um campo de configuração desconhecido |
| `-32601` | Método não encontrado. Chame seu endpoint da Helius na mainnet ou do Gatekeeper; o método não está disponível na devnet |

## Métodos relacionados

> [card] [Historical Accounts Guide](https://www.helius.dev/docs/pt-BR/rpc/historical-accounts.md)
>
> Como posições, cobertura e lastUpdatedAt funcionam nos métodos de contas históricas

> [card] [getHistoricalTokenAccountsByOwner](https://www.helius.dev/docs/pt-BR/api-reference/rpc/http/gethistoricaltokenaccountsbyowner.md)
>
> Liste as contas de token de uma carteira em um slot anterior

> [card] [getTransactionsForAddress](https://www.helius.dev/docs/pt-BR/rpc/gettransactionsforaddress.md)
>
> Encontre o slot e o transactionIndex das transações que você deseja inspecionar

> [card] [getAccountInfo](https://www.helius.dev/docs/pt-BR/api-reference/rpc/http/getaccountinfo.md)
>
> Leia o estado atual de uma conta

## Parâmetros da solicitação

**pubkey** `string` *required*

Endereço da conta a ser lida, codificado em Base-58.

**slot** `number`

Slot no qual o estado será lido. Retorna a conta como ela estava no final desse slot. O slot mais antigo compatível é 444959999, que corresponde ao estado no início da época 1030. Quando omitido, lê o slot indexado mais recente, limitado pelo commitment solicitado.

**transactionIndex** `number`

Posição de uma transação dentro do slot. Retorna o estado da conta imediatamente após a execução dessa transação, em vez de no final do slot. Exige slot.

**encoding** `string` (default: base64)

Formato de codificação dos dados da conta. base58 e binário não são compatíveis.

* `base64`
* `base64+zstd`
* `jsonParsed`

**dataSlice** `object`

Retorna apenas uma parte dos dados de cada conta. Aplica-se às codificações base64 e base64+zstd.

**dataSlice.offset** `number` *required*

Deslocamento em bytes a partir do qual a leitura deve começar.

**dataSlice.length** `number` *required*

Número de bytes a serem retornados.

**commitment** `string` (default: finalized)

Nível de commitment. processed não é compatível.

* `finalized`
* `confirmed`

**minContextSlot** `number`

O slot mínimo no qual a solicitação pode ser avaliada.


## OpenAPI

````yaml pt-BR/openapi/rpc-http/getHistoricalAccountInfo.yaml POST /
openapi: 3.1.0
info:
  title: API RPC da Solana
  version: 1.0.0
  description: >-
    API de estado histórico de contas da Solana para consultar qualquer conta
    como ela estava em um slot anterior ou imediatamente após uma transação
    específica dentro de um slot.
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://mainnet.helius-rpc.com
    description: Endpoint RPC da Mainnet
security: []
paths:
  /:
    post:
      tags:
        - RPC
      summary: getHistoricalAccountInfo
      description: >
        **Beta.** Os parâmetros, os formatos de resposta e a cobertura de dados
        podem mudar.


        Retorna uma conta da Solana como ela estava em um slot anterior ou
        imediatamente após uma

        transação específica dentro desse slot. Este método RPC da Helius aceita
        o mesmo endereço e as

        mesmas opções de codificação que getAccountInfo, além de um objeto de
        consulta que seleciona a posição no

        histórico a ser consultada.


        O histórico cobre a partir do slot 444959999 (o início da época 1030).
        Cada conta retornada

        inclui lastUpdatedAt, o slot e a transação que gravaram pela última vez
        o estado que você

        recebeu.
      operationId: getHistoricalAccountInfo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - '2.0'
                  example: '2.0'
                  description: A versão do protocolo JSON-RPC.
                  default: '2.0'
                id:
                  type: string
                  example: '1'
                  description: Um identificador exclusivo para a solicitação.
                  default: '1'
                method:
                  type: string
                  enum:
                    - getHistoricalAccountInfo
                  example: getHistoricalAccountInfo
                  description: O nome do método RPC a ser invocado.
                  default: getHistoricalAccountInfo
                params:
                  type: array
                  description: >-
                    Array contendo o endereço da conta, um objeto de consulta
                    opcional que seleciona a posição no histórico e um objeto de
                    configuração opcional.
                  minItems: 1
                  maxItems: 3
                  default:
                    - EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
                    - slot: 445000000
                    - encoding: jsonParsed
                  items:
                    oneOf:
                      - type: string
                        title: Chave pública
                        description: >-
                          Endereço codificado em base 58 da conta a ser
                          consultada.
                        example: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
                      - $ref: '#/components/schemas/HistoricalAccountQuery'
                        title: Consulta
                      - type: object
                        title: Configuração
                        description: Objeto de configuração opcional.
                        properties:
                          encoding:
                            type: string
                            description: >-
                              Formato de codificação dos dados da conta. base58
                              e binary não são compatíveis.
                            enum:
                              - base64
                              - base64+zstd
                              - jsonParsed
                            default: base64
                            example: jsonParsed
                          dataSlice:
                            $ref: '#/components/schemas/DataSliceConfig'
                          commitment:
                            type: string
                            description: Nível de confirmação. processed não é compatível.
                            enum:
                              - finalized
                              - confirmed
                            default: finalized
                            example: finalized
                          minContextSlot:
                            type: integer
                            description: >-
                              O slot mínimo no qual a solicitação pode ser
                              avaliada.
                            example: 445000000
                        additionalProperties: false
      responses:
        '200':
          description: O estado histórico da conta foi recuperado com sucesso.
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    description: A versão do protocolo JSON-RPC.
                    enum:
                      - '2.0'
                    example: '2.0'
                  id:
                    type: string
                    description: Identificador correspondente à solicitação.
                    example: '1'
                  result:
                    type: object
                    properties:
                      context:
                        $ref: '#/components/schemas/HistoricalContext'
                      value:
                        oneOf:
                          - $ref: '#/components/schemas/HistoricalAccount'
                          - type: 'null'
                        description: >-
                          A conta na posição solicitada ou null se ela não
                          existia naquele momento.
        '400':
          description: >-
            Solicitação inválida — parâmetros de solicitação inválidos ou
            solicitação malformada.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32602
                  message: Parâmetros inválidos
                id: '1'
        '401':
          description: Não autorizado — chave de API inválida ou ausente.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32001
                  message: Não autorizado
                id: '1'
        '429':
          description: Muitas solicitações — limite de taxa excedido.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32005
                  message: Muitas solicitações
                id: '1'
        '500':
          description: Erro interno do servidor — ocorreu um erro no servidor.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32603
                  message: Erro interno
                id: '1'
        '503':
          description: Serviço indisponível — o serviço está temporariamente indisponível.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32002
                  message: Serviço indisponível
                id: '1'
        '504':
          description: >-
            Tempo limite do gateway — o tempo limite da solicitação foi
            excedido.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32003
                  message: Tempo limite do gateway
                id: '1'
      security:
        - ApiKeyQuery: []
components:
  schemas:
    HistoricalAccountQuery:
      type: object
      description: >-
        A posição no histórico a ser consultada. Omita-a ou envie um objeto
        vazio para consultar o slot indexado mais recente.
      properties:
        slot:
          type: integer
          description: >-
            Slot no qual o estado será consultado. Retorna a conta como ela
            estava ao final desse slot. O slot mais antigo compatível é
            444959999, que corresponde ao estado no início da época 1030. Quando
            omitido, consulta o slot indexado mais recente, limitado pelo nível
            de confirmação solicitado.
          minimum: 444959999
          example: 445000000
        transactionIndex:
          type: integer
          description: >-
            Posição de uma transação dentro do slot. Retorna o estado da conta
            imediatamente após a execução dessa transação, em vez do estado ao
            final do slot. Requer slot.
          minimum: 0
          maximum: 16777214
          example: 10
      additionalProperties: false
    DataSliceConfig:
      type: object
      description: >-
        Retorna apenas uma parte dos dados de cada conta. Aplica-se às
        codificações base64 e base64+zstd.
      properties:
        offset:
          type: integer
          description: Deslocamento em bytes a partir do qual a leitura deve começar.
          example: 0
        length:
          type: integer
          description: Número de bytes a serem retornados.
          example: 8
      required:
        - offset
        - length
    HistoricalContext:
      type: object
      description: Metadados da resposta.
      properties:
        slot:
          type: integer
          description: >-
            O slot mais recente que o armazenamento de histórico havia indexado
            quando atendeu à solicitação. Esse não é o slot que você consultou.
          example: 468129571
    HistoricalAccount:
      type: object
      description: >-
        A conta como ela estava na posição solicitada, junto com a posição em
        que esse estado foi gravado pela última vez.
      properties:
        lamports:
          type: integer
          description: Número de lamports atribuídos a esta conta.
          example: 531589475273
        owner:
          type: string
          description: >-
            Chave pública codificada em base 58 do programa ao qual esta conta
            foi atribuída.
          example: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
        data:
          description: >-
            Dados da conta. Com base64 ou base64+zstd, um array de dois itens
            contendo os dados codificados e a codificação. Com jsonParsed, um
            objeto com program, parsed e space. Contas que não podem ser
            analisadas usam o array base64 como alternativa.
          oneOf:
            - type: array
              items:
                type: string
            - type: object
              properties:
                program:
                  type: string
                  description: Nome do programa proprietário da conta.
                  example: spl-token
                parsed:
                  type: object
                  description: Estado analisado da conta específico do programa.
                space:
                  type: integer
                  description: Tamanho dos dados da conta.
                  example: 82
        executable:
          type: boolean
          description: Indica se a conta contém um programa.
          example: false
        rentEpoch:
          type: integer
          description: >-
            A época na qual esta conta deverá pagar aluguel novamente. Contas
            isentas de aluguel informam o valor máximo de u64.
        space:
          type: integer
          description: Tamanho dos dados da conta em bytes.
          example: 82
        lastUpdatedAt:
          $ref: '#/components/schemas/AccountWritePosition'
      required:
        - lamports
        - owner
        - data
        - executable
        - rentEpoch
        - space
        - lastUpdatedAt
    ErrorResponse:
      type: object
      properties:
        jsonrpc:
          type: string
          description: A versão do protocolo JSON-RPC.
          enum:
            - '2.0'
          example: '2.0'
        error:
          type: object
          properties:
            code:
              type: integer
              description: O código do erro.
              example: -32602
            message:
              type: string
              description: A mensagem de erro.
            data:
              type: object
              description: Dados adicionais sobre o erro.
        id:
          type: string
          description: Identificador correspondente à solicitação.
          example: '1'
    AccountWritePosition:
      type: object
      description: >-
        Onde o estado retornado foi gravado pela última vez, na posição
        solicitada ou antes dela.
      properties:
        slot:
          type: integer
          description: >-
            Slot da última gravação. Um valor de 444959999 com transactionIndex
            nulo significa que a conta não foi alterada desde o início da
            cobertura do histórico.
          example: 444999837
        transactionIndex:
          oneOf:
            - type: integer
            - type: 'null'
          description: >-
            Posição da transação que realizou a última gravação. É nula quando a
            gravação ocorreu fora de uma transação (por exemplo, recompensas de
            época) ou quando a conta não foi alterada desde o início da
            cobertura do histórico.
          example: 700
      required:
        - slot
        - transactionIndex
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: >-
        Sua chave de API da Helius. Você pode obter uma gratuitamente no
        [painel](https://dashboard.helius.dev/api-keys).

````

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