Solana history → Parquet

Any part of Solana history, decoded, in Parquet files.

Select a program, or send your own filter and Anchor IDL. One machine scans the archive for your job only. You get Parquet files with a column for each argument, account and event field.

$2 for each TB of archive scanned (launch price; list price $5). One recent epoch costs $4. No account. Pay in USDC on Solana.

$2/TBof archive scanned, launch price (list $5)
0servers for you to rent, build or watch
21presets with a checked IDL for the busiest programs
7 daysof download URLs for each result
The problem

Solana history is public. It is not easy to read.

The data is free. To get one clean table from it, you need a large toolchain, a correct decoder and a machine next to the archive.

600+ TB

The archive is too large to download

The Old Faithful archive keeps every block since genesis. Each new epoch adds about 0.7 TB.

1

RPC gives one transaction for each request

A busy program has millions of transactions. A backfill over RPC is a long loop against rate limits.

Raw

Bytes, for a program nobody decoded

A SQL warehouse is fast for the programs it decoded. For your program, it has raw bytes.

Why this service exists →

Three ways to get the data

Rent servers, ask an agent, or pay for the scan.

Option 1

Rent big servers

A bigger server is faster, not cheaper. It bills each month, also when it is idle. You still build the engine, write the decoder and watch each run.

Compare with servers →
Option 2

Ask an AI agent to build it

The agent writes the code fast. The traps give no error: a scan that reads 709 GB and writes zero rows looks like a slow scan. Each test is an hour of real archive.

Compare with agents →
Option 3

Pay for the scan

Send one request and get a firm price. The traps are already fixed and tested on real epochs. Your AI agent can pay too, with x402.

Get a price →
How it works

Four steps. You touch two of them.

  1. Select

    A preset, or your own filter and Anchor IDL. Then an epoch range.

  2. Get a firm price

    The quote reads the exact size of each epoch file. The price does not change later.

  3. Pay

    USDC on Solana, through x402. A script or an AI agent can pay with no human step.

  4. Download

    Parquet files in R2. Use wget -i, or query them in place with DuckDB.

The full pipeline →

What you get

Tables you can query, not bytes you must decode.

  • One table for each instruction and each event in the IDL, with one column for each argument, named account and field.
  • Inner instructions are included. A Raydium swap that Jupiter routes is in the Raydium result.
  • One event is one row. Programs that write each event two ways give one row, not two.
  • Large integers stay exact. u128 is a decimal string. A lamport amount never loses digits.
  • Nothing is dropped. An instruction the IDL does not name keeps its raw bytes.

The output format →

job_7Hq… · Pump.fun · epoch 1058
# matched instructions, raw bytes
part-t00-0000.parquet
# one file set for each IDL instruction
ix-buy-t00-0000.parquet
ix-sell-t00-0000.parquet
ix-create_v2-t01-0000.parquet
# one file set for each IDL event
ev-trade_event-t00-0000.parquet
ev-create_event-t02-0000.parquet
…

D DESCRIBE 'ev-trade_event-*.parquet';
slot            UBIGINT
tx_index        UINTEGER
signature       VARCHAR
success         BOOLEAN
fee             UBIGINT
program_id      VARCHAR
…
log_index       UINTEGER
mint            VARCHAR
sol_amount      UBIGINT
token_amount    UBIGINT
is_buy          BOOLEAN
user            VARCHAR
…
field_fee       UBIGINT
…
Presets

21 programs, ready to scan.

Each preset is a program id checked on chain and an IDL checked against real transactions. Programs marked raw are not Anchor programs: you get the raw instruction bytes. For any other program, send its id and its IDL.

Get a firm price now.

You pay only when you send the job. A failed job gives you a credit for a free re-run.

Get a price