ETH StablePair Hook 监听工具:peg / 费率 / LP
Uniswap 官方宣布 StablePair Hook 主网落地,覆盖 USDC/USDG · USDC/USDT——这篇盯 PoolManager Swap / ModifyLiquidity + hook logs:peg 漂移、动态费率、LP 进出进同一张告警面板。Base 股币 Swap 盯盘 盯的是白名单大单成交;本篇盯 ETH 主网 StablePair 稳定池层。
公共端点开跑 · blockreq.com 注册每月免费 3M 请求。
| 用途 | Endpoint |
|---|---|
| 公共 HTTPS | https://ethereum-rpc.blockreq.com/v1/rpc/public |
| 公共 WSS | wss://ethereum-rpc.blockreq.com/v1/rpc/public |
| 私有 | 末尾 public → {API_KEY}(Key 放本地) |
链:Ethereum Mainnet EVM chainId = 0x1(1)。公开端点 · eth_subscribe · 套餐 · 注册。
1. Hook:StablePair × peg / 费率 / LP
| 盘面语感 | 链上信号 | 你盯什么 |
|---|---|---|
| 稳定池成交 | PoolManager Swap · poolId ∈ 表 | sqrtPrice · fee · amount0/1 |
| peg 漂移 | 成交后 tick / sqrtPriceX96 | 相对参考价 1:1 偏差 |
| 动态费率 | Swap 事件 fee 字段 / hook getFee | feeE6 方向差 |
| LP 进出 | ModifyLiquidity · liquidityDelta | 加仓 / 撤出幅度 |
同族对照:Base 股币篇收敛到 Swap 大单;ETH 本篇收敛到 StablePair peg + 费率 + LP 卡。
2. 事件:PoolManager Swap / ModifyLiquidity + hook
本地 JSON 维护:
| env | 默认(可编辑) |
|---|---|
POOL_MANAGER | 0x000000000004444c5dc75cB358380D2e3dE08A90 |
STABLEPAIR_HOOK | 0x0000113dCf4ADd69999Fad8F20F2b63F979bfcC0 |
POOL_ID_LIST | USDC/USDT · USDC/USDG poolId(官方部署表) |
PEG_BPS / LP_DELTA_MIN | 漂移与撤出阈值 |
同一条 Ethereum 公共 WSS:订 PoolManager Swap + ModifyLiquidity,按 topics[1] = poolId 过滤;可并行订 hook 地址 logs。
Step A · 订 PoolManager Swap
{
"jsonrpc": "2.0", "id": 1, "method": "eth_subscribe",
"params": ["logs", {
"address": "0x000000000004444c5dc75cB358380D2e3dE08A90",
"topics": [
"0x40e9cecb9f5f1f1c5b9c97dec2917b7ee92e57ba5563708daca94dd84ad7112f",
["POOL_ID_USDC_USDT", "POOL_ID_USDC_USDG"]
]
}]
}
topics[0]:V4Swap(bytes32,address,int128,int128,uint160,uint128,int24,uint24)。topics[1]:indexedPoolId;解码 amount0/1 · sqrtPriceX96 · liquidity · tick · fee → 算 peg 偏差与费率卡。
Step B · 订 ModifyLiquidity(可并行)
{
"jsonrpc": "2.0", "id": 2, "method": "eth_subscribe",
"params": ["logs", {
"address": "0x000000000004444c5dc75cB358380D2e3dE08A90",
"topics": [
"0xf208f4912782fd25c7f114ca3723a2d5dd6f3bcc3ac8db5af63baa85f711d5ec",
["POOL_ID_USDC_USDT", "POOL_ID_USDC_USDG"]
]
}]
}
topics[0]:V4ModifyLiquidity(bytes32,address,int24,int24,int256,bytes32)。liquidityDelta < 0且幅度 ≥LP_DELTA_MIN→ LP 撤出卡;正值 → 加仓卡。
Step C · 稳定池卡字段
{ chain: "ethereum", pad: "stablepair-hook", kind: "swap|peg|fee|lp", poolId, hook, sqrtPriceX96, tick, fee, pegBps, liquidityDelta, txHash, blockNumber, ts }
同 txHash + logIndex 去重;demo 拧 poolId 表与阈值。官方参考 poolId(部署页可核对):
- USDC/USDT ·
0x2b21c65d9a7dc6926ee330a1c6e5a8037fd81774f3dc066536f800128e39f634 - USDC/USDG ·
0xeda62d2906d0edf26d40c793d581609552a44a87f618a98ff76ebe8dde4b7edb
3. 浏览器 demo(StackBlitz)
默认连 Ethereum 公共 WSS;粘贴 PoolManager / StablePair hook / poolId 表 + peg·LP 阈值,点 Start 刷稳定池卡。代码在 StackBlitz 里看,文章只嵌预览:
仓库:blockreq/blog-demos → examples/ethereum-uniswap-v4-stablepair-hook-listen(Vite+React+viem;StackBlitz 开仓库 root)。
WSS → wss://ethereum-rpc.blockreq.com/v1/rpc/public
HTTPS→ https://ethereum-rpc.blockreq.com/v1/rpc/public
env → POOL_MANAGER · STABLEPAIR_HOOK · POOL_ID_LIST · PEG_BPS · LP_DELTA_MIN
换 keyed:WSS 末尾 public → {API_KEY}。开跑配额:blockreq.com 注册每月免费 3M 请求。
4. 告警节奏
- Swap 到达 → 解码 poolId · sqrtPrice · fee · amounts → pegBps / fee 卡。
- ModifyLiquidity 到达 → liquidityDelta 阈值 → LP 加仓 / 撤出卡。
- 出站 →
ETH StablePair · kind=… · pool=… · pegBps=… · fee=… · blk=…。 - 去重 → 同
txHash+logIndex只推一次。
断线后重连并重新 subscribe;空窗 HTTPS eth_getLogs 按块段回补同一 PoolManager。POST → https://ethereum-rpc.blockreq.com/v1/rpc/public。
5. 小结 + CTA
- 粒度:ETH StablePair 盯盘 = peg 漂移 + 动态费率 + LP 进出。
- 配方:PoolManager + Swap/ModifyLiquidity topic + poolId 表 + 阈值 → 稳定池卡。
- 可跑:浏览器挂 BlockReq Ethereum 公共 WSS;demos1 路径见上。
- 开跑:公开端点 + blockreq.com 注册每月免费 3M 请求。
下一步:固化 poolId / 阈值 JSON → Webhook → 与 Base 股币 Swap 大单卡同屏叠层。文档 · 定价 · 注册。