diff --git a/Sources/XXMessengerClient/Messenger/Functions/MessengerVerifyContact.swift b/Sources/XXMessengerClient/Messenger/Functions/MessengerVerifyContact.swift
new file mode 100644
index 0000000000000000000000000000000000000000..3d3d40e30c3f9dfc5a347fd759b8b61013480657
--- /dev/null
+++ b/Sources/XXMessengerClient/Messenger/Functions/MessengerVerifyContact.swift
@@ -0,0 +1,25 @@
+import XCTestDynamicOverlay
+import XXClient
+
+public struct MessengerVerifyContact {
+  public var run: (Contact) throws -> Bool
+
+  public func callAsFunction(_ contact: Contact) throws -> Bool {
+    try run(contact)
+  }
+}
+
+extension MessengerVerifyContact {
+  public static func live(_ env: MessengerEnvironment) -> MessengerVerifyContact {
+    MessengerVerifyContact { contact in
+      // TODO:
+      return false
+    }
+  }
+}
+
+extension MessengerVerifyContact {
+  public static let unimplemented = MessengerVerifyContact(
+    run: XCTUnimplemented("\(Self.self)")
+  )
+}
diff --git a/Sources/XXMessengerClient/Messenger/Messenger.swift b/Sources/XXMessengerClient/Messenger/Messenger.swift
index cc48651c730cd7cce79aa7fda28265d4fa6ea5a1..e2d31f69350c83022d18d8b5dd3698eddff59255 100644
--- a/Sources/XXMessengerClient/Messenger/Messenger.swift
+++ b/Sources/XXMessengerClient/Messenger/Messenger.swift
@@ -21,6 +21,7 @@ public struct Messenger {
   public var destroy: MessengerDestroy
   public var searchUsers: MessengerSearchUsers
   public var registerForNotifications: MessengerRegisterForNotifications
+  public var verifyContact: MessengerVerifyContact
 }
 
 extension Messenger {
@@ -45,7 +46,8 @@ extension Messenger {
       waitForNodes: .live(env),
       destroy: .live(env),
       searchUsers: .live(env),
-      registerForNotifications: .live(env)
+      registerForNotifications: .live(env),
+      verifyContact: .live(env)
     )
   }
 }
@@ -71,6 +73,7 @@ extension Messenger {
     waitForNodes: .unimplemented,
     destroy: .unimplemented,
     searchUsers: .unimplemented,
-    registerForNotifications: .unimplemented
+    registerForNotifications: .unimplemented,
+    verifyContact: .unimplemented
   )
 }
diff --git a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerVerifyContactTests.swift b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerVerifyContactTests.swift
new file mode 100644
index 0000000000000000000000000000000000000000..255a722083460d67da8db3ee037fa9fe7f4b075e
--- /dev/null
+++ b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerVerifyContactTests.swift
@@ -0,0 +1,16 @@
+import CustomDump
+import XCTest
+import XXClient
+@testable import XXMessengerClient
+
+final class MessengerVerifyContactTests: XCTestCase {
+  func testVerify() throws {
+    var env: MessengerEnvironment = .unimplemented
+    let verify: MessengerVerifyContact = .live(env)
+    let contact = Contact.unimplemented("data".data(using: .utf8)!)
+
+    let result = try verify(contact)
+
+    XCTAssertNoDifference(result, false)
+  }
+}