Trading BotsAPIDEXMEV

Best APIs for Crypto Trading Bots in 2026

A trading bot needs market data, a way to send orders, and state. We timed Bitquery's live streams and called the other vendors' open endpoints on 5 October 2026 to see what each one covers.

Cover Image for Best APIs for Crypto Trading Bots in 2026

The short answer

A trading bot needs three feeds, and no vendor below covers all three for on-chain markets:

  1. Market data in: what is trading now, fast enough to act on.
  2. Orders out: signing transactions and getting them into a block.
  3. State: balances, positions, fills and profit and loss.

For an on-chain bot, that usually means Bitquery for market data, a sending service such as Helius, Jito or QuickNode for orders, and either one for state. A bot that trades on a centralized exchange can take all three from the exchange's own API.

What we tested on 5 October 2026

We timed Bitquery's WebSocket streams from one machine, with its clock checked against an NTP server to within 0.1 seconds, and called the other vendors' open endpoints.

TestResult
Bitquery WebSocket, Ethereum DEX trades, 8 minutesMedian 2.0 seconds after block time; 95% within 3.8 seconds
Bitquery WebSocket, BSC DEX trades, same 8 minutesMedian 0.9 seconds; 95% within 1.5 seconds
Bitquery WebSocket, Solana DEX trades, same 8 minutesMedian 0.5 seconds; 95% within 2.0 seconds
Ethereum transactions seen in Bitquery's mempool stream before the confirmed stream, 7 minutes4,095 of 8,954 (46%), a median 8.1 seconds early
Bitquery mempool query on Base and ArbitrumError: "unexpected request for network base with mempool true", and the same for Arbitrum
Jupiter quote, 1 SOL to USDC, with no keyAnswered, with a rate-limit header
Binance and Coinbase public price endpoints, with no keyBoth answered

Each delay is the time our machine received a message minus the time of the newest block in it. Block times carry whole seconds, so a figure can read up to one second high.

What the delays mean for a bot

On all three chains, half the messages reached us within two seconds of their block's time. Ethereum made one block every 12 seconds in our test, so a bot there waits on the chain far longer than on the feed. Solana sent 22,124 messages in the 8 minutes, about 46 per second, so a Solana bot has to keep up with the volume before speed matters. A few Solana readings came out below zero, so treat its figures as good to about a second.

In our test, 54% of Ethereum transactions never showed up as pending

We streamed Ethereum's pending and confirmed transactions side by side for 10 minutes. We judged only the last 7, so that nothing sent before we connected would count as missed. Of 8,954 confirmed transactions, 4,095 (46%) had shown up in the mempool stream first, a median 8.1 seconds before the confirmed stream delivered them. The other 4,859 never appeared as pending.

Wallets and bots can send a transaction privately to a block builder, and no public mempool feed sees those. Our test cannot say how many of the missing transactions went that way, or how many were public but missed by the stream. For a bot, the result cuts both ways: Bitquery's mempool stream saw fewer than half of the Ethereum transactions that landed, but it saw them about 8 seconds early.

What actually matters for a bot

  1. Delay under load, not at best. A vendor's headline figure is measured on its own network. Time it from your own machines, at a busy hour.
  2. Transport. Binary gRPC skips the cost of parsing JSON. Kafka keeps an offset, so a consumer that restarts picks up where it stopped. WebSocket is the easiest to set up.
  3. Reconnects. Feeds tend to break at the busiest moments. Check what the client does when it falls behind or drops.
  4. Replay. Without it, every crash leaves a gap in your data, which hurts a strategy that rebuilds positions from the feed.
  5. Backtest data that matches the live feed. If the history you test on has a different shape from the live stream, your results will not carry over.

The best APIs for crypto trading bots

1. Bitquery: decoded market data

Bitquery serves decoded DEX trades, prices, OHLCV candles, new tokens and liquidity events through GraphQL queries and WebSocket streams, plus CoreCast gRPC streams on Solana. Kafka streams with offset replay are on Enterprise. The self-service plans cover ten chains: Solana, Ethereum, Tron, Base, Arbitrum, Optimism, BSC, Polygon, Robinhood and Arc.

History uses the same schema as the live stream, so a backtest sees the same fields your bot reads in production. Self-service plans keep 30 days of trades and prices. Longer backtests need a per-chain archive add-on, Enterprise, or a Parquet export.

Pending transactions come from the mempool API, on Ethereum, BNB Chain, Polygon and Tron. Base, Arbitrum, Optimism and Solana have no mempool feed over GraphQL or WebSocket.

There is no free plan. A 7-day trial needs no card. Streams start on Pro at $99 per month ($69 billed yearly), with every stream, the mempool included. Scale costs $299 per month ($199 billed yearly) for more streams and volume. Personal, at $49 per month, has no streams. The pricing page has the details.

Best for: signals, DEX strategies, launch watching, mempool watching and backtests.

Limits: Bitquery cannot sign or send transactions, so pair it with a sending service.

CoreCast · Kafka Streams · Mempool API · Docs: Kafka streams · Docs: Trades API

2. Helius: Solana nodes, sending and streams

Helius runs Solana nodes plus the tools that decide whether a transaction lands. Its docs cover Sender, staked connections, a Priority Fee API, LaserStream gRPC and WebSocket streams, webhooks and the DAS API. Sender works on every plan, the free one included, and asks for a tip with each transaction.

The free plan gives 1 million credits per month at 10 requests per second and 1 sent transaction per second. Developer costs $49 per month for 10 million credits at 50 requests per second, and staked connections start there.

Best for: the sending half of a Solana bot.

Limits: Solana only, and no decoded trade feed across venues.

3. Jito: bundles on Solana

Jito's Block Engine takes bundles of up to 5 transactions that land together or not at all, which guards a trade against being sandwiched. Each bundle needs a tip of at least 1,000 lamports. Access without a key is capped at 1 request per second per IP in each region.

Best for: Solana trades that must land in a set order, or not land at all.

Limits: sending only, on Solana only.

4. QuickNode: nodes on many chains

QuickNode's chain list runs to more than 75 chains. The free trial lasts one month with 10 million credits and needs no card. Build costs $49 per month ($42 billed yearly) for 80 million credits at 50 requests per second (pricing). Its Solana gRPC stream is included from the Scale plan, at $499 per month. The Lil' JIT add-on, which sends Jito bundles, starts at $89 per month (add-ons).

Best for: bots on several chains that want one vendor for nodes and sending.

Limits: if you use it for market data, you decode the raw logs yourself.

5. Jupiter: Solana swap routing

Jupiter finds swap routes across Solana venues. Its Swap API V2, launched on 31 March 2026, merges the older Ultra and Metis APIs into one. Our quote call with no key answered. Jupiter's setup docs cap keyless use at 0.5 requests per second. A free key raises that to 1, and the paid tiers start at $25 per month for 10 (pricing). The older lite-api host is being phased out.

Best for: getting the best route at the moment you trade.

Limits: quotes and routes, not market history.

6. Exchange APIs: Binance and Coinbase

Centralized exchanges serve market data, orders and account state from one API. Our calls to the public price endpoints of Binance and Coinbase answered with no key. Binance's own limits, read from its exchangeInfo endpoint, allow a request weight of 6,000 per minute and 100 orders per 10 seconds. Coinbase Exchange allows 10 public requests per second per IP (rate limits). Reading data costs nothing, but each trade pays the exchange's fee.

Best for: bots that trade on centralized exchanges.

Limits: each exchange is a separate integration, and none covers on-chain markets.

Which API for which strategy

StrategyMarket dataOrdersDelay you need
Solana launch snipingBitquery CoreCast gRPC or WebSocketHelius Sender or Jito bundlesAs low as you can get
Cross-DEX arbitrageBitquery WebSocket, or Kafka on EnterpriseA node provider on each chainUnder a second
Watching the mempoolBitquery mempool stream on Ethereum, BNB Chain, Polygon or TronA node providerBefore the block
Copy tradingBitquery trades filtered to the wallets you followA node providerUnder a second
Portfolio rebalancingBitquery queries or WebSocketA node providerSeconds
CEX market makingExchange WebSocketExchange REST or FIXSet by the exchange

FAQ

What is the lowest-delay crypto data API for a bot?

In our 8-minute test from one machine, Bitquery's WebSocket stream delivered Solana trades a median 0.5 seconds after block time, BSC trades 0.9 seconds and Ethereum trades 2.0 seconds. On Solana, CoreCast gRPC sends the same data as binary Protobuf, which saves parsing time, but we did not time it. Whatever you choose, time it from your own machines at a busy hour, our numbers included.

Can a trading bot use Bitquery to send trades?

No. Bitquery serves data only, with no nodes and no transaction sending. Pair it with a sending service: Helius, Jito or QuickNode on Solana, or any node provider on EVM chains.

Why use Kafka instead of WebSocket for a bot?

Offset replay. When your consumer restarts, Kafka resumes from where it stopped, while a WebSocket reconnect leaves a gap that you have to fill with a separate history query. For a strategy that rebuilds its positions from the feed, that matters more than a few hundred milliseconds. Bitquery's Kafka streams are on Enterprise.

How do I backtest a DEX strategy?

Use history with the same schema as your live feed. Bitquery's self-service plans keep 30 days of trades. Longer backtests need an archive add-on, Enterprise, or a Parquet export into your own store, which also keeps the backtest off your API allowance.

Can I detect sandwich attacks against my own bot?

Partly. On Ethereum, BNB Chain, Polygon and Tron, Bitquery's mempool stream shows pending transactions, so you can spot another swap aimed at your pool before both land. But in our Ethereum test, only 46% of confirmed transactions showed up as pending first, and a transaction sent privately to a block builder, as a sandwich bundle can be, never shows up at all. To measure how often you were sandwiched, look after the fact: in the DEX trades data, compare the trades just before and just after yours in the same block.

Is there a free tier for bot development?

Bitquery has no free plan. Its 7-day trial includes live streams and needs no card, and streams then start on Pro at $99 per month. Helius has a free plan, Jupiter answers without a key at 0.5 requests per second, and Binance and Coinbase serve public market data with no key.

Related reading

Updated on 5 October 2026 by the Bitquery team: plans and prices were checked against our billing records, and each other vendor's claims against that vendor's own pages on the same day. We timed the streams and made the test calls ourselves. We added Jito, the measured delays and the mempool test, and removed the CoreCast and Kafka latency claims, venue and chain counts and the MEV detail we could not confirm. The line saying gRPC is Enterprise only was wrong; only Kafka is. AI tools helped redraft the text.

Subscribe to our newsletter

Subscribe and never miss any updates related to our APIs, new developments & latest news etc. Our newsletter is sent once a week on Monday.