diff --git a/CryptoExchange.Net/Converters/TimestampStringConverter.cs b/CryptoExchange.Net/Converters/TimestampStringConverter.cs
new file mode 100644
index 0000000..9f97040
--- /dev/null
+++ b/CryptoExchange.Net/Converters/TimestampStringConverter.cs
@@ -0,0 +1,44 @@
+using System;
+using Newtonsoft.Json;
+
+namespace CryptoExchange.Net.Converters
+{
+ ///
+ /// converter for datetime string (yyyymmdd) to datetime
+ ///
+ public class TimestampStringConverter : JsonConverter
+ {
+ ///
+ public override bool CanConvert(Type objectType)
+ {
+ return objectType == typeof(DateTime);
+ }
+
+ ///
+ public override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer)
+ {
+ if (reader.Value == null)
+ return null;
+
+ var value = reader.Value.ToString();
+ if (value.Length == 8)
+ return new DateTime(int.Parse(value.Substring(0, 4)), int.Parse(value.Substring(4, 2)), int.Parse(value.Substring(6, 2)), 0, 0, 0, DateTimeKind.Utc);
+ else if(value.Length == 6)
+ return new DateTime(int.Parse(value.Substring(0, 2)), int.Parse(value.Substring(2, 2)), int.Parse(value.Substring(4, 2)), 0, 0, 0, DateTimeKind.Utc);
+
+ throw new Exception("Unknown datetime value: " + value);
+ }
+
+ ///
+ public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)
+ {
+ if (value == null)
+ writer.WriteValue((DateTime?)null);
+ else
+ {
+ var dateTimeValue = (DateTime)value;
+ writer.WriteValue(int.Parse($"{dateTimeValue.Year}{dateTimeValue.Month}{dateTimeValue.Day}"));
+ }
+ }
+ }
+}