Concepts
How Catscope works.
Three things to understand: where your bot runs, how it gets data, and how a fleet of them is coordinated.
Catscope is not a hosted API you call. It is a runtime that lives inside Solana validators. Your bot ships as a WebAssembly module, gets installed in a guest slot on a validator, and receives decoded account updates through shared memory — no RPC, no network hop, no gossip delay.
Three components do the work:
- CatGeyser — a specialized Solana Geyser plugin running on the validator. It parses raw account updates and slot changes, filters them down to what your strategy actually needs, and streams them to your bot.
- CatBot — the runtime that hosts your WASM bot inside the validator and triggers your handlers (
on_load,mid_on_account,evaluate) whenever relevant state changes. - The Optimizer — a process you run that coordinates your fleet of bots. It deploys them, pushes configuration down, and listens for signals back (PnL, latency, custom events).
Read on for the deeper view:
Read
Validator Runtime
CatGeyser (state management) + CatBot (in-validator bot runtime). The two pillars that make sub-millisecond execution possible.
Read
Account Graph & Edge Generator
How Catscope models finalized account state as a graph and uses a WASM edge generator to define relationships between accounts.
Read
Bot Design
How a bot is structured in Rust — the evaluate loop, account subscriptions, and how the optimizer talks to it.
Read
Optimizer Design
How the optimizer coordinates a fleet — pushing configuration down, receiving signals back, gating spend on PnL.