daemonfill
UniswapX quoter · Base

Quotes from on-chain liquidity, filled without inventory.

daemonfill is a background process that answers UniswapX quote requests on Base with prices taken from AMM routes, and fills the orders it wins in a single atomic transaction. The swapper's own input pays for the route, so we hold no inventory, and every quote is backed by a full fill simulation at the real gas price.

Quote endpoint and filler contract live on Base
POST · RFQ requestBase 8453
tokenIn   USDC  0x8335…2913
tokenOut  WETH  0x4200…0006
amount    1,000.00 USDC
type      EXACT_INPUT
200 · response65 ms
amountOut 0.38046 WETH
filler    0x940c…2698

How a fill works

  1. Quote

    For each request we re-price the pair's best AMM routes on the latest block, subtract the fill's gas, and answer well inside the 500 ms budget, or decline with a 204.

  2. Verify

    Routes are never trusted on their quote alone. Fills are simulated through the real reactor at the real gas price; pools that price differently for real swaps are excluded.

  3. Fill

    Won orders are filled within the exclusivity window through the reactor callback. The transaction either delivers the quoted amount or reverts. Nothing is held between fills.

Backtest · Base · September 2026

~91orders a day where our quote would have beaten the winning one
+13 bpsmedian extra paid to swappers on those orders
100%of those orders filled in simulation at our quote
<100 mstypical response time of the live endpoint

Backtest over 306 recent Base orders won by existing quoters, at a 10 bps margin. Every figure comes from a full fill simulation through the UniswapX reactor at the real gas price, not from route quotes. These are simulated results, not live trading results.

Infrastructure

ChainBase (8453)
Filler contract0x940c263183bf53de0d9283a725ef17d83a512698
Order typesExact-input Dutch V3 orders; exact-output requests are declined
Fill methodAtomic executeWithCallback through AMM routes (Uniswap v2/v3/v4, Aerodrome, PancakeSwap and others)
Response budget500 ms per request; decline with 204

Contact

[email protected] For integration, onboarding and quote-quality questions.