diff --git a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Bindings b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Bindings
index 131f1d78c3fcf2a02582bd922f5392f81d5691eb..9613b0e5c18dd2250df2dd0367f10764cec12927 100644
Binary files a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Bindings and b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Bindings differ
diff --git a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Headers/Bindings.objc.h
index fd68e56619ed543b72bbf05da1ba2474e119ef12..c5600d7bc966b7b9759d72cc659ae937c5482dc5 100644
--- a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Headers/Bindings.objc.h
+++ b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Headers/Bindings.objc.h
@@ -67,7 +67,7 @@ Accepts a marshalled Message object
 - (nonnull instancetype)init;
 // skipped field AuthenticatedConnection.Connection with unsupported type: gitlab.com/elixxir/client/bindings.Connection
 
-- (void)close;
+- (BOOL)close:(NSError* _Nullable* _Nullable)error;
 - (long)getId;
 - (NSData* _Nullable)getPartner;
 - (BOOL)isAuthenticated;
@@ -209,7 +209,7 @@ passed timeout. It will return true if the network is healthy
 /**
  * Close deletes this Connection's partner.Manager and releases resources
  */
-- (void)close;
+- (BOOL)close:(NSError* _Nullable* _Nullable)error;
 /**
  * GetId returns the Connection.id
  */
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 131f1d78c3fcf2a02582bd922f5392f81d5691eb..9613b0e5c18dd2250df2dd0367f10764cec12927 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 fd68e56619ed543b72bbf05da1ba2474e119ef12..c5600d7bc966b7b9759d72cc659ae937c5482dc5 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
@@ -67,7 +67,7 @@ Accepts a marshalled Message object
 - (nonnull instancetype)init;
 // skipped field AuthenticatedConnection.Connection with unsupported type: gitlab.com/elixxir/client/bindings.Connection
 
-- (void)close;
+- (BOOL)close:(NSError* _Nullable* _Nullable)error;
 - (long)getId;
 - (NSData* _Nullable)getPartner;
 - (BOOL)isAuthenticated;
@@ -209,7 +209,7 @@ passed timeout. It will return true if the network is healthy
 /**
  * Close deletes this Connection's partner.Manager and releases resources
  */
-- (void)close;
+- (BOOL)close:(NSError* _Nullable* _Nullable)error;
 /**
  * GetId returns the Connection.id
  */
diff --git a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/Current/Bindings b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/Current/Bindings
index 131f1d78c3fcf2a02582bd922f5392f81d5691eb..9613b0e5c18dd2250df2dd0367f10764cec12927 100644
Binary files a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/Current/Bindings and b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/Current/Bindings differ
diff --git a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/Current/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/Current/Headers/Bindings.objc.h
index fd68e56619ed543b72bbf05da1ba2474e119ef12..c5600d7bc966b7b9759d72cc659ae937c5482dc5 100644
--- a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/Current/Headers/Bindings.objc.h
+++ b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/Current/Headers/Bindings.objc.h
@@ -67,7 +67,7 @@ Accepts a marshalled Message object
 - (nonnull instancetype)init;
 // skipped field AuthenticatedConnection.Connection with unsupported type: gitlab.com/elixxir/client/bindings.Connection
 
-- (void)close;
+- (BOOL)close:(NSError* _Nullable* _Nullable)error;
 - (long)getId;
 - (NSData* _Nullable)getPartner;
 - (BOOL)isAuthenticated;
@@ -209,7 +209,7 @@ passed timeout. It will return true if the network is healthy
 /**
  * Close deletes this Connection's partner.Manager and releases resources
  */
-- (void)close;
+- (BOOL)close:(NSError* _Nullable* _Nullable)error;
 /**
  * GetId returns the Connection.id
  */
diff --git a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Bindings b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Bindings
index f02c6797986c50582c50cb819be74ee33621d8ae..e10e9ee786df8cefcea1b2ea1007c9fdb864f674 100644
Binary files a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Bindings and b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Bindings differ
diff --git a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Headers/Bindings.objc.h
index fd68e56619ed543b72bbf05da1ba2474e119ef12..c5600d7bc966b7b9759d72cc659ae937c5482dc5 100644
--- a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Headers/Bindings.objc.h
+++ b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Headers/Bindings.objc.h
@@ -67,7 +67,7 @@ Accepts a marshalled Message object
 - (nonnull instancetype)init;
 // skipped field AuthenticatedConnection.Connection with unsupported type: gitlab.com/elixxir/client/bindings.Connection
 
-- (void)close;
+- (BOOL)close:(NSError* _Nullable* _Nullable)error;
 - (long)getId;
 - (NSData* _Nullable)getPartner;
 - (BOOL)isAuthenticated;
@@ -209,7 +209,7 @@ passed timeout. It will return true if the network is healthy
 /**
  * Close deletes this Connection's partner.Manager and releases resources
  */
-- (void)close;
+- (BOOL)close:(NSError* _Nullable* _Nullable)error;
 /**
  * GetId returns the Connection.id
  */
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 f02c6797986c50582c50cb819be74ee33621d8ae..e10e9ee786df8cefcea1b2ea1007c9fdb864f674 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 fd68e56619ed543b72bbf05da1ba2474e119ef12..c5600d7bc966b7b9759d72cc659ae937c5482dc5 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
@@ -67,7 +67,7 @@ Accepts a marshalled Message object
 - (nonnull instancetype)init;
 // skipped field AuthenticatedConnection.Connection with unsupported type: gitlab.com/elixxir/client/bindings.Connection
 
-- (void)close;
+- (BOOL)close:(NSError* _Nullable* _Nullable)error;
 - (long)getId;
 - (NSData* _Nullable)getPartner;
 - (BOOL)isAuthenticated;
@@ -209,7 +209,7 @@ passed timeout. It will return true if the network is healthy
 /**
  * Close deletes this Connection's partner.Manager and releases resources
  */
-- (void)close;
+- (BOOL)close:(NSError* _Nullable* _Nullable)error;
 /**
  * GetId returns the Connection.id
  */
diff --git a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/Current/Bindings b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/Current/Bindings
index f02c6797986c50582c50cb819be74ee33621d8ae..e10e9ee786df8cefcea1b2ea1007c9fdb864f674 100644
Binary files a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/Current/Bindings and b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/Current/Bindings differ
diff --git a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/Current/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/Current/Headers/Bindings.objc.h
index fd68e56619ed543b72bbf05da1ba2474e119ef12..c5600d7bc966b7b9759d72cc659ae937c5482dc5 100644
--- a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/Current/Headers/Bindings.objc.h
+++ b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/Current/Headers/Bindings.objc.h
@@ -67,7 +67,7 @@ Accepts a marshalled Message object
 - (nonnull instancetype)init;
 // skipped field AuthenticatedConnection.Connection with unsupported type: gitlab.com/elixxir/client/bindings.Connection
 
-- (void)close;
+- (BOOL)close:(NSError* _Nullable* _Nullable)error;
 - (long)getId;
 - (NSData* _Nullable)getPartner;
 - (BOOL)isAuthenticated;
@@ -209,7 +209,7 @@ passed timeout. It will return true if the network is healthy
 /**
  * Close deletes this Connection's partner.Manager and releases resources
  */
-- (void)close;
+- (BOOL)close:(NSError* _Nullable* _Nullable)error;
 /**
  * GetId returns the Connection.id
  */
diff --git a/Sources/ElixxirDAppsSDK/ConnectionCloser.swift b/Sources/ElixxirDAppsSDK/ConnectionCloser.swift
index c74c62facc24cdbd70df2c1480dbd4424cf3925c..2f223c1d3bae4c38ff552c1000ae6fd882d069b9 100644
--- a/Sources/ElixxirDAppsSDK/ConnectionCloser.swift
+++ b/Sources/ElixxirDAppsSDK/ConnectionCloser.swift
@@ -1,10 +1,10 @@
 import Bindings
 
 public struct ConnectionCloser {
-  public var close: () -> Void
+  public var close: () throws -> Void
 
-  public func callAsFunction() {
-    close()
+  public func callAsFunction() throws {
+    try close()
   }
 }
 
@@ -12,7 +12,7 @@ extension ConnectionCloser {
   public static func live(
     bindingsConnection: BindingsConnection
   ) -> ConnectionCloser {
-    ConnectionCloser(close: bindingsConnection.close)
+      ConnectionCloser(close: bindingsConnection.close)
   }
 
   public static func live(