private static void RequestAccount()
        {
            // Initialize a new instance
            var client = new RequestAccountWebSocketV1ClientV(Config.AccessKey, Config.SecretKey);

            // Add the auth receive handler
            client.OnAuthenticationReceived += Client_OnAuthReceived;
            void Client_OnAuthReceived(WebSocketV1AuthResponse response)
            {
                if (response.errCode == 0)
                {
                    // Request full data if authentication passed
                    client.Request();
                }
                else
                {
                    AppLogger.Error($"Authentication fail, errorCode={response.errCode}");
                }
            }

            // Add the data receive handler
            client.OnDataReceived += Client_OnDataReceived;
            void Client_OnDataReceived(RequestAccountResponse response)
            {
                if (response != null && response.data != null)
                {
                    AppLogger.Info($"WebSocket returned data, topic={response.topic}, count={response.data.Length}");
                    foreach (var a in response.data)
                    {
                        if (a.list != null)
                        {
                            AppLogger.Info($"count={a.list.Length}, accountId={a.id}, type={a.type}, state={a.state}");
                            foreach (var b in a.list)
                            {
                                AppLogger.Info($"currency={b.currency}, type={b.type}, balance={b.balance}");
                            }
                        }
                    }
                }
            }

            // Then connect to server and wait for the handler to handle the response
            client.Connect(false);

            Console.WriteLine("Press ENTER to quit...\n");
            Console.ReadLine();

            // Delete handler
            client.OnDataReceived -= Client_OnDataReceived;
        }
        private static void RequestAccount()
        {
            // Initialize a new instance
            var client = new RequestAccountWebSocketV1ClientV(Config.AccessKey, Config.SecretKey);

            // Add the auth receive handler
            client.OnAuthenticationReceived += Client_OnAuthReceived;
            void Client_OnAuthReceived(WebSocketV1AuthResponse response)
            {
                if (response.errCode == 0)
                {
                    // Request full data if authentication passed
                    client.Request();
                    Console.WriteLine("Request sent");
                }
            }

            // Add the data receive handler
            client.OnDataReceived += Client_OnDataReceived;
            void Client_OnDataReceived(RequestAccountResponse response)
            {
                if (response != null && response.data != null)
                {
                    foreach (var a in response.data)
                    {
                        Console.WriteLine($"account id: {a.id}, type: {a.type}, state: {a.state}");
                        if (a.list != null)
                        {
                            foreach (var b in a.list)
                            {
                                Console.WriteLine($"currency: {b.currency}, type: {b.type}, balance: {b.balance}");
                            }
                        }
                    }
                }
            }

            // Then connect to server and wait for the handler to handle the response
            client.Connect(false);

            Console.WriteLine("Press ENTER to quit...\n");
            Console.ReadLine();

            // Delete handler
            client.OnDataReceived -= Client_OnDataReceived;
        }