BlockReq
Back to all articles

Rpc Tutorials

One-tx launches on Base: OpenLaunch + Uniswap v4 eth_subscribe

Hang OpenLaunch / Uniswap v4 one-tx launches on BlockReq Base public WSS eth_subscribe—Initialize + full-supply-to-pool + permanent lock → open cards. Free 3M quota.

BlockReq EngineeringSeptember 9, 20265 min read

One-tx launches on Base: OpenLaunch + Uniswap v4 eth_subscribe

Zero-fee, one transaction wires token + v4 pool + liquidity in a single shot—that “one-tx launch” tape on Base is running hot. Paraphrased feel from kevincodex; side thread around AIonBase_. This post does one job: hang eth_subscribe on OpenLaunch / Uniswap v4 related logs (Initialize / PoolManager / lock), spot the full-supply-to-pool + permanent lock pattern, and emit an open card.

Same listen craft, different chain: Watch Robinhood opens · New-pairs agent · Stock-pairs launch. This one tracks Base one-tx launches.

UseEndpoint
Public HTTPShttps://base-rpc.blockreq.com/v1/rpc/public
Public WSSwss://base-rpc.blockreq.com/v1/rpc/public
PrivateTrailing public{API_KEY} (keys stay local)

Chain: EVM chainId = 0x2105 (8453). Live list lives on Public endpoints—swap the same-shaped host when docs update. Free 3M Requests / 30 days · eth_subscribe · Pricing.

1. Why zero-fee one-tx launch took off on Base

Tape feelOn-chain signalWatch
One-tx launchSame tx: mint token + Initialize pool + add liquidityMulti-event cluster under one txHash
Full supply to poolFixed supply lands almost entirely in the v4 positionSupply vs deposited size alignment
Permanent lockLP / position NFT moves into lock / FeeSplitterTransfer / lock-related logs
Tradable at openSwaps ready in the same window as InitializeOne open card packs the cluster

OpenLaunch-style = a readable full-supply-to-pool + permanent lock recipe. Keep addresses in env placeholders: OPENLAUNCH_FACTORY, POOL_MANAGER (Base PoolManager is commonly 0x498581ff718922c3f8e6a244956af099b2652b2b—confirm against your env / official deployment table).

2. Events to listen (Initialize / pool / lock)

One public WSS: subscribe PoolManager Initialize, plus factory / lock related logs; cluster by txHash, tag one-tx launch.

Step A · Subscribe Initialize (pool heartbeat)

{
  "jsonrpc": "2.0", "id": 1, "method": "eth_subscribe",
  "params": ["logs", {
    "address": "${POOL_MANAGER}",
    "topics": ["0xdd466e674ea557f56295e2d0218a125ea4b4f0f6f3307b95f85e6110838d6438"]
  }]
}
  • topics[0] = Uniswap v4 Initialize(bytes32,address,address,uint24,int24,address,uint160,int24).
  • Decode currency0 / currency1 / fee / hooks / sqrtPriceX96 → record poolId and CA candidates.

Step B · Subscribe factory / lock logs

{
  "jsonrpc": "2.0", "id": 2, "method": "eth_subscribe",
  "params": ["logs", {
    "address": "${OPENLAUNCH_FACTORY}",
    "topics": ["${LAUNCH_OR_LOCK_TOPIC0}"]
  }]
}
  • Keep OPENLAUNCH_FACTORY and LAUNCH_OR_LOCK_TOPIC0 in local env; pin to the live ABI (TokenLaunched / lock Transfer style).
  • Optional same-window subscribe on PoolManager ModifyLiquidity (topic0 example 0xf208f4912782fd25c7f114ca3723a2d5dd6f3bcc3ac8db5af63baa85f711d5ec) to read add-liquidity direction.

Step C · One-tx launch gate (demo)

ActionRule
Pool liveInitialize in the tx
Full supply to poolDeposited size ≈ fixed supply (tune threshold)
Permanent lockLP / position lands in lock contract
Emit open cardAll three in one cluster → one card

3. BlockReq WS filter template

Boot reads env → two subscribe calls; on reconnect, re-subscribe the same filters. Gap-fill: HTTPS eth_getLogs by block range, replay the same cluster rules.

WSS  → wss://base-rpc.blockreq.com/v1/rpc/public
HTTPS→ https://base-rpc.blockreq.com/v1/rpc/public
env  → OPENLAUNCH_FACTORY · POOL_MANAGER · LAUNCH_OR_LOCK_TOPIC0

Narrow address + fixed topic0 keeps quota light. Free 3M covers short one-tx launch sessions; long boards swap trailing public for {API_KEY}.

4. Open card fields (CA / pair / lock)

  1. CA{ token, symbolHint, totalSupply, factoryTx }.
  2. pair / pool{ poolId, currency0, currency1, fee, hooks, sqrtPriceX96 }.
  3. lock status{ locked: true, lockTarget, positionOrLp, lockTx }.
  4. Open cluster → same txHash holds all three → push webhook / dashboard chip.

5. Preview: one-tx launch listen demo (StackBlitz)

Defaults to BlockReq public WSS; paste OPENLAUNCH_FACTORY / POOL_MANAGER, live-refresh Initialize + lock hits, emit open cards. Code lives in StackBlitz—article embeds the preview only:

Repo: blockreq/blog-demosexamples/openlaunch-base-eth-subscribe. For keyed: swap trailing public for {API_KEY}.

6. Summary

  1. Base one-tx launch = same-tx Initialize + full-supply-to-pool + permanent lock.
  2. Recipe: POOL_MANAGER Initialize + OPENLAUNCH_FACTORY lock logs + same-tx cluster → open card.
  3. Public WSS runs as-is; Free 3M covers short launch listens; long boards go keyed.
  4. Cross-chain listen craft: RH open rhythm · new pairs · stock pairs.

Next: pin Factory / topic0 as JSON → wire open cards to webhooks → persist backfill checkpoints. Public endpoints · Plans & pricing.