Shipstern: Solana program parsing toolkit logoShipstern: Solana program parsing toolkit
include_shipstern_parser! expands a Codama IDL into account and instruction parsers. Runtime 0.8.0. Workspace publish is false. Clone the repo.
devrels.xyz/a/304Shipstern is a Rust framework for program-aware Solana data pipelines. Raw change events, in the Yellowstone gRPC shape, go through pluggable parsers. You log, store, or stream structured accounts and instructions. Yellowstone Vixen was the old name. The repo is now solana-rpc/shipstern, in the Solana RPC GitHub org. Workspace version 0.8.0. MIT. publish = false on the workspace. Clone the git tree.
espi announced the move on 6 September 2026. Maintainers listed in the README: Jupiter, ABK Labs, Triton One. The Yellowstone gRPC streaming piece stays.
Runtime
Build a shipstern::Runtime with a source and pipelines. An account pipeline and an instruction pipeline each take a parser and one or more handlers. Prometheus metrics on /metrics. Config is a TOML file. Example: Shipstern.example.toml.
use shipstern::Pipeline;
use shipstern_spl_token_parser::{AccountParser, InstructionParser};
use shipstern_yellowstone_grpc_source::YellowstoneGrpcSource;
shipstern::Runtime::<YellowstoneGrpcSource>::builder()
.account(Pipeline::new(AccountParser, [Logger]))
.instruction(Pipeline::new(InstructionParser, [Logger]))
.build(config)
.run();Built-in parsers in the README: SPL Token shipstern-spl-token-parser and Token Extensions shipstern-spl-token-extensions-parser. The workspace also has bpf-loader, block-meta, slot, and stake-pool parser crates.
Codegen
include_shipstern_parser! from shipstern-proc-macro 0.8.0 reads a Codama JSON IDL off disk and expands account and instruction parsers inline. Pair it with shipstern-parser 0.8.0 and borsh. Variants that share a discriminator but differ in account count are tried largest first. Same discriminator and same account count need a custom InstructionResolver.
use shipstern_proc_macro::include_shipstern_parser;
include_shipstern_parser!("path/to/idl.json");Sources and sink
Official sources in the README: shipstern-yellowstone-grpc-source (Dragon's Mouth), shipstern-yellowstone-fumarole-source (limited beta, Triton access), shipstern-solana-rpc-source (getProgramAccounts), shipstern-solana-snapshot-source. The workspace also ships shipstern-jetstream-source and shipstern-kafka-sink. Fumarole is still limited beta. Contact Triton for access. Do not treat it as a public endpoint list.
What espi said
After ABK Labs was acquihired by Jupiter, Shipstern powers Janus, Jupiter's internal on-chain feed. Teams subscribe to program topics. Kafka offsets hold the cursor. Parsed events go to protobufs and a schema registry. espi wrote that Portfolio API latency moved from 10-15 seconds to P99 800 ms and P50 150 ms. Jupiter Lend, mobile notifications, and spot warehouse work sit on that path. Those numbers are Jupiter's, from the post, not a public SLA.
253 stars, 97 forks on the announcement day. Default branch main. Docs in-repo: Codama parser generation, mock fixtures, examples. X: @espicodes.
Keep reading
Parse signatures or address history into decoded instructions, transfers, and summaries. Same IDL catalog as Parsed Streams. Enhanced Transactions stays in maintenance mode.
Hosted head-slot RPC without credit gimmicks — and a self-hostable path that shoots txs at N+1 leaders over QUIC/UDP.
Helius turns raw Solana transactions into human-readable events — NFT_SALE, SWAP, TOKEN_TRANSFER — and delivers them to your endpoint via webhooks. DAS API, smart transactions, priority fee estimates. The Yellowstone for people who don't want to run infra.
Get new articles in your inbox
Technical deep-dives on Solana tooling, infrastructure, and ecosystem. No noise.
