diff --git a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Bindings b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Bindings
index 2655d52cab2ac8c693bda3fc2deedede483e5106..59127808943e6bd5781ad09217e30501daf5416f 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 972411f4c1cd97338eb0c12ddd655eb79ea85d69..740271e89ee5cfbc54f4a0d099b8b81955038397 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
@@ -1502,8 +1502,8 @@ JSON example:
   "Rounds":[1,5,9],
   "Payload":"rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw==",
   "Partner":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD",
-  "EphID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
  }
  */
 @interface BindingsSingleUseCallbackReport : NSObject <goSeqRefInterface> {
@@ -1518,7 +1518,8 @@ JSON example:
 // skipped field SingleUseCallbackReport.Partner with unsupported type: *gitlab.com/xx_network/primitives/id.ID
 
 @property (nonatomic) int64_t ephID;
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseCallbackReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
 @end
 
@@ -1531,9 +1532,9 @@ JSON example:
  {
   "Rounds":[1,5,9],
   "Payload":"rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw==",
-  "ReceptionID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"},
-  "Err":null
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"},
+  "Err":"",
  }
  */
 @interface BindingsSingleUseResponseReport : NSObject <goSeqRefInterface> {
@@ -1545,7 +1546,8 @@ JSON example:
 // skipped field SingleUseResponseReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList
 
 @property (nonatomic) NSData* _Nullable payload;
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseResponseReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 @property (nonatomic) int64_t ephID;
 @property (nonatomic) NSError* _Nullable err;
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
@@ -1558,8 +1560,8 @@ information returned by single.TransmitRequest.
 JSON example:
  {
   "Rounds":[1,5,9],
-  "EphID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
  }
  */
 @interface BindingsSingleUseSendReport : NSObject <goSeqRefInterface> {
@@ -1570,7 +1572,8 @@ JSON example:
 - (nonnull instancetype)init;
 // skipped field SingleUseSendReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList
 
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseSendReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 @property (nonatomic) int64_t ephID;
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
 @end
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 2655d52cab2ac8c693bda3fc2deedede483e5106..59127808943e6bd5781ad09217e30501daf5416f 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 972411f4c1cd97338eb0c12ddd655eb79ea85d69..740271e89ee5cfbc54f4a0d099b8b81955038397 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
@@ -1502,8 +1502,8 @@ JSON example:
   "Rounds":[1,5,9],
   "Payload":"rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw==",
   "Partner":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD",
-  "EphID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
  }
  */
 @interface BindingsSingleUseCallbackReport : NSObject <goSeqRefInterface> {
@@ -1518,7 +1518,8 @@ JSON example:
 // skipped field SingleUseCallbackReport.Partner with unsupported type: *gitlab.com/xx_network/primitives/id.ID
 
 @property (nonatomic) int64_t ephID;
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseCallbackReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
 @end
 
@@ -1531,9 +1532,9 @@ JSON example:
  {
   "Rounds":[1,5,9],
   "Payload":"rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw==",
-  "ReceptionID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"},
-  "Err":null
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"},
+  "Err":"",
  }
  */
 @interface BindingsSingleUseResponseReport : NSObject <goSeqRefInterface> {
@@ -1545,7 +1546,8 @@ JSON example:
 // skipped field SingleUseResponseReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList
 
 @property (nonatomic) NSData* _Nullable payload;
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseResponseReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 @property (nonatomic) int64_t ephID;
 @property (nonatomic) NSError* _Nullable err;
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
@@ -1558,8 +1560,8 @@ information returned by single.TransmitRequest.
 JSON example:
  {
   "Rounds":[1,5,9],
-  "EphID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
  }
  */
 @interface BindingsSingleUseSendReport : NSObject <goSeqRefInterface> {
@@ -1570,7 +1572,8 @@ JSON example:
 - (nonnull instancetype)init;
 // skipped field SingleUseSendReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList
 
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseSendReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 @property (nonatomic) int64_t ephID;
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
 @end
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 2655d52cab2ac8c693bda3fc2deedede483e5106..59127808943e6bd5781ad09217e30501daf5416f 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 972411f4c1cd97338eb0c12ddd655eb79ea85d69..740271e89ee5cfbc54f4a0d099b8b81955038397 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
@@ -1502,8 +1502,8 @@ JSON example:
   "Rounds":[1,5,9],
   "Payload":"rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw==",
   "Partner":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD",
-  "EphID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
  }
  */
 @interface BindingsSingleUseCallbackReport : NSObject <goSeqRefInterface> {
@@ -1518,7 +1518,8 @@ JSON example:
 // skipped field SingleUseCallbackReport.Partner with unsupported type: *gitlab.com/xx_network/primitives/id.ID
 
 @property (nonatomic) int64_t ephID;
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseCallbackReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
 @end
 
@@ -1531,9 +1532,9 @@ JSON example:
  {
   "Rounds":[1,5,9],
   "Payload":"rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw==",
-  "ReceptionID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"},
-  "Err":null
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"},
+  "Err":"",
  }
  */
 @interface BindingsSingleUseResponseReport : NSObject <goSeqRefInterface> {
@@ -1545,7 +1546,8 @@ JSON example:
 // skipped field SingleUseResponseReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList
 
 @property (nonatomic) NSData* _Nullable payload;
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseResponseReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 @property (nonatomic) int64_t ephID;
 @property (nonatomic) NSError* _Nullable err;
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
@@ -1558,8 +1560,8 @@ information returned by single.TransmitRequest.
 JSON example:
  {
   "Rounds":[1,5,9],
-  "EphID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
  }
  */
 @interface BindingsSingleUseSendReport : NSObject <goSeqRefInterface> {
@@ -1570,7 +1572,8 @@ JSON example:
 - (nonnull instancetype)init;
 // skipped field SingleUseSendReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList
 
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseSendReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 @property (nonatomic) int64_t ephID;
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
 @end
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 51a4c6374dfc775e12e5dd34a5bd23778e460b24..d405ceba46f76c1bedf95fa57651b1c801f702f3 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 972411f4c1cd97338eb0c12ddd655eb79ea85d69..740271e89ee5cfbc54f4a0d099b8b81955038397 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
@@ -1502,8 +1502,8 @@ JSON example:
   "Rounds":[1,5,9],
   "Payload":"rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw==",
   "Partner":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD",
-  "EphID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
  }
  */
 @interface BindingsSingleUseCallbackReport : NSObject <goSeqRefInterface> {
@@ -1518,7 +1518,8 @@ JSON example:
 // skipped field SingleUseCallbackReport.Partner with unsupported type: *gitlab.com/xx_network/primitives/id.ID
 
 @property (nonatomic) int64_t ephID;
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseCallbackReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
 @end
 
@@ -1531,9 +1532,9 @@ JSON example:
  {
   "Rounds":[1,5,9],
   "Payload":"rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw==",
-  "ReceptionID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"},
-  "Err":null
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"},
+  "Err":"",
  }
  */
 @interface BindingsSingleUseResponseReport : NSObject <goSeqRefInterface> {
@@ -1545,7 +1546,8 @@ JSON example:
 // skipped field SingleUseResponseReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList
 
 @property (nonatomic) NSData* _Nullable payload;
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseResponseReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 @property (nonatomic) int64_t ephID;
 @property (nonatomic) NSError* _Nullable err;
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
@@ -1558,8 +1560,8 @@ information returned by single.TransmitRequest.
 JSON example:
  {
   "Rounds":[1,5,9],
-  "EphID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
  }
  */
 @interface BindingsSingleUseSendReport : NSObject <goSeqRefInterface> {
@@ -1570,7 +1572,8 @@ JSON example:
 - (nonnull instancetype)init;
 // skipped field SingleUseSendReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList
 
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseSendReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 @property (nonatomic) int64_t ephID;
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
 @end
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 51a4c6374dfc775e12e5dd34a5bd23778e460b24..d405ceba46f76c1bedf95fa57651b1c801f702f3 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 972411f4c1cd97338eb0c12ddd655eb79ea85d69..740271e89ee5cfbc54f4a0d099b8b81955038397 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
@@ -1502,8 +1502,8 @@ JSON example:
   "Rounds":[1,5,9],
   "Payload":"rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw==",
   "Partner":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD",
-  "EphID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
  }
  */
 @interface BindingsSingleUseCallbackReport : NSObject <goSeqRefInterface> {
@@ -1518,7 +1518,8 @@ JSON example:
 // skipped field SingleUseCallbackReport.Partner with unsupported type: *gitlab.com/xx_network/primitives/id.ID
 
 @property (nonatomic) int64_t ephID;
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseCallbackReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
 @end
 
@@ -1531,9 +1532,9 @@ JSON example:
  {
   "Rounds":[1,5,9],
   "Payload":"rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw==",
-  "ReceptionID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"},
-  "Err":null
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"},
+  "Err":"",
  }
  */
 @interface BindingsSingleUseResponseReport : NSObject <goSeqRefInterface> {
@@ -1545,7 +1546,8 @@ JSON example:
 // skipped field SingleUseResponseReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList
 
 @property (nonatomic) NSData* _Nullable payload;
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseResponseReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 @property (nonatomic) int64_t ephID;
 @property (nonatomic) NSError* _Nullable err;
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
@@ -1558,8 +1560,8 @@ information returned by single.TransmitRequest.
 JSON example:
  {
   "Rounds":[1,5,9],
-  "EphID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
  }
  */
 @interface BindingsSingleUseSendReport : NSObject <goSeqRefInterface> {
@@ -1570,7 +1572,8 @@ JSON example:
 - (nonnull instancetype)init;
 // skipped field SingleUseSendReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList
 
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseSendReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 @property (nonatomic) int64_t ephID;
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
 @end
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 51a4c6374dfc775e12e5dd34a5bd23778e460b24..d405ceba46f76c1bedf95fa57651b1c801f702f3 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 972411f4c1cd97338eb0c12ddd655eb79ea85d69..740271e89ee5cfbc54f4a0d099b8b81955038397 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
@@ -1502,8 +1502,8 @@ JSON example:
   "Rounds":[1,5,9],
   "Payload":"rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw==",
   "Partner":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD",
-  "EphID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
  }
  */
 @interface BindingsSingleUseCallbackReport : NSObject <goSeqRefInterface> {
@@ -1518,7 +1518,8 @@ JSON example:
 // skipped field SingleUseCallbackReport.Partner with unsupported type: *gitlab.com/xx_network/primitives/id.ID
 
 @property (nonatomic) int64_t ephID;
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseCallbackReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
 @end
 
@@ -1531,9 +1532,9 @@ JSON example:
  {
   "Rounds":[1,5,9],
   "Payload":"rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw==",
-  "ReceptionID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"},
-  "Err":null
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"},
+  "Err":"",
  }
  */
 @interface BindingsSingleUseResponseReport : NSObject <goSeqRefInterface> {
@@ -1545,7 +1546,8 @@ JSON example:
 // skipped field SingleUseResponseReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList
 
 @property (nonatomic) NSData* _Nullable payload;
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseResponseReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 @property (nonatomic) int64_t ephID;
 @property (nonatomic) NSError* _Nullable err;
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
@@ -1558,8 +1560,8 @@ information returned by single.TransmitRequest.
 JSON example:
  {
   "Rounds":[1,5,9],
-  "EphID":{"EphId":[0,0,0,0,0,0,3,89],
-  "Source":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
+  "EphID":1655533,
+  "ReceptionID":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"}
  }
  */
 @interface BindingsSingleUseSendReport : NSObject <goSeqRefInterface> {
@@ -1570,7 +1572,8 @@ JSON example:
 - (nonnull instancetype)init;
 // skipped field SingleUseSendReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList
 
-@property (nonatomic) NSData* _Nullable receptionID;
+// skipped field SingleUseSendReport.ReceptionID with unsupported type: *gitlab.com/xx_network/primitives/id.ID
+
 @property (nonatomic) int64_t ephID;
 - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error;
 @end
diff --git a/Sources/ElixxirDAppsSDK/Models/SingleUseCallbackReport.swift b/Sources/ElixxirDAppsSDK/Models/SingleUseCallbackReport.swift
index a4acd5536503612e3260dc89e81088302e03d3da..032f7c1c2b75b5e527037569a6d9867cc2487633 100644
--- a/Sources/ElixxirDAppsSDK/Models/SingleUseCallbackReport.swift
+++ b/Sources/ElixxirDAppsSDK/Models/SingleUseCallbackReport.swift
@@ -5,33 +5,21 @@ public struct SingleUseCallbackReport: Equatable {
     rounds: [Int],
     payload: Data,
     partner: Data,
-    ephId: EphId
+    ephId: Int64,
+    receptionId: Data
   ) {
     self.rounds = rounds
     self.payload = payload
     self.partner = partner
     self.ephId = ephId
+    self.receptionId = receptionId
   }
 
   public var rounds: [Int]
   public var payload: Data
   public var partner: Data
-  public var ephId: EphId
-}
-
-extension SingleUseCallbackReport {
-  public struct EphId: Equatable {
-    public init(
-      ephId: [Int],
-      source: Data
-    ) {
-      self.ephId = ephId
-      self.source = source
-    }
-
-    public var ephId: [Int]
-    public var source: Data
-  }
+  public var ephId: Int64
+  public var receptionId: Data
 }
 
 extension SingleUseCallbackReport: Codable {
@@ -40,6 +28,7 @@ extension SingleUseCallbackReport: Codable {
     case payload = "Payload"
     case partner = "Partner"
     case ephId = "EphID"
+    case receptionId = "ReceptionID"
   }
 
   public static func decode(_ data: Data) throws -> Self {
@@ -50,10 +39,3 @@ extension SingleUseCallbackReport: Codable {
     try JSONEncoder().encode(self)
   }
 }
-
-extension SingleUseCallbackReport.EphId: Codable {
-  enum CodingKeys: String, CodingKey {
-    case ephId = "EphId"
-    case source = "Source"
-  }
-}
diff --git a/Sources/ElixxirDAppsSDK/Models/SingleUseResponseReport.swift b/Sources/ElixxirDAppsSDK/Models/SingleUseResponseReport.swift
index 0aea471e2c7421c3b622f96065932dac221b1750..788ca27c6c1f84d4d0af8bb1c1a5d197eb679797 100644
--- a/Sources/ElixxirDAppsSDK/Models/SingleUseResponseReport.swift
+++ b/Sources/ElixxirDAppsSDK/Models/SingleUseResponseReport.swift
@@ -4,40 +4,29 @@ public struct SingleUseResponseReport: Equatable {
   public init(
     rounds: [Int],
     payload: Data,
-    receptionId: ReceptionId,
+    ephId: Int64,
+    receptionId: Data,
     error: String?
   ) {
     self.rounds = rounds
     self.payload = payload
+    self.ephId = ephId
     self.receptionId = receptionId
     self.error = error
   }
 
   public var rounds: [Int]
   public var payload: Data
-  public var receptionId: ReceptionId
+  public var ephId: Int64
+  public var receptionId: Data
   public var error: String?
 }
 
-extension SingleUseResponseReport {
-  public struct ReceptionId: Equatable {
-    public init(
-      ephId: [Int],
-      source: Data
-    ) {
-      self.ephId = ephId
-      self.source = source
-    }
-
-    public var ephId: [Int]
-    public var source: Data
-  }
-}
-
 extension SingleUseResponseReport: Codable {
   enum CodingKeys: String, CodingKey {
     case rounds = "Rounds"
     case payload = "Payload"
+    case ephId = "EphID"
     case receptionId = "ReceptionID"
     case error = "Err"
   }
@@ -50,10 +39,3 @@ extension SingleUseResponseReport: Codable {
     try JSONEncoder().encode(self)
   }
 }
-
-extension SingleUseResponseReport.ReceptionId: Codable {
-  enum CodingKeys: String, CodingKey {
-    case ephId = "EphId"
-    case source = "Source"
-  }
-}
diff --git a/Sources/ElixxirDAppsSDK/Models/SingleUseSendReport.swift b/Sources/ElixxirDAppsSDK/Models/SingleUseSendReport.swift
index f86f26ceaf84e3c1782a840d5f619ec69623cdf1..affd341d2ae8d236d529b090bbccaf52418f6318 100644
--- a/Sources/ElixxirDAppsSDK/Models/SingleUseSendReport.swift
+++ b/Sources/ElixxirDAppsSDK/Models/SingleUseSendReport.swift
@@ -3,35 +3,24 @@ import Foundation
 public struct SingleUseSendReport: Equatable {
   public init(
     rounds: [Int],
-    ephId: EphId
+    ephId: Int64,
+    receptionId: Data
   ) {
     self.rounds = rounds
     self.ephId = ephId
+    self.receptionId = receptionId
   }
 
   public var rounds: [Int]
-  public var ephId: EphId
-}
-
-extension SingleUseSendReport {
-  public struct EphId: Equatable {
-    public init(
-      ephId: [Int],
-      source: Data
-    ) {
-      self.ephId = ephId
-      self.source = source
-    }
-
-    public var ephId: [Int]
-    public var source: Data
-  }
+  public var ephId: Int64
+  public var receptionId: Data
 }
 
 extension SingleUseSendReport: Codable {
   enum CodingKeys: String, CodingKey {
     case rounds = "Rounds"
     case ephId = "EphID"
+    case receptionId = "ReceptionID"
   }
 
   public static func decode(_ data: Data) throws -> Self {
@@ -42,10 +31,3 @@ extension SingleUseSendReport: Codable {
     try JSONEncoder().encode(self)
   }
 }
-
-extension SingleUseSendReport.EphId: Codable {
-  enum CodingKeys: String, CodingKey {
-    case ephId = "EphId"
-    case source = "Source"
-  }
-}
diff --git a/Tests/ElixxirDAppsSDKTests/Models/SingleUseCallbackReportTests.swift b/Tests/ElixxirDAppsSDKTests/Models/SingleUseCallbackReportTests.swift
index 0f478cb70b764e9ec733b0f4fd29cb114c540a3b..9ec6e42b82df25d53709f163762ee38b903db376 100644
--- a/Tests/ElixxirDAppsSDKTests/Models/SingleUseCallbackReportTests.swift
+++ b/Tests/ElixxirDAppsSDKTests/Models/SingleUseCallbackReportTests.swift
@@ -7,17 +7,15 @@ final class SingleUseCallbackReportTests: XCTestCase {
     let rounds: [Int] = [1, 5, 9]
     let payloadB64 = "rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw=="
     let partnerB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
-    let ephId: [Int] = [0, 0, 0, 0, 0, 0, 3, 89]
-    let ephIdSourceB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
+    let ephId: Int64 = 1_655_533
+    let receptionIdB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
     let jsonString = """
     {
       "Rounds": [\(rounds.map { "\($0)" }.joined(separator: ", "))],
       "Payload": "\(payloadB64)",
       "Partner": "\(partnerB64)",
-      "EphID": {
-        "EphId": [\(ephId.map { "\($0)" }.joined(separator: ", "))],
-        "Source": "\(ephIdSourceB64)"
-      }
+      "EphID": \(ephId),
+      "ReceptionID": "\(receptionIdB64)"
     }
     """
     let jsonData = jsonString.data(using: .utf8)!
@@ -27,10 +25,8 @@ final class SingleUseCallbackReportTests: XCTestCase {
       rounds: rounds,
       payload: Data(base64Encoded: payloadB64)!,
       partner: Data(base64Encoded: partnerB64)!,
-      ephId: .init(
-        ephId: ephId,
-        source: Data(base64Encoded: ephIdSourceB64)!
-      )
+      ephId: ephId,
+      receptionId: Data(base64Encoded: receptionIdB64)!
     ))
 
     let encodedModel = try model.encode()
diff --git a/Tests/ElixxirDAppsSDKTests/Models/SingleUseResponseReportTests.swift b/Tests/ElixxirDAppsSDKTests/Models/SingleUseResponseReportTests.swift
index f4bd95f92b294d9302ff60c3b8607bd86c134fe0..34750c20f6bc4d6cf824e7566f8f1aa3b89e6d29 100644
--- a/Tests/ElixxirDAppsSDKTests/Models/SingleUseResponseReportTests.swift
+++ b/Tests/ElixxirDAppsSDKTests/Models/SingleUseResponseReportTests.swift
@@ -6,16 +6,14 @@ final class SingleUseResponseReportTests: XCTestCase {
   func testCoding() throws {
     let rounds: [Int] = [1, 5, 9]
     let payloadB64 = "rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw=="
-    let receptionIdEphId: [Int] = [0, 0, 0, 0, 0, 0, 3, 89]
-    let receptionIdSourceB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
+    let ephId: Int64 = 1_655_533
+    let receptionIdB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
     let jsonString = """
     {
       "Rounds": [\(rounds.map { "\($0)" }.joined(separator: ", "))],
       "Payload": "\(payloadB64)",
-      "ReceptionID": {
-        "EphId": [\(receptionIdEphId.map { "\($0)" }.joined(separator: ", "))],
-        "Source": "\(receptionIdSourceB64)"
-      },
+      "EphID": \(ephId),
+      "ReceptionID": "\(receptionIdB64)",
       "Err": null
     }
     """
@@ -25,10 +23,8 @@ final class SingleUseResponseReportTests: XCTestCase {
     XCTAssertNoDifference(model, SingleUseResponseReport(
       rounds: rounds,
       payload: Data(base64Encoded: payloadB64)!,
-      receptionId: .init(
-        ephId: receptionIdEphId,
-        source: Data(base64Encoded: receptionIdSourceB64)!
-      ),
+      ephId: ephId,
+      receptionId: Data(base64Encoded: receptionIdB64)!,
       error: nil
     ))
 
@@ -41,17 +37,15 @@ final class SingleUseResponseReportTests: XCTestCase {
   func testDecodingReportWithError() throws {
     let rounds: [Int] = [1, 5, 9]
     let payloadB64 = "rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw=="
-    let receptionIdEphId: [Int] = [0, 0, 0, 0, 0, 0, 3, 89]
-    let receptionIdSourceB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
+    let ephId: Int64 = 1_655_533
+    let receptionIdB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
     let error = "something went wrong"
     let jsonString = """
     {
       "Rounds": [\(rounds.map { "\($0)" }.joined(separator: ", "))],
       "Payload": "\(payloadB64)",
-      "ReceptionID": {
-        "EphId": [\(receptionIdEphId.map { "\($0)" }.joined(separator: ", "))],
-        "Source": "\(receptionIdSourceB64)"
-      },
+      "EphID": \(ephId),
+      "ReceptionID": "\(receptionIdB64)",
       "Err": "\(error)"
     }
     """
@@ -61,10 +55,8 @@ final class SingleUseResponseReportTests: XCTestCase {
     XCTAssertNoDifference(model, SingleUseResponseReport(
       rounds: rounds,
       payload: Data(base64Encoded: payloadB64)!,
-      receptionId: .init(
-        ephId: receptionIdEphId,
-        source: Data(base64Encoded: receptionIdSourceB64)!
-      ),
+      ephId: ephId,
+      receptionId: Data(base64Encoded: receptionIdB64)!,
       error: error
     ))
   }
diff --git a/Tests/ElixxirDAppsSDKTests/Models/SingleUseSendReportTests.swift b/Tests/ElixxirDAppsSDKTests/Models/SingleUseSendReportTests.swift
index 2a23b72e0e06707cf6e72f436b06974d368cf1f6..048af7d445c8542ad6872260520c568328363a84 100644
--- a/Tests/ElixxirDAppsSDKTests/Models/SingleUseSendReportTests.swift
+++ b/Tests/ElixxirDAppsSDKTests/Models/SingleUseSendReportTests.swift
@@ -5,15 +5,13 @@ import XCTest
 final class SingleUseSendReportTests: XCTestCase {
   func testCoding() throws {
     let rounds: [Int] = [1, 5, 9]
-    let ephId: [Int] = [0, 0, 0, 0, 0, 0, 3, 89]
-    let ephIdSourceB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
+    let ephId: Int64 = 1_655_533
+    let receptionIdB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
     let jsonString = """
     {
       "Rounds": [\(rounds.map { "\($0)" }.joined(separator: ", "))],
-      "EphID": {
-        "EphId": [\(ephId.map { "\($0)" }.joined(separator: ", "))],
-        "Source": "\(ephIdSourceB64)"
-      }
+      "EphID": \(ephId),
+      "ReceptionID": "\(receptionIdB64)"
     }
     """
     let jsonData = jsonString.data(using: .utf8)!
@@ -21,10 +19,8 @@ final class SingleUseSendReportTests: XCTestCase {
 
     XCTAssertNoDifference(model, SingleUseSendReport(
       rounds: rounds,
-      ephId: .init(
-        ephId: ephId,
-        source: Data(base64Encoded: ephIdSourceB64)!
-      )
+      ephId: ephId,
+      receptionId: Data(base64Encoded: receptionIdB64)!
     ))
 
     let encodedModel = try model.encode()