MCPcopy Index your code
hub / github.com/RohanKapurDEV/mev-base

github.com/RohanKapurDEV/mev-base @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
66 symbols 82 edges 14 files 8 documented · 12%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

mev-base

This repo is a cloneable starter template for Jito focused MEV bots on Solana. It is only opinionated on dependency structure, and leaves bot implementation up to the operator. The point of it is to do away with the boilerplate of setting up searcher and geyser protobufs for every new bot, and also to pin versions for the shared dependencies between the searcher-client, geyser-client, and geyser-protos crates.

All included crates are from the Jito Labs and Jito Foundation GitHub orgs. All code belongs to them. All solana and jito-solana crates in lib/pkg-utils are pinned to 1.14.13 for consistency.

Setting up

git clone https://github.com/RohanKapurDEV/mev-base
cd mev-base/
git submodule update --init --recursive
cargo build

At thsi point, you should be good to use the searcher and geyser protobufs and client impls in your bot. You can add your bot to the codebase by running cargo new --bin <BOT_NAME>, and adding the bot name to the Cargo workspace file (root level Cargo.toml).

Extension points exported contracts — how you extend this code

AccountUpdateNotification (Interface)
(no doc) [2 implementers]
lib/geyser-client/src/types.rs
ClusterData (Interface)
(no doc) [1 implementers]
lib/searcher-client/src/lib.rs

Core symbols most depended-on inside this repo

pubkey
called by 3
lib/geyser-client/src/types.rs
seq
called by 3
lib/geyser-client/src/types.rs
extract_highest_write_slot_header
called by 2
lib/geyser-client/src/geyser_consumer.rs
versioned_tx_from_packet
called by 1
lib/searcher-client/src/convert.rs
proto_packet_from_versioned_tx
called by 1
lib/searcher-client/src/convert.rs
current_slot
called by 1
lib/searcher-client/src/cluster_data_impl.rs
next_jito_validator
called by 1
lib/searcher-client/src/cluster_data_impl.rs
slot_subscribe_loop
called by 1
lib/searcher-client/src/cluster_data_impl.rs

Shape

Method 32
Class 14
Function 14
Enum 4
Interface 2

Languages

Rust100%

Modules by API surface

lib/geyser-client/src/types.rs11 symbols
lib/geyser-client/src/geyser_consumer.rs11 symbols
lib/searcher-client/src/lib.rs10 symbols
lib/searcher-client/src/cluster_data_impl.rs9 symbols
lib/searcher-client/src/convert.rs7 symbols
lib/geyser-protos/src/lib.rs6 symbols
lib/searcher-client/src/client_interceptor.rs5 symbols
lib/geyser-protos/src/convert.rs2 symbols
lib/geyser-client/src/interceptor.rs2 symbols
lib/searcher-protos/build.rs1 symbols
lib/geyser-protos/build.rs1 symbols
lib/geyser-client/src/lib.rs1 symbols

For agents

$ claude mcp add mev-base \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact