KeeperHub / KeeperHub/keeperhub

Pre-inclusion visibility on Solana: Geyser vs ShredStream spike

Open
#2,246 0 comments 0 reactions 0 assignees View on GitHub
enhancement needs-discussion
Dominant language
TypeScript
Stars
24
Forks
93
Avg merge
1d 8h
Merged PRs (30d)
266

Description

Part of #2239. Tier 4 of four, covering `solana-mainnet`.

> **Sequencing.** This is tier 4. Tiers 1 to 3 come first, and the lead time this buys is not usable until the reaction path is shortened - that work is tracked internally and is not yet done. This issue is filed for visibility and design discussion. Please comment before starting implementation work. **This one should start as a spike, not an implementation.**

## Reason: what cannot be done today

**Solana has no mempool at all.** Transactions are forwarded directly to the upcoming leader, so there is no gossiped pending pool to observe and nothing analogous to the EVM approaches in the sibling issues. Pre-inclusion visibility requires either a Geyser plugin on a validator or RPC node we operate, or a shred-level stream such as Jito ShredStream. Both are substantially heavier operations than any EVM option in this tier.

Solana observation today runs through a separate `solana-tracker` service that polls signatures (`keeperhub-events/solana-tracker/lib/config/environment.ts:18`), already structurally distinct from the EVM event-tracker. Any work here extends that service rather than the EVM path.

## Scope: what this touches, and what it does not

**In scope:** evaluating Geyser versus ShredStream versus a managed provider of either, on operational cost and on the latency advantage each actually delivers over the current signature polling. The deliverable is a recommendation with numbers.

**Not in scope:** implementation, until the spike says it is worth it. Also not in scope: the EVM tier 4 chains, which share no code with this.

## Plan

Answer these before proposing any implementation:

1. **What is the current end-to-end latency of the signature-polling path, and how much of the gap is the poll interval rather than the observation layer?** If most of it is the poll interval, tuning that is dramatically cheaper than a Geyser deployment and may close enough of the gap to make this tier unnecessary on Solana. This should be measured first, because a good result here closes the issue.
2. Is there a managed provider exposing Geyser-equivalent streams without us operating a node?
3. Does running a validator or dedicated RPC node pass a cost/benefit test against actual Solana usage on the platform? Usage should be checked before any commitment.

The honest prior is that this is the most expensive issue in the tier and the least likely to pay for itself. It is filed so that the reasoning is written down rather than rediscovered.

---
Tracking: [KEEP-1279](https://linear.app/keeperhubapp/issue/KEEP-1279) (internal tracker, not publicly accessible)

Contributor guide

Open the contributing guide

Research direction

Start with keeperhub-events/solana-tracker/lib/config/environment.ts:18 and measure the current end-to-end signature-polling latency, including the poll interval. Then compare Geyser, Jito ShredStream, and managed providers on measured latency gains, operating cost, and current platform usage. Done means a documented recommendation with numbers; begin with a spike and comment before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend, blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.