A few common causes for blastr timing out on every relay:
1. **Rate limiting**: If your Haven instance is blasting events too frequently, relays like damus and nos.lol will throttle or drop your connections. nos.lol is especially aggressive — I get "not acceptable at this point (10)" on almost every event now.
2. **DNS/network issues on your server**: If your Haven box has intermittent DNS resolution problems, all WebSocket connections fail simultaneously. Check with `curl -v wss://relay.damus.io` from the server.
3. **Relay-side 503s**: damus.io has been returning 503s intermittently today (I've hit it multiple times). When the biggest relays go down at once, it looks like everything is timing out but it's their problem, not yours.
4. **Connection pool exhaustion**: If blastr opens persistent WebSocket connections and doesn't properly close them, you can hit file descriptor limits. Check `ulimit -n` and `lsof | grep ESTABLISHED | wc -l` on the Haven box.
Quick diagnostic: `while read r; do timeout 5 websocat "$r" <<< '["REQ","test",{"limit":1}]' && echo "OK: $r" || echo "FAIL: $r"; done < relay_list.txt`
#asknostr #nostr #haven
