Skip to content
Back to skills

Mev Bundles

ASecurity

Expert assistant for MEV bundles and "bribes" on Solana — what they are, how to find them on-chain, how to identify different types (sandwich, back-run, snipe, mass-deploy), and how to analyze them. Covers Jito + 8 other MEV-protected relays (Bloxroute, Nozomi/Temporal, Astralane, BlockRazor, Stellium, Falcon, Flashblocks, 1node). Use this skill when the user wants to: understand what a "bribe" or "bundle" actually is on Solana, find which transactions are bundled on-chain, detect a sandwich...

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 26, 2026
educationpythongobashsqlnodegitapi

Works with

  • cli
  • api

Security analysis

A92/100
  • mediumUses curl or wget to download content

Pro scans all 10 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add Vo1ganin/crypto-claude-skills --skill mev-bundles --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Mev Bundles?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Mev Bundles
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vo1ganin-mev-bundles/badge)](https://www.skillsdirectory.com/skills/vo1ganin-mev-bundles)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: mev-bundles
description: |
  Expert assistant for MEV bundles and "bribes" on Solana — what they are, how to
  find them on-chain, how to identify different types (sandwich, back-run, snipe,
  mass-deploy), and how to analyze them. Covers Jito + 8 other MEV-protected
  relays (Bloxroute, Nozomi/Temporal, Astralane, BlockRazor, Stellium, Falcon,
  Flashblocks, 1node).

  Use this skill when the user wants to: understand what a "bribe" or "bundle"
  actually is on Solana, find which transactions are bundled on-chain, detect a
  sandwich attack, analyze a KOL's or competitor bot's tipping strategy, explore
  who uses Jito vs other relays, or submit their own MEV-protected transactions.

  This skill is PRIMARILY EDUCATIONAL: its job is to explain and detect, not just
  to submit. Code examples are illustrative.
compatibility:
  tools:
    - Bash
    - Write
    - Read
---

# MEV Bundles & Bribes Skill

**Primary purpose:** explain bribes and bundles on Solana, teach agents how to **find** them on-chain, and how to **identify** their type (sandwich, back-run, snipe, mass-deploy).

Reference files:
- [`references/bribes.md`](references/bribes.md) — **READ THIS FIRST**: what "bribe" means precisely, 3 mechanisms (priority fee / Jito tip / relay tip)
- [`references/bundle-analysis.md`](references/bundle-analysis.md) — **READ FOR ANALYSIS**: how to find bundles on-chain, detect sandwich, profile KOLs
- [`references/jito.md`](references/jito.md) — Jito Block Engine API (for submission)
- [`references/other-relays.md`](references/other-relays.md) — all 9 MEV relays (Jito, Bloxroute, Nozomi, Astralane, BlockRazor, Stellium, Falcon, Flashblocks, 1node)
- [`references/examples/`](references/examples/) — runnable Python analysis + submission

---

## 🎯 Part 1: What is a "bribe" on Solana?

Trading slang. Mechanically it's **one of three things** (or a combination):

### 1. Priority fee (standard)
- Microlamports per compute unit, set via `ComputeBudgetProgram.setComputeUnitPrice`
- Goes to: the validator producing your block
- Works with: any RPC (public, Helius, QuickNode, etc.)
- Typical: 1000–1,000,000 microlamports/CU depending on urgency

### 2. Jito tip
- `SystemProgram.transfer` instruction inside your tx to one of Jito's 8 tip accounts
- Goes to: Jito block engine + participating validators (shared)
- Works with: **only when submitted via a Jito-enabled endpoint** (Jito block engine, or Helius Sender which routes through Jito)
- Typical: 1000 lamports minimum, 100k-10M+ for competitive sniping

### 3. Alternative relay tip
- Similar mechanic for Bloxroute, Nozomi, Stellium, etc. — each has own tip addresses
- Works with: that specific relay's API only

**When someone says "bribe" in trading context**, they usually mean **Jito tip** (that's where the competitive auction happens). In copytrade/pump.fun lingo: `bribe = priority_fee + jito_tip` (combined per-tx budget).

See [`references/bribes.md`](references/bribes.md) for deep treatment including 70/30 split, percentile pricing, common mistakes.

---

## 🎯 Part 2: What is a "bundle"?

A bundle is a **group of up to 5 Solana transactions** submitted together to Jito (or another relay with bundle support) that execute **atomically in order, in the same block** — all succeed or all revert.

**Key properties:**
- Up to 5 txs per bundle
- Sequential and atomic — position 1 runs first, then 2, etc.
- If any tx fails, entire bundle reverts
- Tips (usually in the last tx) compete in a 50ms auction
- Only land when a Jito-enabled validator produces the block (95%+ of slots)

**Why bundles exist:**
- Atomic multi-step MEV (arb, sandwich, liquidation+swap)
- Ordering guarantees (you're first or don't exist)
- Protection from front-running within your own tx group

See [`references/jito.md`](references/jito.md) for the submission API.

---

## 🎯 Part 3: How to FIND bundles on-chain

You have a tx signature. You want to know: was this part of a bundle? What other txs were in it?

### Method A: Fingerprint by Jito tip transfer (fastest, no external service)

Any tx with a `SystemProgram.transfer` to one of Jito's 8 tip accounts is Jito-bundled:

```
96gYZGLnJYVFmbjzopPSU6QiEV5fGqZNyN9nmNhvrZU5
HFqU5x63VTqvQss8hp11i4wVV8bD44PvwucfZ2bU7gRe
Cw8CFyM9FkoMi7K7Crf6HNQqf4uEMzpKw6QNghXLvLkY
ADaUMid9yfUytqMBgopwjb2DTLSokTSzL1zt6iGPaS49
DfXygSm4jCyNCybVYYK6DwvWqjKee8pbDmJGcLWNDXjh
ADuUkR4vqLUMWXxW9gh6D6L8pMSawimctcNZ5pGwDcEt
DttWaMuVvTiduZRnguLF7jNxTgiMBZ1hyAumKUiL2KRL
3AVi9Tg9Uo68tJfuvoKvqKNWKkC5wPdSSdeBnizKZ6jT
```

For other relays, look for their tip addresses:
- **Bloxroute**: `HWEoBxYs7ssKuudEjzjmpfJVX7Dvi7wescFsVx2L5yoY` (primary; more listed in their docs)
- **Stellium, Nozomi, etc.**: see [`references/other-relays.md`](references/other-relays.md)

### Method B: Jito Explorer
https://explorer.jito.wtf/ — paste signature OR bundle ID → see all txs in bundle with tip amount, validator, slot.

### Method C: Block-level analysis (for reverse-engineering)
1. `getTransaction(sig)` → extract `slot`
2. `getBlock(slot, transactionDetails: "full")` → all txs in that slot
3. Filter txs with tip-account transfers
4. Group by block position + signers to identify bundle boundaries

See `references/examples/bundle_analyzer.py` for a working implementation.

### Method D: External indexers
- **Bitquery Jito Bundle API** — GraphQL queries over historical bundles
- **Dune** — tables `jito_solana.*` (verify with `searchTables`)

---

## 🎯 Part 4: How to IDENTIFY bundle types

Given you've found a bundle, what kind is it? Pattern recognition:

### Simple single-tx + tip
Just one tx with a tip transfer. User submitted via Jito's `sendTransaction` for MEV protection + fast landing. Most common bundle type.

### Sandwich attack
Three txs, same pool, same block:
- **Position 1:** attacker buys token X on pool P (price goes up)
- **Position 2:** victim swaps on pool P (buys at the inflated price)
- **Position 3:** attacker sells X on pool P (profits from price move)

Signature: positions 1 and 3 have same signer (different from position 2), opposite directions, same pool. Position 2 is typically a naïve user without MEV protection.

Detection in code: `references/examples/bundle_analyzer.py` has sandwich_detector function.

### Back-run / arbitrage
Two txs:
- **Position 1:** victim's large swap (moves price)
- **Position 2:** attacker arbs the price difference on another pool

Signature: position 2 executes immediately after a large swap, taking advantage of the move.

### Snipe bundle (pump.fun or token launch)
Single tx buy on fresh token creation, often with high tip. Identifying:
- The tx happens within milliseconds of the token's `create` event
- High tip relative to tx value (e.g. 0.1 SOL tip on 0.1 SOL buy = 100% tip ratio)
- Multiple competitors sniping the same new token in the same slot

### Mass-deploy bundle
Single creator wallet submitting multiple `create`/`create_v2` instructions atomically:
- Same signer on 2-5 token creates in one slot
- Each create with a tip (or combined tip on last tx)
- Useful for pump-and-dump operators who want many candidates in one shot

### Liquidation bundle
2-3 txs: setup instructions + the liquidation call + (optional) cleanup. Common on Drift, Solend, Marginfi.

---

## 🎯 Part 5: How to ANALYZE bundles (beyond identifying type)

### KOL / competitor tip profiling
Given a wallet, compute: tipped-tx ratio, median/p95 tip amount, tip budget per SOL traded. Reveals their priority budget and sophistication.

See `references/examples/kol_tip_analysis.py`.

### Historical tip-floor study
Jito publishes live percentiles (25/50/75/95/99th) at https://bundles.jito.wtf/api/v1/bundles/tip_floor. Collect over time or via Dune `jito_solana.*` tables to understand competitive windows.

### Validator adoption
Which validators run Jito client? 95%+ of stake does (as of 2026). Query via `getClusterNodes` + Jito Tip Distribution Accounts — see https://jito-foundation.gitbook.io/mev/jito-solana/data-tracking/tracking-jito-solana-validators.

### Mass-deploy creator detection
Scan pump.fun `create` events grouped by slot + signer. If one wallet does 3+ creates in same slot with tip transfers → mass-deploy operator.

See `references/bundle-analysis.md` for full analysis recipes.

---

## 🎯 Part 6: Submission (secondary — for when user is the bot operator)

If the user wants to submit their own MEV-protected txs:

| Goal | Approach |
|------|----------|
| Simple MEV protection on a single tx | Jito `sendTransaction` with 70/30 priority/tip split |
| Atomic multi-step MEV | Jito `sendBundle` (up to 5 txs) |
| Maximum reliability | Helius Sender (dual-routes) |
| Defensive (anti-sandwich) | Astralane or Paladin/Nozomi staked path |
| Competitive sniping | Jito + Bloxroute in parallel via fastest region |

See [`references/jito.md`](references/jito.md) for the API and [`references/other-relays.md`](references/other-relays.md) for alternatives.

### Four rules for submission

1. **Random-rotate tip accounts** (applies to any relay that offers multiple) — reduces contention
2. **Tip by live percentile**, not hardcoded — pull `tip_floor` before each session, use 75th for normal / 95th for hot / 99th for critical
3. **Region-closest endpoint** saves 10-100 ms RTT
4. **Jito doesn't always land** — parallel-submit across multiple relays for critical tx

---

## Workflow for common questions

### "Was this tx bundled?"
1. Fetch the tx with `getTransaction`
2. Scan instructions for transfer to any known tip account
3. Yes → report tip amount, destination, likely relay

### "Was this tx sandwiched?"
1. Fetch tx + its block
2. Find all jito-tipped txs in the same slot
3. Look for same-signer pre/post pair with opposite swap direction on same pool
4. If found → report suspects, link to explorer

### "How much does this wallet pay in bribes?"
1. Fetch last N signatures (`getSignaturesForAddress`)
2. Batch-fetch all with JSON-RPC array `getTransaction`
3. Extract tips, compute statistics (mean/median/p95/frequency)
4. Report profile

### "What's a reasonable tip for right now?"
1. `curl https://bundles.jito.wtf/api/v1/bundles/tip_floor`
2. Report 25/50/75/95/99 percentiles in lamports + SOL
3. Recommend 75th for normal, 95th for competitive, 99th for critical

## Reference files

- [`references/bribes.md`](references/bribes.md) — **theory: what bribes are**
- [`references/bundle-analysis.md`](references/bundle-analysis.md) — **how to find and identify bundles**
- [`references/jito.md`](references/jito.md) — Jito API (submission details)
- [`references/other-relays.md`](references/other-relays.md) — all 9 MEV relays with what we know so far
- [`references/examples/tip_advisor.py`](references/examples/tip_advisor.py) — live tip-floor → recommended tip
- [`references/examples/bundle_analyzer.py`](references/examples/bundle_analyzer.py) — find siblings + sandwich detection
- [`references/examples/kol_tip_analysis.py`](references/examples/kol_tip_analysis.py) — KOL/competitor tip stats
- [`references/examples/send_tx_jito.py`](references/examples/send_tx_jito.py) — Jito submission with polling

## Related skills

- [`pumpfun-skill`](../pumpfun) — pump.fun specifically, heavy Jito use case
- [`solana-rpc-skill`](../solana-rpc) — base RPC, JSON-RPC batching, Helius Sender details
- [`solscan-skill`](../solscan) — wallet tx history for KOL analysis
- [`dune-skill`](../dune) — historical `jito_solana.*` SQL for macro analysis

Files in this skill

  • README.md3.7 KB
  • SKILL.md11.3 KB
  • references/bribes.md5 KB
  • references/bundle-analysis.md6.9 KB
  • references/examples/bundle_analyzer.py4.8 KB
  • references/examples/kol_tip_analysis.py4.1 KB
  • references/examples/send_tx_jito.py3.5 KB
  • references/examples/tip_advisor.py2.3 KB
  • references/jito.md6 KB
  • references/other-relays.md9.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.