diff --git a/.gitignore b/.gitignore
index 06f3b16..73bcbba 100644
--- a/.gitignore
+++ b/.gitignore
@@ -103,3 +103,8 @@ seq-data/
.claude/
build.sh
buildx*.sh
+
+# .NET
+**/[Bb]in/
+**/[Oo]bj/
+**/*.nupkg
diff --git a/src/clients/dotnet/.gitignore b/src/clients/dotnet/.gitignore
new file mode 100644
index 0000000..eea2973
--- /dev/null
+++ b/src/clients/dotnet/.gitignore
@@ -0,0 +1,30 @@
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+
+# User-specific files
+*.rsuser
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+[Aa][Rr][Mm]/
+[Aa][Rr][Mm]64/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+
+# Visual Studio cache/options directory
+.vs/
+
+# NuGet Packages
+*.nupkg
+*.snupkg
diff --git a/src/clients/dotnet/Bitip.Client.Tests/Bitip.Client.Tests.csproj b/src/clients/dotnet/Bitip.Client.Tests/Bitip.Client.Tests.csproj
new file mode 100644
index 0000000..0e0aa05
--- /dev/null
+++ b/src/clients/dotnet/Bitip.Client.Tests/Bitip.Client.Tests.csproj
@@ -0,0 +1,8 @@
+
+
+
+ net9.0
+ enable
+
+
+
diff --git a/src/clients/dotnet/Bitip.Client.Tests/Class1.cs b/src/clients/dotnet/Bitip.Client.Tests/Class1.cs
new file mode 100644
index 0000000..5cedbf4
--- /dev/null
+++ b/src/clients/dotnet/Bitip.Client.Tests/Class1.cs
@@ -0,0 +1,7 @@
+namespace Bitip.Client.Tests
+{
+ public class Class1
+ {
+
+ }
+}
diff --git a/src/clients/dotnet/Bitip.Client.sln b/src/clients/dotnet/Bitip.Client.sln
new file mode 100644
index 0000000..44df877
--- /dev/null
+++ b/src/clients/dotnet/Bitip.Client.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.14.36429.23
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bitip.Client", "Bitip.Client\Bitip.Client.csproj", "{C4AC72BE-14C9-4D96-9A88-BC69DD5707FD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bitip.Client.Tests", "Bitip.Client.Tests\Bitip.Client.Tests.csproj", "{FA3B984B-4ADE-4B0A-BB6F-FD287A73B266}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C4AC72BE-14C9-4D96-9A88-BC69DD5707FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C4AC72BE-14C9-4D96-9A88-BC69DD5707FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C4AC72BE-14C9-4D96-9A88-BC69DD5707FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C4AC72BE-14C9-4D96-9A88-BC69DD5707FD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FA3B984B-4ADE-4B0A-BB6F-FD287A73B266}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FA3B984B-4ADE-4B0A-BB6F-FD287A73B266}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FA3B984B-4ADE-4B0A-BB6F-FD287A73B266}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FA3B984B-4ADE-4B0A-BB6F-FD287A73B266}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {C9E930B5-D456-4B6F-98C1-95A4D1FA49B5}
+ EndGlobalSection
+EndGlobal
diff --git a/src/clients/dotnet/Bitip.Client/Bitip.Client.csproj b/src/clients/dotnet/Bitip.Client/Bitip.Client.csproj
new file mode 100644
index 0000000..0e0aa05
--- /dev/null
+++ b/src/clients/dotnet/Bitip.Client/Bitip.Client.csproj
@@ -0,0 +1,8 @@
+
+
+
+ net9.0
+ enable
+
+
+
diff --git a/src/clients/dotnet/Bitip.Client/Class1.cs b/src/clients/dotnet/Bitip.Client/Class1.cs
new file mode 100644
index 0000000..4b9f758
--- /dev/null
+++ b/src/clients/dotnet/Bitip.Client/Class1.cs
@@ -0,0 +1,7 @@
+namespace Bitip.Client
+{
+ public class Class1
+ {
+
+ }
+}
diff --git a/src/clients/node/README.md b/src/clients/node/README.md
new file mode 100644
index 0000000..4be3560
--- /dev/null
+++ b/src/clients/node/README.md
@@ -0,0 +1 @@
+# In development