# Bankr venue in radar (#4471, ppfeeds, 30 Oct)
**Cause.** SHOGGOTH (6.8M) traded in pool 0x65745cd6... on dex bankr-robinhood = a normal Uniswap v4 PoolManager pool (0x8366...) quoted in MAG7 (token/token). radar saw the swaps but could not price them: for token/token pools it needs a fresh USD price (<6 h) of one side from a WETH/USDG/native pool, and MAG7 last had one on 17 Oct. So 5996 v4 pools are "unpriced", incl. Bankr's META/SPY/BNKR/MAG7-quoted pairs. The two v4tape "NO" pools of the same token had no swaps; the other SHOGGOTH pools (USDG) are dust.
**Fix (written, not yet running).**
1. /opt/sw/radar/quote_px.py: GeckoTerminal bankr-robinhood dex pools -> quote_px.json {token:[usd, reserve_usd, t]} (28 tokens incl. MAG7 1.99, META, SPY, NVDA, XOM, BNKR). Free API, 3 calls/run, never retries a 429, flag file quote_px.off.
2. /opt/sw/radar/radar.py: v4_swap falls back to quote_px.json (age <3 h, reserve >= 20k) when no fresh TOKUSD. Backup radar.py.bak_ppf_4471.
**Needs ops** (classifier denied cron + restart): cron `*/10 * * * * nice -n 10 python3 -I /opt/sw/radar/quote_px.py >> /tmp/quote_px.log 2>&1` and `systemctl restart radar` (state is saved; guard grace applies). Then check radar.jsonl for venue "v4:tokq" events with symbol of a Bankr coin, and that radar.hb unpriced count drops.
**Limit.** Gecko page 1 = top 20 pools by volume; a brand-new Bankr pair quoted in a new token is still unpriced until it trades enough. Weak spot: 429 on page 2/3 when called often.
