Skip to content

jito-labs/searcher-examples

Folders and files

NameName
Last commit message
Last commit date
May 14, 2024
Jun 20, 2024
Feb 12, 2024
Jun 25, 2024
Mar 30, 2023
Oct 3, 2022
Nov 2, 2022
May 14, 2024
Feb 12, 2024
Mar 30, 2023
Aug 29, 2024
Jan 21, 2023
Oct 3, 2022

Repository files navigation

About

This repository contains a few examples on how to use a searcher.

Setup

  1. Install protoc to compile protobufs
  1. Ensure that the rust toolchain is installed
$ curl https://sh.rustup.rs -sSf | sh
$ source $HOME/.cargo/env
  1. Clone the repo
$ git clone https://github.com/jito-labs/searcher-examples.git --recurse-submodules
$ cd searcher-examples

Infrastructure

You will need access to a few things before running these examples.

Local keypair

This is a locally generated wallet which you will use to sign transactions and pay for transaction fees and tips with.

Block Engine URLs

A list of our block engine URLs can be found here: https://jito-labs.gitbook.io/mev/systems/connecting/mainnet

Block Engine API Key

Please apply for block engine API keys here: https://web.miniextensions.com/WV3gZjFwqNqITsMufIEp

On-chain addresses

On-chain addresses for tip programs and tip accounts can be found here: https://jito-foundation.gitbook.io/mev/mev-payment-and-distribution/on-chain-addresses

Folders

backrun

Our most complex example, this shows how to "backrun" transactions.

Backrunning is when one inserts a transaction immediately behind a target transaction. Common forms of backrunning can be arbitrage and liquidations.

This example listens to transactions from the mempool and submits bundles containing a backrun transaction immediately behind a target transaction.

Due to the deprecation of mempool features, support for this functionality has been discontinued.

cli

This is a rust program that exercises functionality inside the searcher API so you can explore the functionality. It provides an intuitive CLI-based interface for connecting to the block engine and sending test bundles.

jito_protos

An example on how to build the protobufs that define the messages and services one can use to talk to our block engine.

searcher_client

An example on how to authenticate with the block engine as a searcher. All users in the block engine need to perform a challenge-response

Disclaimer

Use this at your own risk.