## arbitrage
### tl;dr
* since **liquidity on-chain is fragmented** (thousands of pools don't communicate with each other, each providing quotes for swapping assets in real-time), it creates an opportunity to buy low and sell high across different pools. for example, two DEXes offer a token at two different prices so that a token can be bought at the lower-priced DEX and sold on the higher-priced DEX in a single atomic transaction.
* due to the nature of the evm's atomic execution, **atomic arbitrages** are possible (as opposed to tradefi): smart contracts allow the packaging a sequential execution of txs, for a set of conditions. if the conditions are not met, the execution can fail, undoing all the on-chain interactions that just occurred.
##### [arbitrage types:](https://mirror.xyz/0xc19565163aFdEe3783FC970E4Bd0275B11848d34/a_v8f9yRqRFAvmOaEltTkPJSt1geSAwQdDps2Avb-DA)
* spatial (exchanges are located in different locations)
* triangular (profit from trading loops)
* statistical (rely on mathematical models for high-frequency arbs)
* cross-exchange
* sandwich
----
### in this dir
* [arbitrage patterns](patterns)
* [cool arb txs in the wild](mev_bots_wild)
----
### resources
* [anatomy of arber bots](https://github.com/go-outside-labs/mev-toolkit/blob/main/anatomy_of_mev_bots/bots/arbers.md)