diff --git a/assets/images/simple-illustrations/emptystate__puzzlepieces.svg b/assets/images/simple-illustrations/emptystate__puzzlepieces.svg
new file mode 100644
index 000000000000..d137ce5dcff2
--- /dev/null
+++ b/assets/images/simple-illustrations/emptystate__puzzlepieces.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 28.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 148 154" style="enable-background:new 0 0 148 154;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:none;stroke:#002140;stroke-linecap:round;stroke-linejoin:round;}
+	.st1{fill:#99F6FF;}
+	.st2{fill:#0164BF;}
+</style>
+<path class="st0" d="M141.572,103.784c-0.027,4.046-2.097,6.096-4.297,6.963"/>
+<path class="st1" d="M66.082,134.54c0,0,23.113,4.427,26.793-1.323c1.897-3.623-2.817-5.75-2.873-11.21
+	c-0.057-5.463,3.967-8.797,7.073-8.797c3.107,0,7.417,3.45,7.417,8.797c0,5.347-3.047,5.75-3.047,9.083
+	c0,3.334,2.76,5.577,9.717,5.29c6.957-0.286,17.363-1.84,17.363-1.84s-2.99-22.136,0.057-25.353c1.667-1.61,5.173,0.23,5.173,0.23
+	s3.68,1.493,5.464,1.493c1.783,0,6.956-1.493,6.956-7.876c0-6.384-5.75-6.957-6.9-7.014c-1.15-0.057-5.633,1.38-6.153,1.553
+	c-0.52,0.173-2.643,0.69-3.277,0.69c-0.633,0-3.046-2.183-2.816-6.267c0.23-4.083,1.493-19.95,1.493-19.95s-9.66-1.61-15.58-1.38
+	c-5.923,0.23-10.12,0.69-10.98,2.413c-0.863,1.723-0.517,3.853,0.057,4.773c0.573,0.92,2.473,5.233,2.473,8.05
+	c0,2.817-2.76,7.647-7.417,7.647c-4.657,0-7.417-5.233-7.187-8.337c0.23-3.103,3.277-7.763,3.277-9.947
+	c0-2.183-0.46-4.713-11.27-4.713s-15.58,1.783-15.58,1.783s2.76,24.033-0.69,25.643c-3.45,1.61-5.52-2.013-10.75-2.013
+	s-6.323,5.403-6.323,7.59c0,2.187,1.263,7.303,8.05,7.303c3.333,0,5.463-2.243,7.763-2.243c2.3,0,2.76,3.45,2.76,3.45
+	s0.23,15.467-1.033,22.48L66.082,134.54z"/>
+<path class="st1" d="M66.312,72.33c0,0-0.283-3.807-0.093-6.087c0.19-2.28,1.33-9.683,1.233-12.817
+	c-0.097-3.133-0.76-8.353-3.133-8.543c-2.373-0.19-5.317,1.423-6.36,1.803s-4.273,1.9-6.647,1.043
+	c-2.373-0.853-6.457-2.657-6.647-7.69c-0.19-5.033,6.457-6.647,9.493-6.55c3.037,0.093,5.507,3.227,9.78,2.847
+	c4.273-0.38,3.513-9.21,3.513-11.107c0-1.897-1.993-13.957-1.52-15.95c0,0-22.027-2.943-25.443,0.473
+	c-1.9,2.657,3.227,5.507,2.09,11.013c-1.14,5.507-4.653,6.077-7.69,6.077s-7.5-1.52-7.5-7.31c0-3.417,2.847-6.93,2.28-9.02
+	c-0.57-2.09-2.657-3.987-25.917-1.33c0,0,0.19,8.07-0.76,10.063c-0.95,1.993-1.52,16.33,2.373,17.09c3.893,0.76,6.17-1.52,6.17-1.52
+	s2.847-1.9,7.027-1.043c4.177,0.853,7.027,3.893,6.647,6.647c-0.38,2.753-1.803,7.217-7.783,7.5
+	c-5.98,0.283-8.26-3.513-10.633-3.227c-2.373,0.283-4.177,1.803-4.273,4.937c0,0-0.157,5.063-0.157,6.33
+	c0,1.267,1.9,13.29,1.393,15.697c-0.507,2.407-1.9,13.417-1.647,19.113c0.253,5.697,1.267,8.227,4.683,8.353
+	c3.417,0.127,5.57-3.29,10.507-3.037c3.543,0.127,7.723,3.417,7.723,7.09c0,3.673-2.91,7.217-7.217,7.343
+	c-4.303,0.127-5.317-0.76-6.457-1.266c-1.14-0.507-3.023-1.984-4.937-1.52c-1.913,0.463-2.783,1.14-3.417,2.91
+	c-0.633,1.773-2.28,9.113,0.887,23.796c0,0,17.597-1.14,20.633-1.013c3.037,0.127,4.557,1.013,5.063,2.28s-2.027,7.343-1.9,9.873
+	s0.76,6.584,7.597,6.457c6.837-0.127,7.343-5.443,7.217-6.963c-0.127-1.52-1.14-4.557-1.52-5.697c-0.38-1.14-2.407-4.81,2.533-5.697
+	c4.937-0.886,22.587,0.857,22.587,0.857s9.757-46.85,0.23-62.21L66.312,72.33z"/>
+<path class="st0" d="M48.422,103.327c0.037-5.617,4.01-7.387,6.797-7.487c4.977-0.18,8.337,4.364,10.983,1.52
+	c2.65-2.843-0.113-25.223-0.113-25.223c3.433-0.587,6.907-0.997,10.377-1.277c2.747-0.223,5.513-0.363,8.27-0.247
+	c2.357,0.097,6.183,0.107,7.777,2.3c0.797,1.097,0.813,2.663,0.413,3.983c-0.4,1.323-1.153,2.477-1.81,3.673
+	c-1,1.827-1.297,3.657-0.96,5.753c0.473,4.01,3.717,7.65,8.003,7.08"/>
+<path class="st0" d="M48.428,103.407c0.037,5.617,4.01,7.387,6.797,7.487c4.977,0.18,8.337-4.364,10.983-1.52
+	c2.65,2.843-0.113,25.223-0.113,25.223c3.433,0.587,6.907,0.997,10.377,1.277c2.747,0.223,5.513,0.363,8.27,0.246
+	c2.357-0.096,6.183-0.106,7.777-2.3c0.797-1.096,0.813-2.663,0.413-3.983c-0.4-1.323-1.153-2.477-1.81-3.673
+	c-1-1.827-1.297-3.657-0.96-5.754c0.473-4.01,3.717-7.65,8.003-7.08"/>
+<path class="st0" d="M34.982,54.504c5.617,0.037,7.387,4.01,7.487,6.797c0.18,4.977-4.363,8.337-1.52,10.983
+	c2.843,2.65,25.223-0.113,25.223-0.113"/>
+<path class="st0" d="M35.046,152.297c5.617-0.037,7.387-4.01,7.487-6.797c0.18-4.976-4.363-8.336-1.52-10.983
+	c2.843-2.65,25.223,0.113,25.223,0.113"/>
+<path class="st0" d="M34.902,54.507c-5.617,0.037-7.387,4.01-7.487,6.797c-0.18,4.977,4.363,8.337,1.52,10.983
+	c-2.843,2.65-25.223-0.113-25.223-0.113C3.125,75.607,2.715,79.08,2.435,82.55c-0.223,2.747-0.363,5.513-0.247,8.27
+	c0.097,2.357,0.107,6.183,2.3,7.777c1.097,0.797,2.663,0.813,3.983,0.413c1.323-0.4,2.477-1.153,3.673-1.81
+	c1.827-1,3.657-1.297,5.753-0.96c4.01,0.473,7.65,3.717,7.08,8.004"/>
+<path class="st0" d="M34.986,26.904c-5.617-0.037-7.387-4.01-7.487-6.797c-0.18-4.977,4.363-8.337,1.52-10.983
+	C26.176,6.474,3.796,9.237,3.796,9.237"/>
+<path class="st0" d="M35.062,26.897c5.617-0.037,7.387-4.01,7.487-6.797c0.18-4.977-4.363-8.337-1.52-10.983
+	c2.843-2.65,24.977,0.187,24.977,0.187"/>
+<path class="st0" d="M34.902,152.284c-5.617-0.037-7.387-4.01-7.487-6.797c-0.18-4.977,4.363-8.337,1.52-10.983
+	c-2.843-2.647-25.223,0.113-25.223,0.113c-0.587-3.433-0.997-6.907-1.277-10.377c-0.223-2.746-0.363-5.513-0.247-8.27
+	c0.097-2.356,0.107-6.183,2.3-7.776c1.097-0.797,2.663-0.814,3.983-0.414c1.323,0.4,2.477,1.154,3.673,1.81
+	c1.827,1,3.657,1.297,5.753,0.96c4.01-0.473,7.65-3.716,7.08-8.003"/>
+<path class="st0" d="M3.812,71.864c0.41-5.05-1.74-12.267-1.523-18.647c0.097-2.357,0.107-6.183,2.3-7.777
+	c1.097-0.797,2.663-0.813,3.983-0.413c1.323,0.4,2.477,1.153,3.673,1.81c1.827,1,3.657,1.297,5.753,0.96
+	c4.01-0.473,7.65-3.717,7.08-8.003"/>
+<path class="st0" d="M3.812,9.477c0.41,5.05-1.74,12.267-1.523,18.647c0.097,2.357,0.107,6.183,2.3,7.777
+	c1.097,0.797,2.663,0.813,3.983,0.413c1.323-0.4,2.477-1.153,3.673-1.81c1.827-1,3.657-1.297,5.753-0.96
+	c4.01,0.473,7.65,3.717,7.08,8.003"/>
+<path class="st0" d="M65.982,71.874c-0.41-5.05,1.74-12.267,1.523-18.647c-0.097-2.357-0.107-6.183-2.3-7.777
+	c-1.097-0.797-2.663-0.813-3.983-0.413c-1.32,0.4-2.477,1.153-3.673,1.81c-1.827,1-3.657,1.297-5.753,0.96
+	c-4.01-0.473-7.65-3.717-7.08-8.003"/>
+<path class="st0" d="M65.982,9.484c-0.41,5.05,1.74,12.267,1.523,18.647c-0.097,2.357-0.107,6.183-2.3,7.777
+	c-1.097,0.797-2.663,0.813-3.983,0.413c-1.323-0.4-2.477-1.153-3.673-1.81c-1.827-1-3.657-1.297-5.753-0.96
+	c-4.01,0.473-7.65,3.717-7.08,8.003"/>
+<path class="st0" d="M146.116,103.31c-0.037-5.616-4.01-7.386-6.797-7.486c-4.977-0.18-8.337,4.363-10.983,1.52
+	c-2.65-2.843,0.113-25.223,0.113-25.223c-3.433-0.587-6.907-0.997-10.377-1.277c-2.746-0.223-5.513-0.363-8.27-0.247
+	c-2.356,0.097-6.183,0.107-7.776,2.3c-0.797,1.097-0.814,2.663-0.414,3.983c0.4,1.323,1.154,2.477,1.81,3.673
+	c1,1.827,1.297,3.657,0.96,5.753c-0.473,4.01-3.716,7.65-8.003,7.08"/>
+<path class="st0" d="M146.109,103.39c-0.037,5.617-4.01,7.387-6.797,7.487c-4.976,0.18-8.336-4.363-10.983-1.52
+	c-2.65,2.843,0.113,25.223,0.113,25.223c-3.433,0.587-6.906,0.997-10.376,1.277c-2.747,0.223-5.514,0.363-8.27,0.247
+	c-2.357-0.097-6.184-0.107-7.777-2.3c-0.797-1.097-0.813-2.664-0.413-3.984c0.4-1.323,1.153-2.476,1.81-3.673
+	c1-1.827,1.296-3.657,0.96-5.753c-0.474-4.01-3.717-7.65-8.004-7.08"/>
+<path class="st2" d="M95.822,23.95l3.593-17.39c0.147-0.703,0.723-1.24,1.436-1.323c1.237-0.147,3.154-0.08,4.47,1.35
+	c0.427,0.46,0.527,1.137,0.294,1.72L99.019,24.91c-0.3,0.757-1.1,1.187-1.897,1.02C96.216,25.744,95.632,24.857,95.822,23.95z"/>
+<path class="st2" d="M81.985,21.954l-1.747-17.67c-0.07-0.717,0.32-1.4,0.977-1.69c1.137-0.507,2.987-1.013,4.67-0.043
+	c0.543,0.313,0.84,0.93,0.793,1.553l-1.357,17.813c-0.063,0.81-0.697,1.46-1.507,1.54C82.895,23.547,82.075,22.877,81.985,21.954
+	L81.985,21.954z"/>
+<path class="st2" d="M107.432,31.28l8.7-15.48c0.353-0.627,1.063-0.963,1.77-0.827c1.223,0.237,3.027,0.88,3.85,2.643
+	c0.267,0.567,0.157,1.243-0.243,1.727L110.185,33.16c-0.516,0.63-1.406,0.797-2.116,0.397c-0.807-0.453-1.094-1.473-0.64-2.28
+	L107.432,31.28z"/>
+<path class="st2" d="M115.049,41.017l15.537-8.593c0.63-0.347,1.41-0.26,1.94,0.227c0.917,0.843,2.113,2.34,1.887,4.273
+	c-0.074,0.623-0.52,1.14-1.114,1.343l-16.896,5.803c-0.77,0.263-1.617-0.063-2.01-0.773c-0.447-0.81-0.154-1.83,0.653-2.277
+	L115.049,41.017z"/>
+<path class="st2" d="M118.652,54.383l17.67-1.747c0.72-0.07,1.403,0.33,1.697,0.99c0.503,1.13,1,2.957,0.056,4.623
+	c-0.313,0.557-0.933,0.873-1.573,0.823l-17.813-1.357c-0.81-0.063-1.46-0.697-1.54-1.507c-0.09-0.92,0.58-1.74,1.503-1.83V54.383z"
+	/>
+</svg>
diff --git a/src/CONST.ts b/src/CONST.ts
index ac42732f2325..cff89c5da642 100755
--- a/src/CONST.ts
+++ b/src/CONST.ts
@@ -2581,6 +2581,11 @@ const CONST = {
             INDIVIDUAL: 'individual',
             NONE: 'none',
         },
+        VERIFICATION_STATE: {
+            LOADING: 'loading',
+            VERIFIED: 'verified',
+            ON_WAITLIST: 'onWaitlist',
+        },
         STATE: {
             STATE_NOT_ISSUED: 2,
             OPEN: 3,
diff --git a/src/components/Icon/Illustrations.ts b/src/components/Icon/Illustrations.ts
index 18ae1792686f..0efb65ed7a61 100644
--- a/src/components/Icon/Illustrations.ts
+++ b/src/components/Icon/Illustrations.ts
@@ -54,6 +54,7 @@ import ThreeLeggedLaptopWoman from '@assets/images/product-illustrations/three_l
 import ToddBehindCloud from '@assets/images/product-illustrations/todd-behind-cloud.svg';
 import ToddWithPhones from '@assets/images/product-illustrations/todd-with-phones.svg';
 import BigVault from '@assets/images/simple-illustrations/emptystate__big-vault.svg';
+import Puzzle from '@assets/images/simple-illustrations/emptystate__puzzlepieces.svg';
 import Abacus from '@assets/images/simple-illustrations/simple-illustration__abacus.svg';
 import Accounting from '@assets/images/simple-illustrations/simple-illustration__accounting.svg';
 import Alert from '@assets/images/simple-illustrations/simple-illustration__alert.svg';
@@ -200,6 +201,7 @@ export {
     TrashCan,
     TeleScope,
     Profile,
+    Puzzle,
     PalmTree,
     LockClosed,
     Gears,
diff --git a/src/languages/en.ts b/src/languages/en.ts
index 5fb71704e9cd..d7f8623dcf15 100755
--- a/src/languages/en.ts
+++ b/src/languages/en.ts
@@ -3212,6 +3212,16 @@ const translations = {
             issuedCardNoShippingDetails: ({assignee}: AssigneeParams) => `issued ${assignee} an Expensify Card! The card will be shipped once shipping details are added.`,
             issuedCardVirtual: ({assignee, link}: IssueVirtualCardParams) => `issued ${assignee} a virtual ${link}! The card can be used right away.`,
             addedShippingDetails: ({assignee}: AssigneeParams) => `${assignee} added shipping details. Expensify Card will arrive in 2-3 business days.`,
+            verifyingHeader: 'Verifying',
+            bankAccountVerifiedHeader: 'Bank account verified',
+            verifyingBankAccount: 'Verifying bank account...',
+            verifyingBankAccountDescription: 'Please wait while we confirm that this account can be used to issue Expensify Cards.',
+            bankAccountVerified: 'Bank account verified!',
+            bankAccountVerifiedDescription: 'You can now issue Expensify Cards to your workspace members.',
+            oneMoreStep: 'One more step...',
+            oneMoreStepDescription: 'Looks like we need to manually verify your bank account. Please head on over to Concierge where your instructions are waiting for you.',
+            gotIt: 'Got it',
+            goToConcierge: 'Go to Concierge',
         },
         categories: {
             deleteCategories: 'Delete categories',
diff --git a/src/languages/es.ts b/src/languages/es.ts
index ae6e9551dd0e..7c690d2bf679 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -3253,6 +3253,16 @@ const translations = {
             issuedCardNoShippingDetails: ({assignee}: AssigneeParams) => `¡emitió a ${assignee} una Tarjeta Expensify! La tarjeta se enviará una vez que se agreguen los detalles de envío.`,
             issuedCardVirtual: ({assignee, link}: IssueVirtualCardParams) => `¡emitió a ${assignee} una ${link} virtual! La tarjeta puede utilizarse inmediatamente.`,
             addedShippingDetails: ({assignee}: AssigneeParams) => `${assignee} agregó los detalles de envío. La Tarjeta Expensify llegará en 2-3 días hábiles.`,
+            verifyingHeader: 'Verificando',
+            bankAccountVerifiedHeader: 'Cuenta bancaria verificada',
+            verifyingBankAccount: 'Verificando cuenta bancaria...',
+            verifyingBankAccountDescription: 'Por favor, espere mientras confirmamos que esta cuenta se puede utilizar para emitir tarjetas Expensify.',
+            bankAccountVerified: '¡Cuenta bancaria verificada!',
+            bankAccountVerifiedDescription: 'Ahora puedes emitir tarjetas de Expensify para los miembros de tu espacio de trabajo.',
+            oneMoreStep: 'Un paso más',
+            oneMoreStepDescription: 'Parece que tenemos que verificar manualmente tu cuenta bancaria. Dirígete a Concierge, donde te esperan las instrucciones.',
+            gotIt: 'Entendido',
+            goToConcierge: 'Ir a Concierge',
         },
         categories: {
             deleteCategories: 'Eliminar categorías',
diff --git a/src/libs/actions/Card.ts b/src/libs/actions/Card.ts
index d588e3195588..2a9faa02b261 100644
--- a/src/libs/actions/Card.ts
+++ b/src/libs/actions/Card.ts
@@ -300,6 +300,7 @@ function updateSettlementAccount(workspaceAccountID: number, policyID: string, s
             key: `${ONYXKEYS.COLLECTION.PRIVATE_EXPENSIFY_CARD_SETTINGS}${workspaceAccountID}`,
             value: {
                 paymentBankAccountID: settlementBankAccountID,
+                isLoading: true,
             },
         },
     ];
@@ -310,6 +311,7 @@ function updateSettlementAccount(workspaceAccountID: number, policyID: string, s
             key: `${ONYXKEYS.COLLECTION.PRIVATE_EXPENSIFY_CARD_SETTINGS}${workspaceAccountID}`,
             value: {
                 paymentBankAccountID: settlementBankAccountID,
+                isLoading: false,
             },
         },
     ];
@@ -320,6 +322,8 @@ function updateSettlementAccount(workspaceAccountID: number, policyID: string, s
             key: `${ONYXKEYS.COLLECTION.PRIVATE_EXPENSIFY_CARD_SETTINGS}${workspaceAccountID}`,
             value: {
                 paymentBankAccountID: currentSettlementBankAccountID,
+                isLoading: false,
+                errors: ErrorUtils.getMicroSecondOnyxErrorWithTranslationKey('common.genericErrorMessage'),
             },
         },
     ];
@@ -614,12 +618,52 @@ function configureExpensifyCardsForPolicy(policyID: string, bankAccountID?: numb
         return;
     }
 
+    const workspaceAccountID = PolicyUtils.getWorkspaceAccountID(policyID);
+
+    const optimisticData: OnyxUpdate[] = [
+        {
+            onyxMethod: Onyx.METHOD.MERGE,
+            key: `${ONYXKEYS.COLLECTION.PRIVATE_EXPENSIFY_CARD_SETTINGS}${workspaceAccountID}`,
+            value: {
+                isLoading: true,
+                isSuccess: false,
+            },
+        },
+    ];
+
+    const successData: OnyxUpdate[] = [
+        {
+            onyxMethod: Onyx.METHOD.MERGE,
+            key: `${ONYXKEYS.COLLECTION.PRIVATE_EXPENSIFY_CARD_SETTINGS}${workspaceAccountID}`,
+            value: {
+                isLoading: false,
+                isSuccess: true,
+            },
+        },
+    ];
+
+    const failureData: OnyxUpdate[] = [
+        {
+            onyxMethod: Onyx.METHOD.MERGE,
+            key: `${ONYXKEYS.COLLECTION.PRIVATE_EXPENSIFY_CARD_SETTINGS}${workspaceAccountID}`,
+            value: {
+                isLoading: false,
+                errors: ErrorUtils.getMicroSecondOnyxErrorWithTranslationKey('common.genericErrorMessage'),
+                isSuccess: false,
+            },
+        },
+    ];
+
     const parameters = {
         policyID,
         bankAccountID,
     };
 
-    API.write(WRITE_COMMANDS.CONFIGURE_EXPENSIFY_CARDS_FOR_POLICY, parameters);
+    API.write(WRITE_COMMANDS.CONFIGURE_EXPENSIFY_CARDS_FOR_POLICY, parameters, {
+        optimisticData,
+        successData,
+        failureData,
+    });
 }
 
 function issueExpensifyCard(policyID: string, feedCountry: string, data?: IssueNewCardData) {
diff --git a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardBankAccounts.tsx b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardBankAccounts.tsx
index b8b8776df048..f296b16c13f6 100644
--- a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardBankAccounts.tsx
+++ b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardBankAccounts.tsx
@@ -2,9 +2,13 @@ import type {StackScreenProps} from '@react-navigation/stack';
 import React from 'react';
 import {View} from 'react-native';
 import {useOnyx} from 'react-native-onyx';
+import BlockingView from '@components/BlockingViews/BlockingView';
+import Button from '@components/Button';
 import HeaderWithBackButton from '@components/HeaderWithBackButton';
 import getBankIcon from '@components/Icon/BankIcons';
 import * as Expensicons from '@components/Icon/Expensicons';
+import * as Illustrations from '@components/Icon/Illustrations';
+import LottieAnimations from '@components/LottieAnimations';
 import MenuItem from '@components/MenuItem';
 import ScreenWrapper from '@components/ScreenWrapper';
 import Text from '@components/Text';
@@ -16,6 +20,7 @@ import * as PolicyUtils from '@libs/PolicyUtils';
 import Navigation from '@navigation/Navigation';
 import type {SettingsNavigatorParamList} from '@navigation/types';
 import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
+import variables from '@styles/variables';
 import * as Card from '@userActions/Card';
 import CONST from '@src/CONST';
 import ONYXKEYS from '@src/ONYXKEYS';
@@ -35,14 +40,30 @@ function WorkspaceExpensifyCardBankAccounts({route}: WorkspaceExpensifyCardBankA
 
     const workspaceAccountID = PolicyUtils.getWorkspaceAccountID(policyID);
 
+    const [cardSettings] = useOnyx(`${ONYXKEYS.COLLECTION.PRIVATE_EXPENSIFY_CARD_SETTINGS}${workspaceAccountID}`);
+    const [cardOnWaitlist] = useOnyx(`${ONYXKEYS.COLLECTION.NVP_EXPENSIFY_ON_CARD_WAITLIST}${policyID}`);
+
+    const getVerificationState = () => {
+        if (cardOnWaitlist) {
+            return CONST.EXPENSIFY_CARD.VERIFICATION_STATE.ON_WAITLIST;
+        }
+        if (cardSettings?.isSuccess) {
+            return CONST.EXPENSIFY_CARD.VERIFICATION_STATE.VERIFIED;
+        }
+
+        if (cardSettings?.isLoading) {
+            return CONST.EXPENSIFY_CARD.VERIFICATION_STATE.LOADING;
+        }
+
+        return '';
+    };
+
     const handleAddBankAccount = () => {
         Navigation.navigate(ROUTES.BANK_ACCOUNT_WITH_STEP_TO_OPEN.getRoute('new', policyID, ROUTES.WORKSPACE_EXPENSIFY_CARD.getRoute(policyID)));
     };
 
     const handleSelectBankAccount = (value?: number) => {
         Card.configureExpensifyCardsForPolicy(policyID, value);
-        Card.updateSettlementAccount(workspaceAccountID, policyID, value);
-        Navigation.navigate(ROUTES.WORKSPACE_EXPENSIFY_CARD_ISSUE_NEW.getRoute(policyID));
     };
 
     const renderBankOptions = () => {
@@ -75,6 +96,82 @@ function WorkspaceExpensifyCardBankAccounts({route}: WorkspaceExpensifyCardBankA
         });
     };
 
+    const verificationState = getVerificationState();
+    const isInVerificationState = !!verificationState;
+
+    const renderVerificationStateView = () => {
+        switch (verificationState) {
+            case CONST.EXPENSIFY_CARD.VERIFICATION_STATE.LOADING:
+                return (
+                    <BlockingView
+                        title={translate('workspace.expensifyCard.verifyingBankAccount')}
+                        subtitle={translate('workspace.expensifyCard.verifyingBankAccountDescription')}
+                        animation={LottieAnimations.ReviewingBankInfo}
+                        animationStyles={styles.loadingVBAAnimation}
+                        animationWebStyle={styles.loadingVBAAnimationWeb}
+                        subtitleStyle={styles.textLabelSupporting}
+                        containerStyle={styles.pb20}
+                    />
+                );
+            case CONST.EXPENSIFY_CARD.VERIFICATION_STATE.ON_WAITLIST:
+                return (
+                    <>
+                        <BlockingView
+                            title={translate('workspace.expensifyCard.oneMoreStep')}
+                            subtitle={translate('workspace.expensifyCard.oneMoreStepDescription')}
+                            icon={Illustrations.Puzzle}
+                            subtitleStyle={styles.textLabelSupporting}
+                            iconHeight={variables.cardPreviewHeight}
+                            iconWidth={variables.cardPreviewHeight}
+                        />
+                        <Button
+                            success
+                            large
+                            text={translate('workspace.expensifyCard.goToConcierge')}
+                            style={[styles.m5]}
+                            pressOnEnter
+                            onPress={() => Navigation.navigate(ROUTES.CONCIERGE)}
+                        />
+                    </>
+                );
+            case CONST.EXPENSIFY_CARD.VERIFICATION_STATE.VERIFIED:
+                return (
+                    <>
+                        <BlockingView
+                            title={translate('workspace.expensifyCard.bankAccountVerified')}
+                            subtitle={translate('workspace.expensifyCard.bankAccountVerifiedDescription')}
+                            animation={LottieAnimations.Fireworks}
+                            animationStyles={styles.loadingVBAAnimation}
+                            animationWebStyle={styles.loadingVBAAnimationWeb}
+                            subtitleStyle={styles.textLabelSupporting}
+                        />
+                        <Button
+                            success
+                            large
+                            text={translate('workspace.expensifyCard.gotIt')}
+                            style={[styles.m5]}
+                            pressOnEnter
+                            onPress={() => Navigation.navigate(ROUTES.WORKSPACE_EXPENSIFY_CARD_ISSUE_NEW.getRoute(policyID))}
+                        />
+                    </>
+                );
+            default:
+                return null;
+        }
+    };
+
+    const getHeaderButtonText = () => {
+        switch (verificationState) {
+            case CONST.EXPENSIFY_CARD.VERIFICATION_STATE.ON_WAITLIST:
+            case CONST.EXPENSIFY_CARD.VERIFICATION_STATE.LOADING:
+                return translate('workspace.expensifyCard.verifyingHeader');
+            case CONST.EXPENSIFY_CARD.VERIFICATION_STATE.VERIFIED:
+                return translate('workspace.expensifyCard.bankAccountVerifiedHeader');
+            default:
+                return translate('workspace.expensifyCard.chooseBankAccount');
+        }
+    };
+
     return (
         <AccessOrNotFoundWrapper
             accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN, CONST.POLICY.ACCESS_VARIANTS.PAID]}
@@ -89,17 +186,20 @@ function WorkspaceExpensifyCardBankAccounts({route}: WorkspaceExpensifyCardBankA
                 <HeaderWithBackButton
                     shouldShowBackButton
                     onBackButtonPress={() => Navigation.goBack()}
-                    title={translate('workspace.expensifyCard.chooseBankAccount')}
+                    title={getHeaderButtonText()}
                 />
-                <View style={styles.flex1}>
-                    <Text style={[styles.mh5, styles.mb3]}>{translate('workspace.expensifyCard.chooseExistingBank')}</Text>
-                    {renderBankOptions()}
-                    <MenuItem
-                        icon={Expensicons.Plus}
-                        title={translate('workspace.expensifyCard.addNewBankAccount')}
-                        onPress={handleAddBankAccount}
-                    />
-                </View>
+                {isInVerificationState && renderVerificationStateView()}
+                {!isInVerificationState && (
+                    <View style={styles.flex1}>
+                        <Text style={[styles.mh5, styles.mb3]}>{translate('workspace.expensifyCard.chooseExistingBank')}</Text>
+                        {renderBankOptions()}
+                        <MenuItem
+                            icon={Expensicons.Plus}
+                            title={translate('workspace.expensifyCard.addNewBankAccount')}
+                            onPress={handleAddBankAccount}
+                        />
+                    </View>
+                )}
             </ScreenWrapper>
         </AccessOrNotFoundWrapper>
     );
diff --git a/src/types/onyx/ExpensifyCardSettings.ts b/src/types/onyx/ExpensifyCardSettings.ts
index 05c6667e7c05..2b91ddcfa525 100644
--- a/src/types/onyx/ExpensifyCardSettings.ts
+++ b/src/types/onyx/ExpensifyCardSettings.ts
@@ -22,6 +22,12 @@ type ExpensifyCardSettings = OnyxCommon.OnyxValueWithOfflineFeedback<{
 
     /** Whether we are loading the data via the API */
     isLoading?: boolean;
+
+    /** Error message */
+    errors?: OnyxCommon.Errors;
+
+    /** Whether the request was successful */
+    isSuccess?: boolean;
 }>;
 
 export default ExpensifyCardSettings;
diff --git a/src/types/onyx/index.ts b/src/types/onyx/index.ts
index aaf15d764157..7702da678105 100644
--- a/src/types/onyx/index.ts
+++ b/src/types/onyx/index.ts
@@ -120,11 +120,11 @@ export type {
     BlockedFromConcierge,
     Card,
     CardList,
+    CardOnWaitlist,
     Credentials,
     Currency,
     CurrencyList,
     CustomStatusDraft,
-    CardOnWaitlist,
     DismissedReferralBanners,
     Download,
     WorkspaceCardsList,
