Crypto Market Making Bots on Ethereum: How They Work and What's Legal

By Merunas Grincalaitis, founder of MEV DAO and a developer who builds MEV, sniping and trading bots on Ethereum. Last updated: October 2026.

TL;DR: A crypto market making bot keeps buy and sell quotes on both sides of a market and tries to earn the gap between them while holding as little risk as it can. On a centralized exchange that means placing and cancelling limit orders through an API. On Ethereum it usually means managing Uniswap v3 liquidity ranges or answering RFQ and intent orders as a filler. The spread looks like easy money until informed traders and arbitrage bots pick off your stale quotes. And a bot that trades with itself to fake volume isn't market making at all. It's wash trading, and regulators prosecute it.

People ask me about market making bots for two very different reasons. Some are traders who want to earn the spread. Others are token teams who were told they "need a market maker" and aren't sure what they'd be paying for. This guide is for both.

What is a crypto market making bot?

It's software that continuously posts a bid below the current price and an ask above it, so anyone who wants to trade has a counterparty. If both sides get filled, the bot earns the difference, called the spread. If only one side fills, the bot ends up holding inventory it didn't really want.

That second part is the actual job. Quoting is easy. Deciding how wide to quote, how much size to show, and how to lean your prices when you're already long or short is what separates a market maker from a bot that slowly bleeds money.

Where do market making bots run on Ethereum?

There are three main places, and each works differently. Here's how they compare:

Venue What the bot does How it earns Main risk
Centralized exchange order book Places and cancels limit orders via API Bid/ask spread, sometimes maker rebates Adverse selection, exchange counterparty risk
Uniswap v3 or v4 pool Adds liquidity in price ranges and moves them Swap fees from traders Loss versus rebalancing, ranges going out of range
RFQ and intent systems (UniswapX, CoW) Answers quote requests or fills signed orders The price it quotes vs its hedge Getting filled right before the market moves

Larger desks often do all three at once: they quote on exchanges, fill on-chain orders, and hedge one against the other.

How does a market making bot work on a centralized exchange?

It reads the order book, computes a fair price, places quotes around it and keeps replacing them as the market moves. The simplest version is what Hummingbot calls pure market making: a bid and an ask at a fixed spread around the mid price, refreshed on a timer.

The problem with a fixed spread is inventory. If the price trends down, your bid keeps getting hit and you keep buying. A smarter model shifts both quotes based on what you already hold. The best-known version comes from a 2008 paper by Avellaneda and Stoikov, and Hummingbot documents an Avellaneda market making strategy built on it. It calculates a "reservation price" that moves away from your inventory, so when you're too long you quote lower and sell more easily.

A typical exchange bot has these parts:

  1. A websocket feed for order book and trade data from one or more exchanges.
  2. A fair price model, from a simple mid to a weighted price across venues.
  3. A quoting engine that sets spread and size based on volatility and inventory.
  4. Risk limits: max position, max loss per day, a kill switch.
  5. An order manager that handles cancels, partial fills and rate limits.
  6. Logging good enough to explain every fill afterwards.

Most of the engineering time goes into steps 5 and 6, not the clever pricing.

How does market making work on Uniswap?

On an AMM you don't post quotes at all. You deposit tokens into a pool, the curve quotes for you, and a bot decides which price range your liquidity covers. Uniswap v3 introduced concentrated liquidity, which lets you put capital only between two prices. That earns more fees per dollar while the price stays in range, and earns nothing once it leaves.

So an on-chain "market making bot" is mostly a range manager. It watches the pool price, decides when to withdraw and re-center, and weighs the gas cost of moving against the fees it would miss by not moving. On Uniswap v4, hooks let a pool run custom logic around swaps, which opens up dynamic fees and other tricks. I looked at hooks from a sniper's angle in Uniswap v4 sniper hooks.

You're also not the only one adding liquidity. JIT bots add a large position right before a big swap and remove it right after, taking most of the fee from that single trade. If you provide liquidity on busy pools, it's worth understanding how JIT liquidity works.

Why do liquidity providers lose money to arbitrage bots?

Because the pool's price only updates when someone trades against it, so every time the real market moves, an arbitrageur trades against the stale price and the LP is on the losing side. Researchers Milionis, Moallemi, Roughgarden and Zhang formalized this as loss-versus-rebalancing, or LVR. It measures how much worse an LP does than a strategy that rebalances the same portfolio at market prices.

LVR grows with volatility. Fees are what pay you back, so a pool is only worth providing to if fees beat that loss over time. This is the same flow I describe from the other side in how MEV bots make money. The arbitrage bot's profit is, in large part, the LP's LVR.

On an exchange order book the same thing is called adverse selection. You get filled most often by the people who know more than you, at exactly the moments your quote is wrong.

What is RFQ and intent-based market making?

Instead of waiting in a pool, the market maker quotes a price for one specific trade and only commits if the user accepts. In UniswapX, users sign orders and permissionless fillers compete to fill them through a Dutch auction. On Ethereum mainnet the winner of an RFQ round gets a short exclusive window to fill before the order opens to everyone. CoW Protocol solvers play a similar role, competing to settle batches of user orders.

For a market maker this is attractive because you only trade when you've chosen to, at a price you set for that moment. The catch is speed and hedging. If you quote and the price moves before you hedge on an exchange, the spread is gone. This work is very close to MEV searching, and many of the same people do both.

Is a market making bot the same as a volume bot?

No. A market maker trades with other people and takes real risk, while a volume bot trades with itself to make a token look busier than it is. That second thing is wash trading.

The SEC made this very clear in October 2024 when it charged three firms that called themselves market makers, ZM Quant, CLS Global and Gotbit, alongside a set of token promoters (SEC press release 2024-166). According to the SEC, the firms used bots to generate fake trading volume for clients' tokens. The case came out of an FBI operation that created its own token, NexFundAI, to catch them. It's the clearest public example of what regulators mean by "market manipulation as a service."

I'm not a lawyer, and rules differ by country. My practical rule: if the bot's main output is volume rather than liquidity that strangers can actually trade against, don't build it. If you're unsure where a strategy falls, my piece on whether MEV bots are legal covers how I think about the line.

How do you start building a market making bot?

Start small, on one market, with hard risk limits, and measure everything before you scale. The order I'd follow:

  1. Pick one pair on one venue. Liquid enough to fill, quiet enough that you aren't up against the biggest desks.
  2. Record order book and trade data for a while before quoting, so you know the typical spread and volatility.
  3. Paper trade or backtest against that data, counting fees and realistic fills.
  4. Go live with tiny size and a kill switch that flattens your position.
  5. Review every losing day. Most losses come from a handful of fills right before big moves.
  6. Only then add inventory skew, more pairs or on-chain hedging.

If on-chain execution is part of the plan, the crypto Telegram bot development guide covers wallet handling, and how to hire an MEV bot developer has the red flags to watch for if you'd rather pay someone.

Frequently asked questions

Are crypto market making bots profitable?

They can be, but the spread is small and a few bad fills can wipe out many good ones. Profit depends on managing inventory and adverse selection far more than on the quoting logic itself.

Providing real liquidity by quoting both sides of a market is a normal, legal activity. Trading with yourself to create fake volume is wash trading, and the SEC charged firms for doing it with bots in October 2024.

What is the difference between market making and wash trading?

A market maker trades with other people and takes on risk when it gets filled. Wash trading means buying and selling with yourself or a coordinated partner so volume looks real when it isn't.

Can you run a market making bot on Uniswap?

Yes, but it works by managing liquidity ranges rather than placing orders. On Uniswap v3 or v4 the bot decides where your liquidity sits and when to move it, and earns swap fees while the price stays in range.

Is Hummingbot good for market making?

Hummingbot is an open-source framework with ready-made strategies like pure market making and Avellaneda market making, and it's a sensible way to learn. Serious desks usually end up running custom code tuned to their venues and risk rules.

What is loss versus rebalancing?

Loss versus rebalancing, or LVR, measures how much an AMM liquidity provider loses to arbitrageurs because the pool trades at stale prices. Fees need to beat LVR for providing liquidity to pay off.

At MEV DAO I build trading and execution systems on Ethereum, including the on-chain side of market making like range management and order filling. If you have a strategy in mind, see custom MEV bot development, or subscribe for new guides.

← More on MEV Bot Development All articles