SShortSingh.
Back to feed

Solana Sandwich Attacks Now Detectable Using Public Blockchain Data

0
·29 views

A new method allows Solana users to detect sandwich attacks — a form of MEV exploitation — directly from their own wallet history using publicly available on-chain data. Since January 23, 2026, Solana's address history API began including each transaction's position within its block, making it possible to precisely locate a swap at a specific slot and index. A sandwich attack follows a three-step pattern: a bot buys a token just before a victim's trade, the victim executes at a worse price, and the bot immediately sells to pocket the difference. Data from a live tracker recorded approximately 8,700 SOL extracted daily in mid-September 2026, affecting around 74,000 distinct victim wallets in a single 24-hour period at an average cost of roughly $12 per affected swap. Reliable detection requires analyzing balance changes across transactions rather than just shared accounts, and must account for cases where the attacker's sell leg lands in the following block rather than the same one.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Webhook Not Firing? A Cross-Platform Guide to Debugging Bot Webhooks

A debugging guide explains that 'my webhook is not firing' can stem from three separate failures: the platform never sending the request, the request being rejected by the receiving server, or the server accepting it without any downstream effect. It recommends first identifying which side is at fault, using a table that maps each symptom to its likely location and first check. The guide advises logging the raw incoming request before any framework middleware processes it, since this often exposes the problem immediately. A top-to-bottom checklist follows, starting with testing the URL from outside the network and interpreting common status codes such as 404, 405, 301/308, and 403. The steps are verified against the documentation of Meta, Telegram, Slack, Discord, and Stripe as of August 2026.

0
ProgrammingHacker News ·

Blog Post Advises Against Buying AR Glasses

A blog post titled "Don't buy AR glasses" was shared on Hacker News, drawing a small amount of attention with three points and no comments at the time of listing. The article is hosted on a personal blog at blog.yaros.ae and argues against purchasing augmented reality glasses. The provided text contains only the link and discussion metadata, so the specific reasons the author gives cannot be verified from this item. The post reflects ongoing skepticism about the consumer readiness of AR wearables.

0
ProgrammingDEV Community ·

Why MySQL Skips an Index: Three Common Causes and How to Tell Them Apart

A slow query can read every row in a table even when an index exists on the filtered column. The article examines three causes: wrapping a datetime column in DATE(), comparing a VARCHAR column with an unquoted number, and joining tables whose character sets differ. The first cause is visible in the query text, while the other two are hidden in column types and character sets. The author tested these cases on MySQL 8.4 and 8.0 using EXPLAIN, SHOW WARNINGS, and slow query log data. The three causes can be distinguished by the possible_keys column in EXPLAIN and by warning 1739 shown right after running EXPLAIN.

0
ProgrammingDEV Community ·

C# First Program: Namespaces, Keywords and Modern Top-Level Statements

A DEV Community lesson introduces the structure of a basic C# program, contrasting the classic layout with a namespace, class and Main method against modern top-level statements in C# 10 and later. It explains how namespaces prevent naming clashes, how the using directive, aliases and static imports work, and how implicit usings auto-import common namespaces. The article also covers reserved versus contextual keywords, along with standard naming conventions for types, locals, fields and async methods. Finally, it distinguishes value types from reference types and touches on string immutability and the use of StringBuilder.