Get started in 2 minutes

Get started in 2 minutes for chainstar. Raw blockchain data to clean dimensional tables in your own warehouse, from one command.

You need a terminal (Terminal on macOS, PowerShell on Windows) and one of two things: Docker (easiest, works for every chain) or uv (no Docker; Ethereum and Base then also need a tool called cryo).

With Docker. Install Docker Desktop and start it. Make an empty folder, open a terminal in it, and run:

docker run --rm -it -v "$PWD:/work" ghcr.io/bit-primitive/chainstar quickstart

On Windows PowerShell write "${PWD}:/work" instead of "$PWD:/work". On Linux add --user "$(id -u):$(id -g)" after --rm so the files belong to you.

With uv. Install uv, then:

uv tool install git+https://github.com/Bit-Primitive/chainstar
chainstar quickstart

(Once chainstar is on PyPI this becomes uv tool install chainstar.) Bitcoin and Solana work straight away. Ethereum and Base also need cryo; if it is missing, quickstart says how to get it, or use the Docker command above, which includes it.

What quickstart does. It asks which chain and how many of the latest blocks (default: 20, or the single latest Bitcoin block), fetches them from a free public endpoint, builds the tables in a file called warehouse.duckdb in your folder, and prints what to do next. It takes about a minute on Solana and Bitcoin and a few minutes on Ethereum and Base (most of it reading token names). To run it without questions, add --chain base --yes.

Open it in a spreadsheet. Save the transfers as an Excel file and double-click it:

chainstar export transfers --output transfers.xlsx

(with Docker: docker run --rm -v "$PWD:/work" ghcr.io/bit-primitive/chainstar export transfers --output transfers.xlsx)

Each row is one transfer: when, which token (token_symbol), from whom, to whom, and how much (amount). amount_raw is the exact amount in the token's smallest unit. Prefer .xlsx over .csv for spreadsheets: a spreadsheet opening a CSV rounds long numbers like amount_raw.

Your own wallet's history. All token transfers to or from one address, as a spreadsheet:

chainstar wallet 0xYourAddress --chain base --recent 1000

That writes base-0xyouraddress.xlsx. On Ethereum and Base the node filters by address, so this is quick; see Wallet history for what it costs on each chain.

Good to know. The free public endpoints are shared by everyone and rate limited, so chainstar asks them slowly (see Public endpoints). They are fine for trying things out and for a few thousand blocks; for more, get an RPC URL from a provider and pass it with --rpc-url or the CHAINSTAR_RPC_URL environment variable. If something goes wrong, chainstar says what happened and what to try, in one or two lines.

The rest of this page is the full reference.