Live monitor — HL BTC vs PulseX pBTC
Now
Side-by-side candles — 1m, live
Overlap — HL (green/red) + pBTC (white/black) on the same price axis
Basis (bps) — live, 1m
z-score — live, 1m (entry thresholds at ±3)
Paper PnL — since worker started
Open paper position
Recent paper trades (0 closed)
Pattern events (0)
How the pBTC price is derived (V1 vs V2)
PulseX has two factories (V1 and V2). The resolver enumerates every pBTC candidate token × stable/native quote across both factories, reads getReserves() for each, prices any WPLS-quoted pool through the V2 WPLS/DAI pool, and picks the deepest.
Pools the resolver found (click to open on PulseScan):
| dex | pair | pair address | liquidity | |
|---|---|---|---|---|
| V1 | WBTC / DAI | 0xff1efdf6…2ebc20 | $300k | ← CHOSEN (deepest) |
| V2 | WBTC / WPLS | 0x8c52470a…E71D07 | $62k | |
| V1 | WBTC / WPLS | 0xDB82b091…48B2D1 | $30k | |
| V2 | WBTC / DAI | 0x21cbf8e4…81153f | $208 | |
| V2 | WBTC / USDC | 0x069da5e2…228be4 | $8 | |
| V1 | WBTC / USDC | 0x6fa61478…d84bd3 | $0 |
Useful contracts:
- pBTC token (WBTC bridged): 0xb17d901469b9208b17d916112988a3fed19b5ca1
- PulseX V1 factory: 0x1715a3E4A142d8b698131108995174F37aEBA10D
- PulseX V2 factory: 0x29eA7545DEf87022BAdc76323F373EA1e707C523
- DAI on PulseChain: 0xefd766ccb38eaf1dfd701853bfce31359239f305
The current implementation uses a single pool (V1 / DAI) for the signal because the next-deepest is ~5× smaller and would add noise. Each tick reads the live (reserve0, reserve1) from that one pair via eth_call and computes:
pool_btc_usd = reserve_DAI / reserve_pBTC (DAI ≈ $1, so this is dollars)
A future iteration could blend V1 + V2 by liquidity weight to smooth out per-pool noise — open work item.
Research dataset
Tick worker writes one row to live_ticks every 5s. Page polls every 2s. Pattern detection lands in live_events.
GET /api/ticks?since=<unix_sec>&limit=10000 GET /api/ticks.csv?since=<unix_sec> # CSV download for offline research GET /api/events?since=<unix_sec>&limit=200 GET /api/paper_trades?since=<unix_sec> GET /api/paper_trades/summary # aggregate stats + equity curve GET /api/ticks/status