diff --git a/CryptoExchange.Net/Clients/SocketApiClient.cs b/CryptoExchange.Net/Clients/SocketApiClient.cs
index b1a9833..1ea2aa5 100644
--- a/CryptoExchange.Net/Clients/SocketApiClient.cs
+++ b/CryptoExchange.Net/Clients/SocketApiClient.cs
@@ -82,6 +82,11 @@ namespace CryptoExchange.Net.Clients
///
protected bool AllowTopicsOnTheSameConnection { get; set; } = true;
+ ///
+ /// Whether to continue processing and forward unparsable messages to handlers
+ ///
+ protected internal bool ProcessUnparsableMessages { get; set; } = false;
+
///
public double IncomingKbps
{
diff --git a/CryptoExchange.Net/Sockets/SocketConnection.cs b/CryptoExchange.Net/Sockets/SocketConnection.cs
index 3e2d174..b970edd 100644
--- a/CryptoExchange.Net/Sockets/SocketConnection.cs
+++ b/CryptoExchange.Net/Sockets/SocketConnection.cs
@@ -11,8 +11,6 @@ using System.Diagnostics;
using CryptoExchange.Net.Clients;
using CryptoExchange.Net.Logging.Extensions;
using System.Threading;
-using CryptoExchange.Net.Objects.Options;
-using CryptoExchange.Net.Authentication;
namespace CryptoExchange.Net.Sockets
{
@@ -475,7 +473,7 @@ namespace CryptoExchange.Net.Sockets
_logger.ReceivedData(SocketId, originalData);
}
- if (!accessor.IsValid)
+ if (!accessor.IsValid && !ApiClient.ProcessUnparsableMessages)
{
_logger.FailedToParse(SocketId, result.Error!.Message);
return;