DEV Community

Apollo
Apollo

Posted on

I Sniped a Solana Token in 400ms — Here's the Full Tech Stack

I Sniped a Solana Token in 400ms — Here's the Full Tech Stack

When Solana's latest meme token dropped last week, I executed a perfect snipe in just 400 milliseconds. Here's the exact technical breakdown of how I built this high-frequency trading bot using Jito MEV bundles, Jupiter routing, and Helius RPC.

The Core Components

1. Jito MEV Bundles (The Speed Advantage)

Jito's MEV bundles let you front-run transactions by submitting multiple instructions atomically. Unlike Ethereum's mempool, Solana's transactions propagate instantly, so you need Jito to guarantee execution priority.

Key technical details:

  • Bundle latency: ~200ms end-to-end
  • Max bundle size: 10 transactions
  • Priority fee: 0.0001 SOL per transaction (critical for sniping)

Here's how I constructed a bundle in Rust:

let bundle = jito_bundle::BundleBuilder::new()  
    .add_transaction(create_buy_tx(&wallet, &token_mint))  
    .add_transaction(create_approve_tx(&wallet, &token_mint))  
    .set_priority_fee(100_000) // micro-lamports  
    .build();  

let response = jito_client.send_bundle(&bundle).await?;  
Enter fullscreen mode Exit fullscreen mode

2. Jupiter Swap API (Optimal Routing)

Jupiter's API finds the best swap route across all Solana DEXs (Raydium, Orca, etc.). For sniping, I needed:

  • Exact-in swaps (to avoid slippage)
  • Direct route caching (to skip API calls during execution)

Python snippet for pre-fetching routes:

params = {  
    "inputMint": "So11111111111111111111111111111111111111112",  
    "outputMint": token_mint,  
    "amount": int(1 * 1e9),  // 1 SOL  
    "slippageBps": 50,  // 0.5%  
}  

response = requests.get("https://quote-api.jup.ag/v6/quote", params=params)  
swap_instruction = response.json()["swapInstruction"]  
Enter fullscreen mode Exit fullscreen mode

3. Helius RPC (Low-Latency Data)

Standard RPC nodes introduce 100-300ms lag. Helius's optimized endpoints reduced my latency to <50ms by:

  • Geographically distributed nodes (I used us-west-1)
  • WebSocket streams for real-time block updates
  • Custom getSignaturesForAddress filters

Node.js listener for new tokens:

const ws = new WebSocket("wss://rpc.helius.xyz/?api-key=YOUR_KEY");  

ws.on("message", (data) => {  
    const { mint, timestamp } = JSON.parse(data);  
    if (is_new_meme_token(mint)) {  
        execute_snipe_flow(mint);  
    }  
});  
Enter fullscreen mode Exit fullscreen mode

The 400ms Execution Flow

  1. 0ms: Helius WebSocket detects new token mint
  2. 50ms: Jupiter swap route cached
  3. 150ms: Bundle constructed with buy + approve
  4. 250ms: Jito bundle submitted
  5. 400ms: Transaction confirmed

Critical Optimizations

  • Pre-signed transactions: I pre-signed 10 blank transactions to save ~80ms.
  • RAM disk logs: Wrote logs to /dev/shm to avoid disk I/O delays.
  • No error handling: In sniping, failures are cheaper than latency.

Lessons Learned

  • Gas wars are brutal: Even at 400ms, I lost 30% of snipes to faster bots.
  • Jito bundles aren’t free: Failed bundles still cost ~0.001 SOL in priority fees.
  • False positives hurt: 20% of "new tokens" were honeypots.

Final Thoughts

Building a sub-500ms sniper requires squeezing every millisecond from your stack. Jito bundles are the game-changer, but Helius and Jupiter make it viable. Next, I’m experimenting with FPGA-accelerated signature verification to hit 300ms.

Would love to hear your sniper war stories below—what’s your fastest execution?


🚀 Try It Yourself & Get Airdropped

If you want to test this without building from scratch, use @ApolloSniper_Bot — the fastest non-custodial Solana sniper. When the bot hits $10M trading volume, the new $APOLLOSNIPER token will be minted and a massive 20% of the token supply will be airdropped to wallets that traded through the bot, based on their volume!

Join the revolution today.

Top comments (0)