aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-06-14 23:26:14 -0700
committerAdam Soltys <[email protected]>2026-06-14 23:26:14 -0700
commitc40df841881dced8079f25a419d737064eaacabd (patch)
tree8702672d7af98b2837aff482e90d81c2059a9041 /README.md
parent59f1ab912a104b60df8fa31aecd972c04e564d23 (diff)
downloadcoinosv3-c40df841881dced8079f25a419d737064eaacabd.tar.gz
coinosv3-c40df841881dced8079f25a419d737064eaacabd.zip
Defeat scan 429s with multi-backend rotation + cooldown
The "CORS" errors were 429 Too Many Requests (a 429 has no CORS headers, so the browser reports it as a CORS failure). SSL/hosting is irrelevant. Per-request retries made it worse by multiplying load on an already rate-limited host. Replace with: - round-robin across two Esplora-compatible backends (mempool.space + Blockstream), halving per-host load - park a host on an 8s cooldown when it 429s instead of retrying it - keep the global throttle (2 concurrent, 200ms gap) - map Blockstream's /fee-estimates to the named fee tiers Unit-tested rotation/cooldown; live scan of 40 addresses now completes in ~8s with no failures. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'README.md')
-rw-r--r--README.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/README.md b/README.md
index 3821f32..96a35dd 100644
--- a/README.md
+++ b/README.md
@@ -60,7 +60,7 @@ browser** — no server, no internet.
| File | Purpose |
| --- | --- |
| `src/wallet.js` | BIP84 derivation, scanning, coin selection, signing, snapshots |
-| `src/api.js` | mempool.space REST wrapper (the single network choke-point) |
+| `src/api.js` | Esplora REST wrapper (mempool.space + Blockstream, with throttle/rotation/cooldown to dodge rate limits); the single network choke-point |
| `src/app.js` | UI controller (vanilla DOM) |
| `src/qr.js` | QR → SVG (zero-dep) |
| `src/format.js` | sat/BTC formatting helpers |