How it works

One request in. Parquet out. No machine left behind.

Each job gets its own machine. It starts after you pay, scans your range, uploads the result, and then we delete it.

01 · RequestYou A preset, or a filter and an IDL, and an epoch range.
02 · Quote and payControl plane A firm price from the exact file sizes. Payment through x402.
03 · ScanOne machine 4 dedicated vCPU in Amsterdam. Filter, decode, write Parquet.
04 · StoreCloudflare R2 Each file uploads when it closes. URLs valid for 7 days.
05 · ReadYou wget -i, or DuckDB on the URLs.
SourceOld Faithful archive Every block since genesis. One file for each epoch, in Amsterdam.
  1. You send a scan request

    Name a preset, or send a filter and an optional Anchor IDL. Add a first and a last epoch. The control plane checks the filter and the IDL before any payment, so a bad request costs nothing.

  2. The control plane gives a firm price

    It reads the exact size of each epoch file from the archive, and keeps it, because an epoch file never changes. The price is $2 for each TB of archive scanned (launch price; list price $5), rounded up to the cent, with a $4 minimum. The 402 response holds the price and the payment details.

  3. You pay

    Send the same request again with an X-PAYMENT header, from any x402 client. The payment is USDC on Solana. When it settles, the job starts and you get a job id.

  4. One machine starts for your job

    A dedicated 4 vCPU machine in Amsterdam boots a prebuilt scan binary. It streams each epoch from the archive, tests every transaction against your filter, and decodes each match with the IDL.

  5. Parquet goes to R2 during the scan

    The scan closes a file at 2 GB. The machine uploads it at once and deletes its copy, while the scan continues. A file over 4 GiB goes up in 512 MiB parts.

  6. We delete the machine

    The machine reports the result, and the control plane deletes it. GET /job/<id> returns a download URL for each file, a manifest for wget -i, and a ready DuckDB query.

When something fails

You get a credit, not a loss

  • If the scan fails, you get a credit for the full price. Send the same job again with X-CREDIT: <id>, and you pay nothing.
  • If the machine hangs, a watchdog deletes it at twice the expected run time and issues a credit. It runs every 10 minutes.
  • If the scan stops early, the files it uploaded stay available for 7 days. You still get the credit.
Security

Your filter runs on a machine with no keys

  • The machine holds no long-lived secret. It gets presigned URLs and a token for one job.
  • The control plane makes each storage key from the job id. A machine cannot write outside its own job or read another result.
  • Names from your IDL become file names, so three separate checks clean them.
  • R2 deletes each result after 7 days.
Job states

Five states. Two of them cost money.

paid ──▶ running ──▶ done
              │
              ├──▶ failed    the scan or the upload failed  → credit
              └──▶ timeout   the watchdog deleted it        → credit

The watchdog looks at paid and running jobs, and at any machine that no open job claims.

See it on your own range.

Select a preset and an epoch. The price comes back before you pay anything.

Get a price