Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
alsk1992 avatar

Mev

  • 14 installs
  • 610 repo stars
  • Updated June 26, 2026
  • alsk1992/cloddsbot

mev is a Claude Code skill that protects on-chain trades from sandwich attacks and front-running by routing them through Flashbots, MEV Blocker, or Jito.

About

This skill protects the clodds bot's trades from MEV attacks like sandwiching and front-running. A developer uses it to route swaps through private relays (Flashbots or MEV Blocker on Ethereum, Jito on Solana), pick a protection level, simulate MEV risk before trading, and analyze whether a past transaction was attacked. It centers on on-chain transaction submission.

  • Protect trades from sandwich attacks and front-running
  • Route via Flashbots, MEV Blocker (Ethereum), or Jito (Solana)
  • Simulate MEV risk and analyze whether a past tx was attacked

Mev by the numbers

  • 14 all-time installs (skills.sh)
  • Ranked #280 of 479 Web3 & Blockchain skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

mev capabilities & compatibility

Capabilities
mev protection · onchain execution · risk simulation
Use cases
trading
Runs
Runs locally
From the docs

What mev says it does

Protect trades from MEV (Maximal Extractable Value) attacks including sandwich attacks and front-running.
SKILL.md
ethereum: 'flashbots', // 'flashbots' | 'mev-blocker'
SKILL.md
npx skills add https://github.com/alsk1992/cloddsbot --skill mev

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs14
repo stars610
Last updatedJune 26, 2026
Repositoryalsk1992/cloddsbot

What it does

Route on-chain swaps through MEV-protection relays and simulate MEV risk before trading.

Who is it for?

Shielding large or low-liquidity on-chain trades from MEV extraction

When should I use this skill?

You are about to submit an on-chain trade and want MEV protection

What you get

Trades route through private relays with a chosen protection level and measurable savings.

By the numbers

  • 4 MEV attack types tabled (sandwich, front-running, back-running, JIT liquidity)
  • 3 protection levels (aggressive, standard, minimal)

Files

SKILL.mdMarkdownGitHub ↗

MEV Protection - Complete API Reference

Protect trades from MEV (Maximal Extractable Value) attacks including sandwich attacks and front-running.

---

Chat Commands

Protection Settings

/mev                                Show current protection
/mev status                         Protection status
/mev enable                         Enable protection
/mev disable                        Disable protection

Configure Protection

/mev level aggressive               Maximum protection
/mev level standard                 Balanced protection
/mev level minimal                  Basic protection
/mev provider flashbots             Use Flashbots
/mev provider mev-blocker           Use MEV Blocker

Check Transaction

/mev check <tx-hash>                Check if tx was attacked
/mev simulate <order>               Simulate MEV risk

---

TypeScript API Reference

Create MEV Protection

import { createMEVProtection } from 'clodds/mev';

const mev = createMEVProtection({
  // Default level
  level: 'standard',

  // Providers
  providers: {
    ethereum: 'flashbots',    // 'flashbots' | 'mev-blocker'
    solana: 'jito',           // 'jito' | 'standard'
  },

  // Settings
  maxPriorityFee: 5,  // gwei
  bundleTimeout: 60,  // seconds
});

Execute Protected Trade

// EVM trade with protection
const result = await mev.executeProtected({
  chain: 'ethereum',
  type: 'swap',
  tokenIn: 'USDC',
  tokenOut: 'ETH',
  amountIn: 10000,
  minAmountOut: calculateMinOut(10000, 0.5),  // 0.5% slippage
});

console.log(`Tx hash: ${result.txHash}`);
console.log(`Protected: ${result.protected}`);
console.log(`Bundle ID: ${result.bundleId}`);
console.log(`Savings: $${result.estimatedSavings}`);

Flashbots (Ethereum)

// Submit via Flashbots Protect
const result = await mev.flashbots({
  to: routerAddress,
  data: swapCalldata,
  value: 0,
  maxFeePerGas: parseGwei('50'),
  maxPriorityFeePerGas: parseGwei('2'),
});

console.log(`Submitted to Flashbots`);
console.log(`Bundle hash: ${result.bundleHash}`);

// Wait for inclusion
const status = await mev.waitForInclusion(result.bundleHash);
console.log(`Included in block: ${status.blockNumber}`);

MEV Blocker (Ethereum)

// Use MEV Blocker by CoW Protocol
const result = await mev.mevBlocker({
  to: routerAddress,
  data: swapCalldata,
  value: 0,
});

// MEV Blocker automatically:
// - Protects from sandwich attacks
// - Backruns profitable MEV to you
// - Returns any captured MEV
console.log(`MEV captured: $${result.mevCaptured}`);

Jito (Solana)

// Submit via Jito bundles
const result = await mev.jito({
  instructions: swapInstructions,
  tip: 10000,  // lamports tip to validators
});

console.log(`Bundle ID: ${result.bundleId}`);
console.log(`Status: ${result.status}`);

Check Transaction

// Check if a past transaction was attacked
const analysis = await mev.analyzeTransaction(txHash);

console.log(`Was attacked: ${analysis.wasAttacked}`);
if (analysis.wasAttacked) {
  console.log(`Attack type: ${analysis.attackType}`);
  console.log(`Attacker: ${analysis.attacker}`);
  console.log(`Loss: $${analysis.estimatedLoss}`);
  console.log(`Frontrun tx: ${analysis.frontrunTx}`);
  console.log(`Backrun tx: ${analysis.backrunTx}`);
}

Simulate MEV Risk

// Before trading, check MEV risk
const risk = await mev.simulateRisk({
  chain: 'ethereum',
  type: 'swap',
  tokenIn: 'USDC',
  tokenOut: 'PEPE',
  amountIn: 50000,
});

console.log(`MEV risk: ${risk.level}`);  // 'low' | 'medium' | 'high'
console.log(`Estimated max loss: $${risk.maxLoss}`);
console.log(`Recommendation: ${risk.recommendation}`);

if (risk.level === 'high') {
  console.log('⚠️ High MEV risk - use protection!');
}

Protection Levels

// Aggressive - maximum protection, slower
mev.setLevel('aggressive', {
  usePrivateMempool: true,
  bundleOnly: true,
  maxSlippage: 0.1,
  waitForProtection: true,
});

// Standard - balanced protection
mev.setLevel('standard', {
  usePrivateMempool: true,
  bundleOnly: false,
  maxSlippage: 0.5,
});

// Minimal - basic protection
mev.setLevel('minimal', {
  usePrivateMempool: false,
  bundleOnly: false,
  maxSlippage: 1.0,
});

---

MEV Attack Types

AttackDescriptionProtection
SandwichFront + backrun your tradePrivate mempool
Front-runningCopy your trade firstPrivate mempool
Back-runningProfit after your tradeJito/Flashbots
JIT LiquidityManipulate poolSlippage limits

---

Protection Providers

ChainProviderMethod
EthereumFlashbots ProtectPrivate relay
EthereumMEV BlockerCoW Protocol
SolanaJitoBundle submission
L2sNativeSequencer protection

---

When to Use Protection

Trade SizeTokenRecommendation
< $1,000MajorMinimal
$1,000 - $10,000MajorStandard
> $10,000MajorAggressive
Any sizeMeme/Low liquidityAggressive

---

Best Practices

1. Always protect large trades — MEV bots watch everything 2. Use tight slippage — Limits attack profitability 3. Check before trading — Simulate MEV risk 4. Review transactions — Learn from past attacks 5. L2s are safer — Sequencer provides natural protection

Related skills

FAQ

Which relays are supported?

Flashbots Protect and MEV Blocker on Ethereum, and Jito bundles on Solana.

Can it check a past transaction?

Yes, analyzeTransaction reports whether a tx was attacked, the attack type, and estimated loss.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.