The Relay Operator Who Banned His Own Phone
A routine mobile check of nos.lol tripped automated rate limits; an audit of popular clients revealed a hundredfold spread in protocol economy.
When relay operator someone glanced at the ban log for nos.lol last week, an automated script had intervened with familiar severity. On the relay there is a per-IP cap, which allows 200 REQ messages every 10 seconds
, they reported. The offending IP address had dispatched 283 over-cap queries through a single websocket and reconnected 75 times within an hour under a shared mobile carrier address.
Only after investigating the flagged terminal did the operator discover the culprit: Last week I banned my own phone from my own relay (nos.lol).
A routine morning browse of global feeds through YakiHonne and Coracle had triggered the defensive lockout.
The incident prompted an immediate investigation into how Nostr clients manage subscription lifecycles and network requests. The resulting diagnosis showed stark disparities across the ecosystem: There is a 100x difference among client's handlings of REQs.
Database-first clients such as Damus, Amethyst, Gossip, and Nostur exhibited strict discipline, querying local stores and keeping live requests near zero during scrolling. In contrast, heavier web clients fired uncached requests per mounted card, replayed leaked pagination subscriptions on reconnects, or looped continuously when receiving CLOSED frames without backoff. The operator urged readers to favor disciplined clients to avoid triggering automated protective bans.