diff --git a/Frameworks/Bindings.txt b/Frameworks/Bindings.txt
index 38f1055fcd434f0facef06268d75084a2f223620..e77b06d527dadbc6d73073897cc37beb65f704bd 100644
--- a/Frameworks/Bindings.txt
+++ b/Frameworks/Bindings.txt
@@ -1,4 +1,4 @@
-https://git.xx.network/elixxir/client/-/commit/d6f371bde264c048c9e2ceab5cbad0b973eefe81
+https://git.xx.network/elixxir/client/-/commit/2deedc730bbe8ff3a0888c666cdb096bdda56663
 go version go1.17.13 darwin/arm64
 Xcode 14.0 Build version 14A309
 gomobile bind target: ios,iossimulator,macos
diff --git a/Frameworks/Bindings.xcframework/Info.plist b/Frameworks/Bindings.xcframework/Info.plist
index 1e6b67e7e5ab26303902b1288f432c61b61a6f28..43fe32dad94767ae305b61db56f5604f8612617e 100644
--- a/Frameworks/Bindings.xcframework/Info.plist
+++ b/Frameworks/Bindings.xcframework/Info.plist
@@ -6,15 +6,16 @@
 	<array>
 		<dict>
 			<key>LibraryIdentifier</key>
-			<string>ios-arm64</string>
+			<string>macos-arm64_x86_64</string>
 			<key>LibraryPath</key>
 			<string>Bindings.framework</string>
 			<key>SupportedArchitectures</key>
 			<array>
 				<string>arm64</string>
+				<string>x86_64</string>
 			</array>
 			<key>SupportedPlatform</key>
-			<string>ios</string>
+			<string>macos</string>
 		</dict>
 		<dict>
 			<key>LibraryIdentifier</key>
@@ -33,16 +34,15 @@
 		</dict>
 		<dict>
 			<key>LibraryIdentifier</key>
-			<string>macos-arm64_x86_64</string>
+			<string>ios-arm64</string>
 			<key>LibraryPath</key>
 			<string>Bindings.framework</string>
 			<key>SupportedArchitectures</key>
 			<array>
 				<string>arm64</string>
-				<string>x86_64</string>
 			</array>
 			<key>SupportedPlatform</key>
-			<string>macos</string>
+			<string>ios</string>
 		</dict>
 	</array>
 	<key>CFBundlePackageType</key>
diff --git a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Bindings b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Bindings
index 1d7e6e806517a62b5137bcd181a4885e089f66c7..028698e78d12ebe96e4ffd2d7e8e5ed848493dc9 100644
Binary files a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Bindings and b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Bindings differ
diff --git a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Headers/Bindings.objc.h
index 389f151c7e4a79dad00bdf7799c1c6cb88fcafec..8a469e985c895f732191ca1be50728da7528d8e3 100644
--- a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Headers/Bindings.objc.h
+++ b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Headers/Bindings.objc.h
@@ -1239,11 +1239,6 @@ Example JSON [group.Membership] return:
  * GetName returns the name set by the user for the group.
  */
 - (NSData* _Nullable)getName;
-/**
- * GetTrackedID returns the tracked ID of the Group object. This is used by the
-backend tracker.
- */
-- (long)getTrackedID;
 /**
  * Serialize serializes the Group.
  */
@@ -1291,10 +1286,10 @@ If an error is returned, handle it properly first; you may then retry later
 with the same trackedGroupId.
 
 Parameters:
- - trackedGroupId - the ID to retrieve the Group object within the backend's
-   tracking system. This is received by GroupRequest.Callback.
+ - serializedGroupData - the result of calling Group.Serialize() on
+   any Group object returned over the bindings
  */
-- (BOOL)joinGroup:(long)trackedGroupId error:(NSError* _Nullable* _Nullable)error;
+- (BOOL)joinGroup:(NSData* _Nullable)serializedGroupData error:(NSError* _Nullable* _Nullable)error;
 /**
  * LeaveGroup deletes a group so a user no longer has access.
 
@@ -1865,6 +1860,12 @@ Returns
  */
 FOUNDATION_EXPORT NSString* _Nonnull BindingsCreateUserFriendlyErrorMessage(NSString* _Nullable errStr);
 
+/**
+ * DeserializeGroup converts the results of Group.Serialize() into a Group
+so that its methods can be called.
+ */
+FOUNDATION_EXPORT BindingsGroup* _Nullable BindingsDeserializeGroup(NSData* _Nullable serializedGroupData, NSError* _Nullable* _Nullable error);
+
 /**
  * DownloadAndVerifySignedNdfWithUrl retrieves the NDF from a specified URL.
 The NDF is processed into a protobuf containing a signature that is verified
@@ -2564,7 +2565,7 @@ The decryptedMessage field will be a JSON marshalled GroupChatMessage.
  * GroupRequest is a bindings-layer interface that handles a group reception.
 
 Parameters:
- - trackedGroupId - a bindings layer Group object.
+ - g - a bindings layer Group object.
  */
 @interface BindingsGroupRequest : NSObject <goSeqRefInterface, BindingsGroupRequest> {
 }
diff --git a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Bindings b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Bindings
index 557c80c4a0e93a5be2e13626c0ea8d4d8c970b94..42059901ccb6235d86e772871181ef017f1f7121 100644
Binary files a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Bindings and b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Bindings differ
diff --git a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Headers/Bindings.objc.h
index 389f151c7e4a79dad00bdf7799c1c6cb88fcafec..8a469e985c895f732191ca1be50728da7528d8e3 100644
--- a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Headers/Bindings.objc.h
+++ b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Headers/Bindings.objc.h
@@ -1239,11 +1239,6 @@ Example JSON [group.Membership] return:
  * GetName returns the name set by the user for the group.
  */
 - (NSData* _Nullable)getName;
-/**
- * GetTrackedID returns the tracked ID of the Group object. This is used by the
-backend tracker.
- */
-- (long)getTrackedID;
 /**
  * Serialize serializes the Group.
  */
@@ -1291,10 +1286,10 @@ If an error is returned, handle it properly first; you may then retry later
 with the same trackedGroupId.
 
 Parameters:
- - trackedGroupId - the ID to retrieve the Group object within the backend's
-   tracking system. This is received by GroupRequest.Callback.
+ - serializedGroupData - the result of calling Group.Serialize() on
+   any Group object returned over the bindings
  */
-- (BOOL)joinGroup:(long)trackedGroupId error:(NSError* _Nullable* _Nullable)error;
+- (BOOL)joinGroup:(NSData* _Nullable)serializedGroupData error:(NSError* _Nullable* _Nullable)error;
 /**
  * LeaveGroup deletes a group so a user no longer has access.
 
@@ -1865,6 +1860,12 @@ Returns
  */
 FOUNDATION_EXPORT NSString* _Nonnull BindingsCreateUserFriendlyErrorMessage(NSString* _Nullable errStr);
 
+/**
+ * DeserializeGroup converts the results of Group.Serialize() into a Group
+so that its methods can be called.
+ */
+FOUNDATION_EXPORT BindingsGroup* _Nullable BindingsDeserializeGroup(NSData* _Nullable serializedGroupData, NSError* _Nullable* _Nullable error);
+
 /**
  * DownloadAndVerifySignedNdfWithUrl retrieves the NDF from a specified URL.
 The NDF is processed into a protobuf containing a signature that is verified
@@ -2564,7 +2565,7 @@ The decryptedMessage field will be a JSON marshalled GroupChatMessage.
  * GroupRequest is a bindings-layer interface that handles a group reception.
 
 Parameters:
- - trackedGroupId - a bindings layer Group object.
+ - g - a bindings layer Group object.
  */
 @interface BindingsGroupRequest : NSObject <goSeqRefInterface, BindingsGroupRequest> {
 }
diff --git a/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Bindings b/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Bindings
index ff9e3a6be9272589f98bab355e0ed41892d04784..e4308e494b7c1c9233d1e4b05c6c458b2c055b14 100644
Binary files a/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Bindings and b/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Bindings differ
diff --git a/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Headers/Bindings.objc.h
index 389f151c7e4a79dad00bdf7799c1c6cb88fcafec..8a469e985c895f732191ca1be50728da7528d8e3 100644
--- a/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Headers/Bindings.objc.h
+++ b/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Headers/Bindings.objc.h
@@ -1239,11 +1239,6 @@ Example JSON [group.Membership] return:
  * GetName returns the name set by the user for the group.
  */
 - (NSData* _Nullable)getName;
-/**
- * GetTrackedID returns the tracked ID of the Group object. This is used by the
-backend tracker.
- */
-- (long)getTrackedID;
 /**
  * Serialize serializes the Group.
  */
@@ -1291,10 +1286,10 @@ If an error is returned, handle it properly first; you may then retry later
 with the same trackedGroupId.
 
 Parameters:
- - trackedGroupId - the ID to retrieve the Group object within the backend's
-   tracking system. This is received by GroupRequest.Callback.
+ - serializedGroupData - the result of calling Group.Serialize() on
+   any Group object returned over the bindings
  */
-- (BOOL)joinGroup:(long)trackedGroupId error:(NSError* _Nullable* _Nullable)error;
+- (BOOL)joinGroup:(NSData* _Nullable)serializedGroupData error:(NSError* _Nullable* _Nullable)error;
 /**
  * LeaveGroup deletes a group so a user no longer has access.
 
@@ -1865,6 +1860,12 @@ Returns
  */
 FOUNDATION_EXPORT NSString* _Nonnull BindingsCreateUserFriendlyErrorMessage(NSString* _Nullable errStr);
 
+/**
+ * DeserializeGroup converts the results of Group.Serialize() into a Group
+so that its methods can be called.
+ */
+FOUNDATION_EXPORT BindingsGroup* _Nullable BindingsDeserializeGroup(NSData* _Nullable serializedGroupData, NSError* _Nullable* _Nullable error);
+
 /**
  * DownloadAndVerifySignedNdfWithUrl retrieves the NDF from a specified URL.
 The NDF is processed into a protobuf containing a signature that is verified
@@ -2564,7 +2565,7 @@ The decryptedMessage field will be a JSON marshalled GroupChatMessage.
  * GroupRequest is a bindings-layer interface that handles a group reception.
 
 Parameters:
- - trackedGroupId - a bindings layer Group object.
+ - g - a bindings layer Group object.
  */
 @interface BindingsGroupRequest : NSObject <goSeqRefInterface, BindingsGroupRequest> {
 }