Last 24hassertions verified316discrepancies0feed lead p50+836mschain head21,965,794rollup0x23A19d…2D94
Layer two · speed

Launch radar

Every transaction crossing the sequencer feed is inspected for the calldata of a pool creation, a liquidity add or a large router swap — before it has executed anywhere. The same events are picked up again from our own node’s logs once the block runs. Both are shown, and they are never merged.

The speed layer
source · feedintent, pre-execution

Somebody is calling createPair.

A signed transaction lifted out of the feed and decoded before it has run. This is the fast path and it is the one a sniper trades on, because by the time the log exists the opportunity has usually gone.

It is a claim about the future. The call may revert, may be for a pair that already exists, or may never be sequenced at all. There is no pool address yet, because no pool has been deployed yet. Every row from this source is marked unconfirmed until a log says otherwise.

source · chainconfirmed, post-execution

The pool exists and here is its address.

A log read from our own node after the block executed. Authoritative, and later — later by however long execution and log delivery take, which is why it is useless as a racing signal and essential as a record.

Confirmation upgrades the earlier signal rather than replacing it: same transaction hash, now with the deployed pool address and the fee tier read off the log.

Signals persisted in the last 24 hours
v2 pair6Uniswap v2 pair creations
liquidity add2liquidity adds
router swap1,338large router swaps
v4 pool5Uniswap v4 pool initializations
all kinds1,351sum of the persisted stream
Most recent signals
newest first · sequence number equals the L2 block number
KindSourceStateTokensPoolFeeTransactionSequenceObserved
router swapfeedintent onlynone in calldatano pool in this signaln/a0xef2045d3…5cc321,965,9984s ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x9e7dfadc…57fb21,965,92811s ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xb8b215ba…6d9f21,965,83121s ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xdd90cad0…714721,965,82921s ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x6439421b…849821,965,80923s ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x0f02c61a…271b21,965,79625s ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x7e386df2…adc721,965,75329s ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x6507982f…5dfd21,965,59845s ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x9516d44a…21b021,965,55549s ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x75bcbc91…8eec21,965,4491m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xeed278d4…b8b921,965,3491m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xcd39f16a…929c21,965,2601m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x1d742e8c…553021,965,2501m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xd7a7908f…be7b21,965,2201m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x7e803d0b…43cb21,965,1951m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xbcb54bf1…c2e021,964,8821m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x3bee8ab6…63f221,964,8601m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xf8921e07…ba2621,964,8382m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x173d6d48…3cd821,964,8252m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xe5701e77…80be21,964,8162m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xa9a10389…056421,964,7982m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x236c2895…a21221,964,7652m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x2f0175bc…673921,964,7642m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xd4ddaa36…667d21,964,7612m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xdb0f8293…563c21,964,7492m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xb0314e2b…e3ef21,964,6912m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x5b577edf…941d21,964,6842m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x56227964…d33121,964,6732m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x1cd1cf01…d1ba21,964,5712m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x89f44f3f…b98b21,964,5512m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x9bf6a72a…09f221,964,4392m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xcd7c73a4…634621,964,3412m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xe887e671…e4fa21,964,2053m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x27e6e045…721121,964,2033m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x10da74e3…7a4621,964,1983m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x313dcff6…745421,964,1713m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xac196c03…0b3621,964,1313m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xba71b17b…29ae21,963,9993m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x12b29447…5f4f21,963,9643m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xa87675a4…08e321,963,8233m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xa04a9d37…0d0721,963,6673m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x8c2e6497…ce5e21,963,6614m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xf4e77e0b…2d9c21,963,6224m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xf4f758cd…2f2121,963,5584m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x02330a6e…c52d21,963,5034m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xa8a47c0d…863921,963,2694m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x22572f62…b88621,963,2634m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x555fa32f…870221,963,1184m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xac9c14c3…ae2121,963,1084m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x48a40e31…4fa821,963,0874m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xe76f4ace…ca9521,963,0575m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x8328c149…e40b21,963,0555m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x5a79f5df…1e2721,962,8875m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x22916dc8…1a9521,962,8845m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xcb13f127…769321,962,8655m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x916901d2…cb2a21,962,8585m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x6f70bdb7…9f1b21,962,8445m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xf7d97fd0…83b921,962,8435m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0x64c9d95a…5cbb21,962,8215m ago
router swapfeedintent onlynone in calldatano pool in this signaln/a0xc37dfaf3…960121,962,7995m ago

The label field returned by the API carries the detector’s own human-readable summary for each row — the hook address on a v4 initialize, the gas limit on a router swap, the init-code size on a deployment. It is served at /v1/radar alongside everything shown here.

Detection

What the detector matches on

Selectors are matched against the first four bytes of calldata and, except where noted, against the destination address as well.
SelectorFunctionDestinationAddressEmits
0xc9c65396createPair(address,address)UniswapV2Factory0x8bcEaA40…17937fv2 pair
0xa1671295createPool(address,address,uint24)UniswapV3Factory0x1f7d7550…FD2EfAv3 pool
0x6276cbbeinitialize((address,address,uint24,int24,address),uint160)v4 PoolManager0x8366a39C…e40951v4 pool
0xe8e33700addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)any router — not address-gatedanyliquidity add
0x3593564cexecute(bytes,bytes[],uint256)UniversalRouter0x88767899…8C0904router swap

An older v4 shape carrying hook data, selector 0x695c5bf5, is matched as well. Router swaps are only emitted above a gas limit of 400,000, which cuts the firehose down to flow worth looking at. A transaction with no destination is a contract creation and is detected as one.

Confirming event topics
topic0EventFills in
0x0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e9PairCreated(address,address,address,uint256)pair address, both tokens
0x783cca1c0412dd0d695e784568c96da2e9c22ff989357a2e8b1d9b2b4e6b7118PoolCreated(address,address,uint24,int24,address)pool address, both tokens, fee tier
0xdd466e674ea557f56295e2d0218a125ea4b4f0f6f3307b95f85e6110838d6438Initialize(bytes32,address,address,uint24,int24,address,uint160,int24)pool id, both currencies, fee
Radar access requires the Pro tier

The live signal stream over WebSocket is gated at Pro and above — the detector subscribes to the feed at the top tier internally, because a radar running on a delayed feed would be pointless, and per-customer delay is applied at delivery instead.

250,000 $VERD staked in the AccessVault, or $400 a month without touching the token. Tier table →

Contract deployments are not persisted by default

On a launchpad chain a contract creation is the earliest possible signal that a new token exists — earlier than any pool — and it is also by far the noisiest. Writing every deployment to the database would bury the pool creations, so the persisted stream drops them unless the node is configured otherwise.

Live subscribers can opt in and receive them on the socket. The table above shows what was persisted, so it may contain none.

Seeing a launch earlier does not let you be sequenced ahead of anyone who submits before you. The sequencer is strictly first-come, first-served and no tier changes that. What we cannot do →