diff --git a/Sources/AppResources/Resources/en.lproj/Localizable.strings b/Sources/AppResources/Resources/en.lproj/Localizable.strings
index 4bf92d9d2a6c07afc0d531d0ce18ca95b7da617b..6263b3247e6477b738e97ae78277c500e987a927 100644
--- a/Sources/AppResources/Resources/en.lproj/Localizable.strings
+++ b/Sources/AppResources/Resources/en.lproj/Localizable.strings
@@ -812,7 +812,7 @@
 "onboarding.emailConfirmation.title"
 = "Please enter the #code# sent to your email.";
 "onboarding.emailConfirmation.subtitle"
-= "We sent a verification code to %@.";
+= "We sent a verification code to %@";
 "onboarding.emailConfirmation.input"
 = "Code";
 "onboarding.emailConfirmation.next"
@@ -846,7 +846,7 @@
 "onboarding.phoneConfirmation.title"
 = "Please enter the #code# sent to your phone through #SMS#.";
 "onboarding.phoneConfirmation.subtitle"
-= "We sent a verification code to %@.";
+= "We sent a verification code to %@";
 "onboarding.phoneConfirmation.input"
 = "Code";
 "onboarding.phoneConfirmation.next"
diff --git a/Sources/AppResources/Strings.swift b/Sources/AppResources/Strings.swift
index 0925582807aa61bf988a83890180a25dc9eb324b..a2b35b00bdcb9ba9328a5fe27ff45b9c74c425a5 100644
--- a/Sources/AppResources/Strings.swift
+++ b/Sources/AppResources/Strings.swift
@@ -731,7 +731,7 @@ public enum Localized {
       public static func resend(_ p1: Any) -> String {
         return Localized.tr("Localizable", "onboarding.emailConfirmation.resend", String(describing: p1))
       }
-      /// We sent a verification code to %@.
+      /// We sent a verification code to %@
       public static func subtitle(_ p1: Any) -> String {
         return Localized.tr("Localizable", "onboarding.emailConfirmation.subtitle", String(describing: p1))
       }
@@ -771,7 +771,7 @@ public enum Localized {
       public static func resend(_ p1: Any) -> String {
         return Localized.tr("Localizable", "onboarding.phoneConfirmation.resend", String(describing: p1))
       }
-      /// We sent a verification code to %@.
+      /// We sent a verification code to %@
       public static func subtitle(_ p1: Any) -> String {
         return Localized.tr("Localizable", "onboarding.phoneConfirmation.subtitle", String(describing: p1))
       }
diff --git a/Sources/OnboardingFeature/Controllers/OnboardingCodeController.swift b/Sources/OnboardingFeature/Controllers/OnboardingCodeController.swift
index 8fd333cbdb11af72c101f78dbdcd67a7d407b83c..4075ad2cd4e26a62fb5de329b47c00dc27aae823 100644
--- a/Sources/OnboardingFeature/Controllers/OnboardingCodeController.swift
+++ b/Sources/OnboardingFeature/Controllers/OnboardingCodeController.swift
@@ -6,6 +6,7 @@ import AppResources
 import Dependencies
 import AppNavigation
 import DrawerFeature
+import CountryListFeature
 import ScrollViewController
 
 public final class OnboardingCodeController: UIViewController {
@@ -53,7 +54,9 @@ public final class OnboardingCodeController: UIViewController {
     screenView.setupSubtitle(
       isEmail ?
       Localized.Onboarding.EmailConfirmation.subtitle(content) :
-      Localized.Onboarding.PhoneConfirmation.subtitle(content)
+      Localized.Onboarding.PhoneConfirmation.subtitle(
+        "\(Country.findFrom(content).prefix)\(content.dropLast(2))"
+      )
     )
 
     screenView.didTapInfo = { [weak self] in
diff --git a/Sources/OnboardingFeature/ViewModels/OnboardingCodeViewModel.swift b/Sources/OnboardingFeature/ViewModels/OnboardingCodeViewModel.swift
index 570edad96cbccdc21520d50846c3edb16e467656..66f497f7258d9f394f5dc5cb3303800585ef8e3b 100644
--- a/Sources/OnboardingFeature/ViewModels/OnboardingCodeViewModel.swift
+++ b/Sources/OnboardingFeature/ViewModels/OnboardingCodeViewModel.swift
@@ -31,7 +31,7 @@ final class OnboardingCodeViewModel {
   private var timer: Timer?
   private let isEmail: Bool
   private let content: String
-  private let confirmationId: String
+  private var confirmationId: String
   private let stateSubject = CurrentValueSubject<ViewState, Never>(.init())
 
   init(
@@ -60,6 +60,18 @@ final class OnboardingCodeViewModel {
       }
       self.stateSubject.value.resendDebouncer -= 1
     }
+    bgQueue.schedule { [weak self] in
+      guard let self else { return }
+      do {
+        self.confirmationId = try self.messenger.ud.tryGet()
+          .sendRegisterFact(.init(
+            type: self.isEmail ? .email : .phone,
+            value: self.content
+          ))
+      } catch {
+        self.hudManager.show(.init(error: error))
+      }
+    }
   }
 
   func didTapNext() {
@@ -67,7 +79,7 @@ final class OnboardingCodeViewModel {
     bgQueue.schedule { [weak self] in
       guard let self else { return }
       do {
-        try self.messenger.ud.get()!.confirmFact(
+        try self.messenger.ud.tryGet().confirmFact(
           confirmationId: self.confirmationId,
           code: self.stateSubject.value.input
         )
diff --git a/Sources/OnboardingFeature/ViewModels/OnboardingEmailViewModel.swift b/Sources/OnboardingFeature/ViewModels/OnboardingEmailViewModel.swift
index 0af88c771abde62acfec00e6b1f7220e6bbff82c..bcfdbdaa967ee2bfcef9b6f5be581e4386b32c1e 100644
--- a/Sources/OnboardingFeature/ViewModels/OnboardingEmailViewModel.swift
+++ b/Sources/OnboardingFeature/ViewModels/OnboardingEmailViewModel.swift
@@ -39,8 +39,11 @@ final class OnboardingEmailViewModel {
     bgQueue.schedule { [weak self] in
       guard let self else { return }
       do {
-        let confirmationId = try self.messenger.ud.get()!.sendRegisterFact(
-          .init(type: .email, value: self.stateSubject.value.input)
+        let confirmationId = try self.messenger.ud.tryGet()
+          .sendRegisterFact(.init(
+            type: .email,
+            value: self.stateSubject.value.input
+          )
         )
         self.hudManager.hide()
         self.stateSubject.value.confirmationId = confirmationId
diff --git a/Sources/OnboardingFeature/ViewModels/OnboardingPhoneViewModel.swift b/Sources/OnboardingFeature/ViewModels/OnboardingPhoneViewModel.swift
index 5fa427fbab976ea59e1c7c56abb3ecc28dd673d3..2787b483b2f05b5587a7fb4297c1ecab192c69a6 100644
--- a/Sources/OnboardingFeature/ViewModels/OnboardingPhoneViewModel.swift
+++ b/Sources/OnboardingFeature/ViewModels/OnboardingPhoneViewModel.swift
@@ -48,8 +48,11 @@ final class OnboardingPhoneViewModel {
       guard let self else { return }
       let content = "\(self.stateSubject.value.input)\(self.stateSubject.value.country.code)"
       do {
-        let confirmationId = try self.messenger.ud.get()!.sendRegisterFact(
-          .init(type: .phone, value: content)
+        let confirmationId = try self.messenger.ud.tryGet()
+          .sendRegisterFact(.init(
+            type: .phone,
+            value: content
+          )
         )
         self.hudManager.hide()
         self.stateSubject.value.content = content
diff --git a/Sources/ProfileFeature/ViewModels/ProfileCodeViewModel.swift b/Sources/ProfileFeature/ViewModels/ProfileCodeViewModel.swift
index 804dfa78043ca097082f6c6a6b0fc45a1ff38911..3e46701273b180c4876e0afe257d9d279c3897d1 100644
--- a/Sources/ProfileFeature/ViewModels/ProfileCodeViewModel.swift
+++ b/Sources/ProfileFeature/ViewModels/ProfileCodeViewModel.swift
@@ -30,7 +30,7 @@ final class ProfileCodeViewModel {
   private var timer: Timer?
   private let isEmail: Bool
   private let content: String
-  private let confirmationId: String
+  private var confirmationId: String
   private let stateSubject = CurrentValueSubject<ViewState, Never>(.init())
 
   init(
@@ -59,6 +59,18 @@ final class ProfileCodeViewModel {
       }
       self.stateSubject.value.resendDebouncer -= 1
     }
+    bgQueue.schedule { [weak self] in
+      guard let self else { return }
+      do {
+        self.confirmationId = try self.messenger.ud.tryGet()
+          .sendRegisterFact(.init(
+            type: self.isEmail ? .email : .phone,
+            value: self.content
+          ))
+      } catch {
+        self.hudManager.show(.init(error: error))
+      }
+    }
   }
 
   func didTapNext() {
@@ -66,7 +78,7 @@ final class ProfileCodeViewModel {
     bgQueue.schedule { [weak self] in
       guard let self else { return }
       do {
-        try self.messenger.ud.get()!.confirmFact(
+        try self.messenger.ud.tryGet().confirmFact(
           confirmationId: self.confirmationId,
           code: self.stateSubject.value.input
         )
diff --git a/Sources/ProfileFeature/ViewModels/ProfileEmailViewModel.swift b/Sources/ProfileFeature/ViewModels/ProfileEmailViewModel.swift
index 01d93e61791c15671cec5272088bbe21628b304a..a71210c35c065ccc7d7fb492c9f9b7361b851f03 100644
--- a/Sources/ProfileFeature/ViewModels/ProfileEmailViewModel.swift
+++ b/Sources/ProfileFeature/ViewModels/ProfileEmailViewModel.swift
@@ -39,8 +39,11 @@ final class ProfileEmailViewModel {
     bgQueue.schedule { [weak self] in
       guard let self else { return }
       do {
-        let confirmationId = try self.messenger.ud.get()!.sendRegisterFact(
-          .init(type: .email, value: self.stateSubject.value.input)
+        let confirmationId = try self.messenger.ud.tryGet()
+          .sendRegisterFact(.init(
+            type: .email,
+            value: self.stateSubject.value.input
+          )
         )
         self.hudManager.hide()
         self.stateSubject.value.confirmationId = confirmationId
diff --git a/Sources/ProfileFeature/ViewModels/ProfilePhoneViewModel.swift b/Sources/ProfileFeature/ViewModels/ProfilePhoneViewModel.swift
index 02c0d7546244200437ca8f016a51a1506bee6ebd..b5749cea59afd61e86bd21230f6240c5674c099b 100644
--- a/Sources/ProfileFeature/ViewModels/ProfilePhoneViewModel.swift
+++ b/Sources/ProfileFeature/ViewModels/ProfilePhoneViewModel.swift
@@ -48,10 +48,12 @@ final class ProfilePhoneViewModel {
       guard let self else { return }
       let content = "\(self.stateSubject.value.input)\(self.stateSubject.value.country.code)"
       do {
-        let confirmationId = try self.messenger.ud.get()!.sendRegisterFact(
-          .init(type: .phone, value: content)
+        let confirmationId = try self.messenger.ud.tryGet()
+          .sendRegisterFact(.init(
+            type: .phone,
+            value: content
+          )
         )
-
         self.hudManager.hide()
         self.stateSubject.value.content = content
         self.stateSubject.value.confirmationId = confirmationId
diff --git a/Sources/ProfileFeature/ViewModels/ProfileViewModel.swift b/Sources/ProfileFeature/ViewModels/ProfileViewModel.swift
index 4d8e382e75e0524549f6c4528cd451b1b92ec34a..60cddb5d016da02b953722880b9a5e5c443dfdfd 100644
--- a/Sources/ProfileFeature/ViewModels/ProfileViewModel.swift
+++ b/Sources/ProfileFeature/ViewModels/ProfileViewModel.swift
@@ -91,7 +91,7 @@ final class ProfileViewModel {
     bgQueue.schedule { [weak self] in
       guard let self else { return }
       do {
-        try self.messenger.ud.get()!.removeFact(
+        try self.messenger.ud.tryGet().removeFact(
           .init(
             type: isEmail ? .email : .phone,
             value: isEmail ? self.emailStored! : self.phoneStored!