diff --git a/Sources/ElixxirDAppsSDK/E2E.swift b/Sources/ElixxirDAppsSDK/E2E.swift
index da868b33cb3229bf6966c7611aa045045e9818e6..1a0617aec0f53c6dcc224458a1b317a8d2d86449 100644
--- a/Sources/ElixxirDAppsSDK/E2E.swift
+++ b/Sources/ElixxirDAppsSDK/E2E.swift
@@ -3,6 +3,7 @@ import Bindings
 public struct E2E {
   public var getId: E2EGetId
   public var getReceptionId: E2EGetReceptionId
+  public var payloadSize: E2EPayloadSize
 
   // TODO:
 }
@@ -11,7 +12,8 @@ extension E2E {
   public static func live(_ bindingsE2E: BindingsE2e) -> E2E {
     E2E(
       getId: .live(bindingsE2E: bindingsE2E),
-      getReceptionId: .live(bindingsE2E: bindingsE2E)
+      getReceptionId: .live(bindingsE2E: bindingsE2E),
+      payloadSize: .live(bindingsE2E: bindingsE2E)
     )
   }
 }
@@ -19,6 +21,7 @@ extension E2E {
 extension E2E {
   public static let unimplemented = E2E(
     getId: .unimplemented,
-    getReceptionId: .unimplemented
+    getReceptionId: .unimplemented,
+    payloadSize: .unimplemented
   )
 }
diff --git a/Sources/ElixxirDAppsSDK/E2EPayloadSize.swift b/Sources/ElixxirDAppsSDK/E2EPayloadSize.swift
new file mode 100644
index 0000000000000000000000000000000000000000..bf2ee5ab9179736b1b094fc35ba0f42fe608f678
--- /dev/null
+++ b/Sources/ElixxirDAppsSDK/E2EPayloadSize.swift
@@ -0,0 +1,22 @@
+import Bindings
+import XCTestDynamicOverlay
+
+public struct E2EPayloadSize {
+  public var run: () -> Int
+
+  public func callAsFunction() -> Int {
+    run()
+  }
+}
+
+extension E2EPayloadSize {
+  public static func live(bindingsE2E: BindingsE2e) -> E2EPayloadSize {
+    E2EPayloadSize(run: bindingsE2E.payloadSize)
+  }
+}
+
+extension E2EPayloadSize {
+  public static let unimplemented = E2EPayloadSize(
+    run: XCTUnimplemented("\(Self.self)")
+  )
+}