diff --git a/src/Speckle.Sdk/Models/Collections/RootCollection.cs b/src/Speckle.Sdk/Models/Collections/RootCollection.cs
new file mode 100644
index 00000000..6c9d05d8
--- /dev/null
+++ b/src/Speckle.Sdk/Models/Collections/RootCollection.cs
@@ -0,0 +1,27 @@
+namespace Speckle.Sdk.Models.Collections;
+
+///
+/// Root collection that represents the top-level commit object.
+/// Extends Collection to include model-wide properties that apply to the entire model.
+///
+[SpeckleType("Speckle.Core.Models.Collections.RootCollection")]
+public class RootCollection : Collection
+{
+ ///
+ /// Constructor for a root collection.
+ ///
+ /// The human-readable name of this root collection
+ public RootCollection(string name) : base(name) { }
+
+ ///
+ /// Model-wide properties that apply to the entire model.
+ ///
+ ///
+ /// These are intended for model-level metadata such as total area, project information, or analysis results.
+ ///
+ public Dictionary? properties
+ {
+ get => this["properties"] as Dictionary;
+ set => this["properties"] = value;
+ }
+}