RPC errors · eth_subscribe (WebSocket)
method is not available on free plan / Unsupported subscription: newHeads (eth_subscribe)
What it means
The WebSocket handshake succeeded and ordinary calls like eth_blockNumber work, but the node refuses subscriptions. Free tiers of some providers answer every eth_subscribe with code 35; others reject a specific subscription type. A health check that only reads a block number over WebSocket passes these sockets, which is why they end up in public endpoint lists.
A related failure has no error at all: the subscription is acknowledged and then no heads arrive. We found that on some upstreams too. Always wait for the first notification before treating a subscription as working.
The exact messages, and where we saw them
Returned by real upstream nodes when we triggered this error on 2026-09-24 through our endpoint on each chain we serve.
method is not available on free plan, please upgrade to paid planCode
35. Seen on 12 chains: Celo, Fuse, Immutable zkEVM, Kaia, Manta Pacific, Mode, Monad, Polygon zkEVM, Sei, Soneium, Telos EVM, Zora. (direct from the upstream WebSocket, observed 2026-09-24)the method eth_subscribe does not exist/is not availableSeen on 1 chain: Katana.
How to fix it
- Treat "connected" and "subscribed" as different states: subscribe, and require a notification within a few block times.
- If your provider gates subscriptions, poll over HTTP (
eth_blockNumber/eth_getLogsby range) or use an endpoint that supports them. Our chain pages show whether WebSocket subscriptions currently work on each chain, measured daily.