diff --git a/rpc/handler.go b/rpc/handler.go
index 4fcbf2a3a4658406ee5b37c80b9eb7360b7555ea..52227f600d62b20dbbd48d9d93c52028948bed7e 100644
--- a/rpc/handler.go
+++ b/rpc/handler.go
@@ -133,6 +133,13 @@ func (h *handler) handleBatch(msgs []*jsonrpcMessage, stream *jsoniter.Stream) {
 				break
 			}
 		}
+		if !allMethodsAreThreadSafe && stream == nil {
+			_ = h.conn.writeJSON(context.Background(), jsonrpcMessage{Version: vsn, ID: null, Error: &jsonError{
+				Code:    -32601,
+				Message: "streamable methods are not supported on websockets. help us to implement",
+			}})
+			return
+		}
 
 		answers := make([]*jsonrpcMessage, 0, len(msgs))
 		if allMethodsAreThreadSafe {