PIPE SOLANA
Solana data for your validators and apps.
Snapshots, the ledger, shreds, account changes, the bank stream and JSON-RPC from Pipe’s mainnet producer. Start on the free tier, then buy prepaid 30-day plans with your infrastructure credit.
Continue with Google above, or connect your wallet and sign a message to manage your files, storage, VMs, and cache.
Getting started
- Call any endpoint without a key: the free public tier applies.
- Buy a stake tier, any data feeds, or both, paid from your infrastructure credit.
- Create a key for each line you hold, one for your tier and one for each feed, and send it as
Authorization: Bearer psol_….
export PIPE_SOLANA=http://186.233.184.235:8080
export PIPE_SOLANA_KEY='<your psol_ key>'The data endpoints are served from http://186.233.184.235:8080. Indexes, manifests and status files need no key.
Endpoints and examples
Snapshots
Access groupsnapshotsFull and incremental snapshot archives from Pipe’s mainnet producer, each with a SHA-256 file. The index lists them with their slots, hashes and sizes.
/snapshots/index.json/snapshots/snapshot-<slot>-<hash>.tar.zst/snapshots/incremental-snapshot-<base>-<slot>-<hash>.tar.zst/snapshots/<archive>.tar.zst.sha256
curl -fsS "$PIPE_SOLANA/snapshots/index.json" | jq -r '.snapshots[0].url'
curl -fL -C - -H "Authorization: Bearer $PIPE_SOLANA_KEY" -O "$PIPE_SOLANA/snapshots/snapshot-<slot>-<hash>.tar.zst"Ledger
Access groupledgerEvery shred the producer stored for a rooted slot, after erasure recovery and repair, with a JSON summary beside it.
/ledger/index.json/ledger/<slot>.bin/ledger/<slot>.json
curl -fsS -H "Authorization: Bearer $PIPE_SOLANA_KEY" -o <slot>.bin "$PIPE_SOLANA/ledger/<slot>.bin"Shreds by slot
Access groupshredsPer-slot shred files for catching up to the tip. <bucket> is the slot divided by 1,000, rounded down.
/shreds/index.json/shreds/<bucket>/manifest.json/shreds/<bucket>/<slot>.bin
curl -fsS -H "Authorization: Bearer $PIPE_SOLANA_KEY" -o <slot>.bin "$PIPE_SOLANA/shreds/<bucket>/<slot>.bin"Live shreds
Access groupliveA stream of the newest shreds from <slot> on: frames of slot (u64), length (u16) and shred bytes, little-endian. A zero-length frame is a heartbeat.
/shreds/live?from=<slot>
curl -fsS -N -H "Authorization: Bearer $PIPE_SOLANA_KEY" "$PIPE_SOLANA/shreds/live?from=<slot>" > live.binAccount changes
Access groupchangesOne zlib-compressed batch of account changes per rooted slot, with the inputs to its bank hash.
/changes/index.json/changes/<bucket>/manifest.json/changes/<bucket>/<slot>.chg
curl -fsS -H "Authorization: Bearer $PIPE_SOLANA_KEY" -o <slot>.chg "$PIPE_SOLANA/changes/<bucket>/<slot>.chg"Bank stream
Access groupstreamServer-Sent Events with the producer’s bank hash for each slot beside mainnet’s, for divergence alerts. Reconnect with Last-Event-ID to resume.
/bank/stream?from=<slot>
curl -fsS -N -H "Authorization: Bearer $PIPE_SOLANA_KEY" "$PIPE_SOLANA/bank/stream?from=<slot>"Bank states
Access groupbankThe same per-slot states for up to 1,000 slots at a time. The status file is free.
/bank/stream.json?from=<slot>&to=<slot>/bank/stream/status.json
curl -fsS -H "Authorization: Bearer $PIPE_SOLANA_KEY" "$PIPE_SOLANA/bank/stream.json?from=<slot>&to=<slot>"JSON-RPC
Access grouprpcSolana JSON-RPC methods answered from Pipe’s execution of mainnet.
POST /rpc
curl -fsS -H "Authorization: Bearer $PIPE_SOLANA_KEY" -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"getSlot"}' "$PIPE_SOLANA/rpc"Fees and programs
Access groupanalyticsCompute-unit prices, utilization, fees and contended accounts by slot, and the programs mainnet invoked. The program index is free.
/fees/recent.json/fees/slots.json?from=<slot>&to=<slot>/fees/accounts.json?window=150/programs/index.json/programs/elf/<sha256>.so
curl -fsS -H "Authorization: Bearer $PIPE_SOLANA_KEY" "$PIPE_SOLANA/fees/recent.json"