---
title: "How Route keeps swaps fast and reliable on Robinhood Chain"
description: "Route prices every swap across 2.4 million+ pools on Robinhood Chain. With Alchemy Node RPC behind its router, over 99% of quotes succeed."
---

# How Route keeps swaps fast and reliable on Robinhood Chain

<ImageBlock
  src="https://media.alchemy.com/Route.fun-x-Alchemy_blog.png"
  alt="Route and Alchemy"
  width={3840}
  height={2160}
  caption="Route × Alchemy"
  priority
/>

A swap router makes one promise. You never get less than the price it quoted you.

[Route](https://route.fun) powers swaps on Robinhood Chain, and it holds that promise at both ends of the trade. For every trade it checks every place onchain where that token is trading, splits the order across whichever pools add up to the best price, and settles the whole thing in one transaction through its own executor, the contract that performs the swap onchain. Before you sign, Route simulates the whole plan, so the number on the screen is real. After you sign, it re-plans against the block your transaction actually lands in, so a market that moved in your favor improves your fill instead of passing you by.

Both halves need the same thing underneath. Chain state that's fresh, exact, and there when it's asked for.

That's where Alchemy comes in. Route's own node handles the fastest reads, the small lookups inside a live quote. We cover the rest, backup reads, simulation checks, and historical scans to keep Route's data fresh and accessible.

## Route at a glance

- Swap router on Robinhood Chain, Base, BSC, Arbitrum, Optimism and Ethereum
- Indexes 2.4 million+ liquidity pools on Robinhood Chain alone
- Routes through Uniswap pools, including ones that run custom code mid-swap, plus launchpad bonding curves, oracle-priced AMMs and tokenized stocks
- Used by traders on [route.fun](https://route.fun), and by partner wallets, trading apps, vaults, market makers and launchpads

**Products used:** [Alchemy Node RPC](/rpc-api)

<StatsCardDeck
  variant="sage"
  items={[
    {
      title: "100K+",
      description: "Swaps routed",
    },
    {
      title: "5K+",
      description: "Unique wallets",
    },
    {
      title: "~$11M",
      description: "Volume in one week",
    },
  ]}
/>

## The challenge: a router can only use the pools it can read in time

When a quote is slow, the trader is looking at a stale number. On route.fun it refreshes as you type, and inside a partner's app it has to clear that partner's own timeout. When a quote is wrong, the swap reverts, and the trader loses the gas and starts over. When it fails outright, they see "no route" on a pair with plenty of liquidity, and to the partner it just looks like their product broke.

All three trace back to the same place. Pricing a trade across 2.4 million+ pools is a reading problem before it's a math problem. Every quote prices the candidate pools, then runs the whole plan through Route's executor at the gas price the trade will really pay, before the answer goes back to the app that asked for it. Underneath that, Route is finding new pools from event logs, re-checking the ones it already knows, and scanning history for fee accounting and analytics.

That puts three demands on an RPC provider.

- **Fast reads while a quote is being built.** A pool whose state doesn't come back in time drops out of the route, and the price gets worse.
- **State that's exactly right.** A simulation run against one specific block has to match what the chain will really do. When it doesn't, the swap can fail, or land under the minimum the trader agreed to.
- **Volume on historical data.** Finding pools and reconciling fees means scanning logs over tens of thousands of blocks.

Route had been splitting its reads between several providers, absorbing the differences with retries and duplicate requests. It worked, up to a point. Each provider still failed in its own way, and every workaround added time back into the quote.

Then Route's primary provider went down. Quotes on route.fun failed on and off for hours, and traders saw "no route" while the liquidity sat there. Route moved its public endpoints off that provider the same day.

## The solution: one provider behind everything

Route was already using Alchemy for internal jobs, history scans and simulation, so when those public endpoints needed somewhere to go, Alchemy covered them the same day and recovered the failed reads without changing a single quote. Same inputs, same block, same checks. One endpoint now sits behind the router, the API, the website, the developer portal and the yield service.

Three parts of Route's product sit directly on those reads.

### Routing across every pool

Route splits each order across whichever pools give the best price. A slow read used to drop a pool from the route, and the trader paid for it. Alchemy's backup lands inside 300 milliseconds, so the pool stays in.

### Quotes a trader can act on

Route simulates the plan before you sign, then re-plans at execution with JIT routing. Inconsistent state used to mean a revert or a missed minimum. Alchemy pins both to one block, so the quote is a floor the fill can beat.

### Finding the pools at all

Route indexes 2.4 million+ pools and keeps re-checking them. Provider quota limits used to break those scans partway. Alchemy returns up to 10,000 logs in a single request, enough for Route to sweep tens of thousands of blocks against one predictable number.

> "We were running across several providers, and every one had its own limits, failure modes and fallback logic to maintain. We consolidated onto Alchemy, one provider behind our router, our APIs and our routers on other chains, under one plan. It made our stack simpler and more predictable, and it let us launch Route on Base, BSC, Arbitrum, Optimism and Ethereum without adding infra vendors."
>
> — Micah, Founder, Route

## The results: over 99% of quotes succeed on Alchemy

Route logs every quote request. Across a recent 48 hours of partner and website traffic, over 99% of them succeeded. The ones that didn't were "no route" answers for tokens with too little liquidity to trade, or moments when Route itself was at capacity. None were RPC errors. Before the move, provider errors reached traders as "no route" and took retries and workarounds on Route's side to contain.

What changed is what happens when a read doesn't come back. Reads that used to fail, or arrive too late to be useful, now land.

## What's next: agents that trade on their own

Next is agentic execution. Route is building standing orders that run on SDQ, its live quote stream that re-prices every block, so a wallet or an AI agent can trade through Route without a person driving it, inside spending limits enforced onchain. It runs on the same reads JIT does.

## Build your router on Alchemy

A quote only holds if the reads behind it do. That's the part we cover.

[Explore Alchemy's developer docs](https://www.alchemy.com/docs) or [talk to our team](/contact-sales).
