diff --git a/dist/generated/qrcode_data_pb.js b/dist/generated/qrcode_data_pb.js
index 95cd91e08297da23cfe2b6084e66ad51e1afd4da..ffebdf7c4802e007f268ac51e3301ca735648237 100644
--- a/dist/generated/qrcode_data_pb.js
+++ b/dist/generated/qrcode_data_pb.js
@@ -767,6 +767,7 @@ $root.vereign = (function () {
                  * @property {vereign.protobuf.qrcode_data.IRecipients_V1|null} [recipients] EmailData_V1 recipients
                  * @property {Array.<vereign.protobuf.qrcode_data.IAttachment_V1>|null} [attachments] EmailData_V1 attachments
                  * @property {string|null} [senderPublicKeyUuid] EmailData_V1 senderPublicKeyUuid
+                 * @property {string|null} [walletPublicKey] EmailData_V1 walletPublicKey
                  */
                 /**
                  * Constructs a new EmailData_V1.
@@ -832,6 +833,13 @@ $root.vereign = (function () {
                  * @instance
                  */
                 EmailData_V1.prototype.senderPublicKeyUuid = "";
+                /**
+                 * EmailData_V1 walletPublicKey.
+                 * @member {string} walletPublicKey
+                 * @memberof vereign.protobuf.qrcode_data.EmailData_V1
+                 * @instance
+                 */
+                EmailData_V1.prototype.walletPublicKey = "";
                 /**
                  * Creates a new EmailData_V1 instance using the specified properties.
                  * @function create
@@ -870,6 +878,8 @@ $root.vereign = (function () {
                             $root.vereign.protobuf.qrcode_data.Attachment_V1.encode(message.attachments[i], writer.uint32(/* id 6, wireType 2 =*/ 50).fork()).ldelim();
                     if (message.senderPublicKeyUuid != null && Object.hasOwnProperty.call(message, "senderPublicKeyUuid"))
                         writer.uint32(/* id 7, wireType 2 =*/ 58).string(message.senderPublicKeyUuid);
+                    if (message.walletPublicKey != null && Object.hasOwnProperty.call(message, "walletPublicKey"))
+                        writer.uint32(/* id 8, wireType 2 =*/ 66).string(message.walletPublicKey);
                     return writer;
                 };
                 /**
@@ -925,6 +935,9 @@ $root.vereign = (function () {
                             case 7:
                                 message.senderPublicKeyUuid = reader.string();
                                 break;
+                            case 8:
+                                message.walletPublicKey = reader.string();
+                                break;
                             default:
                                 reader.skipType(tag & 7);
                                 break;
@@ -989,6 +1002,9 @@ $root.vereign = (function () {
                     if (message.senderPublicKeyUuid != null && message.hasOwnProperty("senderPublicKeyUuid"))
                         if (!$util.isString(message.senderPublicKeyUuid))
                             return "senderPublicKeyUuid: string expected";
+                    if (message.walletPublicKey != null && message.hasOwnProperty("walletPublicKey"))
+                        if (!$util.isString(message.walletPublicKey))
+                            return "walletPublicKey: string expected";
                     return null;
                 };
                 /**
@@ -1031,6 +1047,8 @@ $root.vereign = (function () {
                     }
                     if (object.senderPublicKeyUuid != null)
                         message.senderPublicKeyUuid = String(object.senderPublicKeyUuid);
+                    if (object.walletPublicKey != null)
+                        message.walletPublicKey = String(object.walletPublicKey);
                     return message;
                 };
                 /**
@@ -1055,6 +1073,7 @@ $root.vereign = (function () {
                         object.date = "";
                         object.recipients = null;
                         object.senderPublicKeyUuid = "";
+                        object.walletPublicKey = "";
                     }
                     if (message.statusId != null && message.hasOwnProperty("statusId"))
                         object.statusId = message.statusId;
@@ -1073,6 +1092,8 @@ $root.vereign = (function () {
                     }
                     if (message.senderPublicKeyUuid != null && message.hasOwnProperty("senderPublicKeyUuid"))
                         object.senderPublicKeyUuid = message.senderPublicKeyUuid;
+                    if (message.walletPublicKey != null && message.hasOwnProperty("walletPublicKey"))
+                        object.walletPublicKey = message.walletPublicKey;
                     return object;
                 };
                 /**
diff --git a/dist/types.d.ts b/dist/types.d.ts
index 77bc26610e09a7393c25e56afc81cfcd6bff3289..fce071cdd32562019d3188f3ce8b0ab5c7bd3936 100644
--- a/dist/types.d.ts
+++ b/dist/types.d.ts
@@ -21,6 +21,7 @@ export interface MessageData {
     };
     attachments: Array<Attachment>;
     senderPublicKeyUuid: string;
+    walletPublicKey?: string;
 }
 export interface StatusData {
     status?: StatusObject;
diff --git a/src/types.ts b/src/types.ts
index 312f3fc3b8c9ad85d496d6aedc3fceec91e72c2a..9a7853b1402eaca972fd7682e67fbd0f7b545b98 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -24,6 +24,7 @@ export interface MessageData {
   };
   attachments: Array<Attachment>;
   senderPublicKeyUuid: string;
+  walletPublicKey?: string;
 }
 
 export interface StatusData {
diff --git a/vereign/protobuf/qrcode_data.proto b/vereign/protobuf/qrcode_data.proto
index 49673a46e222dea44f93c7d6df4147b490968c3b..968d375cad59862139c7683c5c541fa159d4e812 100644
--- a/vereign/protobuf/qrcode_data.proto
+++ b/vereign/protobuf/qrcode_data.proto
@@ -29,7 +29,8 @@ message EmailData_V1 {
   string date = 4;
   Recipients_V1 recipients = 5;
   repeated Attachment_V1 attachments = 6;
-  string senderPublicKeyUuid = 7; 
+  string senderPublicKeyUuid = 7;
+  string walletPublicKey = 8;
 }
 
 message KeyData_V1 {