diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js
index 3f1078d8c4617558d6a0f129ca834a288ab23026..833c8cdc129ffe30b565e5fdcdcba9b81fef9ae4 100644
--- a/javascript/src/iframe/viamapi-iframe.js
+++ b/javascript/src/iframe/viamapi-iframe.js
@@ -1454,6 +1454,8 @@ const connection = Penpal.connectToParent({
         vCardImageClaimValue = vCardClaimResponse.data;
       }
 
+      var coordinates = {fromL: -1, fromR:-1, toL: -1, toR: -1}
+
       if (vCardImageClaimValue && "state" in vCardImageClaimValue && vCardImageClaimValue.state === "disabled") {
         vCardImageData = new ImageData({
           contentType: "image/png",
@@ -1470,12 +1472,26 @@ const connection = Penpal.connectToParent({
         if (vCardImageResponse.code !== "200") {
           return encodeResponse("400", "", vCardImageResponse.status);
         }
-        vCardImageData = new ImageData(vCardImageResponse.data);
+        vCardImageData = new ImageData(vCardImageResponse.data.Image);
         if (vCardImageData.contentType !== "image/png") {
           return encodeResponse("400", "", "Content type of vCard mmust be 'image/png'");
         }
+
+        coordinates = vCardImageResponse.data.QRCodeCoordinates
       }
 
+      var messageUUID = "message-" + makeid()
+
+      var qrCodeBase64Content = await generateQrCode("https://app.vereign.com/messagecheck/" + messageUUID)
+
+      var qrCode = new ImageData(
+        {
+          contentType: "image/png",
+          content: qrCodeBase64Content,
+        }
+      )
+
+
       if (!parts) {
         parts = [];
       }
@@ -1539,14 +1555,19 @@ const connection = Penpal.connectToParent({
         vCardImageData,
         privateKeyOneTime,
         passportChain,
-        parts
+        parts,
+        qrCode,
+        coordinates,
       );
       if (signVCardResponse.code !== "200") {
         return encodeResponse("400", "", signVCardResponse.status);
       }
 
       const signedVCardImageData = new ImageData(signVCardResponse.data);
-      return encodeResponse("200", signedVCardImageData, "vCard signed");
+      return encodeResponse("200", {
+        image: signedVCardImageData,
+        messageUUID: messageUUID,
+      }, "vCard signed");
     },
     generateQrCode,
     documentCreateDocument: async (passportUUID, path, contentType, title) => {