Commit Graph
4 Commits
Author SHA1 Message Date
jwinterm b016eee8bf cexswap: volume-weight WOW price, ignore dead pairs
The naive mean across all WOW pairs let stale prints on zero-volume
markets (WOW-ETH last traded at $0.000087) drag the cexswap component
~40% below its live markets, and the published WOW rate ~20% under fair.
Weight by volume7d_usd and drop pairs with no 7-day volume; if every
pair is dead the ticker falls back to the Nonlogs sample alone.
2026-08-15 20:07:31 -04:00
jwinterm 4f7c515808 Add Trocador webhook receiver, trade-status cache, and sparkline history
- POST /v1/trocador-webhook: Trocador hits this on every trade status change;
  stored in KV under trade:<id> for 14 days (matching Trocador's retention).
- GET /v1/trade/🆔 returns the cached trade body so the wallet can poll us
  instead of Trocador, dramatically reducing load on their infra per their
  commercial team's request.
- GET /v1/sparkline?coin=BTC&hours=24: returns hourly history points for
  rendering balance sparklines. Cron appends one entry per UTC hour per coin,
  capped at 168 points (1 week).
2026-05-14 15:57:17 -04:00
jwinterm 5f76d77bd1 Replace NonKYC with Nonlogs + cexswap.cc for WOW pricing
Per source repos in ~/src:
- ~/src/smirk-backend/src/infra/prices.rs uses Nonlogs api/markets,
  averaging (WOW-BTC * Kraken BTC/USD) and WOW-USDT routes.
- ~/src/neroswap-site/scrapers/scrape_cexswap.py hits
  cexswap.cc/api/public/markets/summary which already returns last_usd
  per pair.

WOW now sourced from BOTH and averaged — survives one source going down
without code changes.
2026-05-14 09:20:09 -04:00
jwinterm f4bf98f6fc Initial Hash Wallet price aggregator (Cloudflare Worker)
Single endpoint serving USD spot prices for Hash Wallet, sourcing from
Kraken (majors) and NonKYC (Wownero), KV-cached and refreshed via cron
every minute. Drop-in /v2/rates shape compatible with the existing wallet
client; preferred /v1/prices returns everything in one call.
2026-05-14 08:58:58 -04:00