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

# Solana archival JSON-RPC passthrough

> Transparent JSON-RPC 2.0 passthrough to an archival ("historical") Solana RPC, for queries that
need state older than a standard node retains — e.g. `getTransaction`, `getSignaturesForAddress`
or `getBlock` against old slots.

The request body is forwarded verbatim and the upstream response is returned verbatim, so this
accepts anything the upstream accepts. Point a Solana client straight at this URL.

Upstream behaviour worth knowing (all relayed to you unchanged, not imposed by us):
- Batches are supported — send an array — but every request in one batch must use the **same**
  method. A mixed-method batch returns `-32602 Invalid params`.
- The archival endpoint serves a subset of Solana RPC. An unsupported method returns
  `-32601 Method not found` with HTTP 403.
- Archival queries are slow: a simple call is typically 5-8s, and the upstream occasionally
  stalls. Requests are given 60s before we give up and return `504`. Set client timeouts
  accordingly and retry on `504`.

Requires an active Premium or Enterprise API key. Usage counts against your plan's rate limit.




## OpenAPI

````yaml /api-reference/openapi.json post /rpc/historical
openapi: 3.0.0
info:
  title: LP Agent Open API
  version: 1.0.0
  description: |+
    Public API for LP Agent

    **Authentication**

    All endpoints require an API key passed via the `x-api-key` header.

servers:
  - url: https://api.lpagent.io/open-api/v1
    description: Production
security:
  - apiKeyAuth: []
tags: []
paths:
  /rpc/historical:
    post:
      tags:
        - RPC
      summary: Solana archival JSON-RPC passthrough
      description: >
        Transparent JSON-RPC 2.0 passthrough to an archival ("historical")
        Solana RPC, for queries that

        need state older than a standard node retains — e.g. `getTransaction`,
        `getSignaturesForAddress`

        or `getBlock` against old slots.


        The request body is forwarded verbatim and the upstream response is
        returned verbatim, so this

        accepts anything the upstream accepts. Point a Solana client straight at
        this URL.


        Upstream behaviour worth knowing (all relayed to you unchanged, not
        imposed by us):

        - Batches are supported — send an array — but every request in one batch
        must use the **same**
          method. A mixed-method batch returns `-32602 Invalid params`.
        - The archival endpoint serves a subset of Solana RPC. An unsupported
        method returns
          `-32601 Method not found` with HTTP 403.
        - Archival queries are slow: a simple call is typically 5-8s, and the
        upstream occasionally
          stalls. Requests are given 60s before we give up and return `504`. Set client timeouts
          accordingly and retry on `504`.

        Requires an active Premium or Enterprise API key. Usage counts against
        your plan's rate limit.
      requestBody:
        required: true
        description: A JSON-RPC 2.0 request object, or an array of them for a batch.
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                - type: array
                  items:
                    type: object
            example:
              jsonrpc: '2.0'
              id: 1
              method: getSignaturesForAddress
              params:
                - 7d51qGEeAKiPakkxLoHda9egShXQLJcjFYpHEcX4d3EM
                - limit: 10
      responses:
        '200':
          description: Upstream response, passed through unchanged.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Request body was missing or empty.
        '504':
          description: Upstream RPC failed, timed out, or attempted a redirect.
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication

````