         }
     }
 
+    private var shouldUseTouchId: Bool {
+        guard let walletManager = self.walletManager else { return false }
+        return LAContext.canUseTouchID && !walletManager.pinLoginRequired && walletManager.spendingLimit > 0
+    }
+
     @objc func touchIdTapped() {
         walletManager?.authenticate(touchIDPrompt: S.LoginScreen.touchIdPrompt, completion: { success in
             if success {

    }

    private func addTouchIdButton() {
        guard let walletManager = walletManager else { return }
        guard LAContext.canUseTouchID && !walletManager.pinLoginRequired else { return }
        view.addSubview(touchId)
        touchId.addTarget(self, action: #selector(touchIdTapped), for: .touchUpInside)
        touchId.constrain([


    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        if shouldUseTouchId && !hasAttemptedToShowTouchId {
            hasAttemptedToShowTouchId = true
            touchIdTapped()
        }
