# Detect with View Key

### **Detect with View Key**

The recipient (or their local scanner) continuously monitors new on-chain announcements.\
Using their **View Key**, the client attempts to decrypt each ciphertext.

If decryption succeeds, the client identifies:

* That the transaction belongs to this wallet.
* Which stealth address holds the funds.
* What token and amount were received.

The decryption process happens **entirely client-side**, ensuring that:

* No server or validator can scan for you.
* Your wallet address is never revealed.
* Scanning can even be delegated safely using the View Key only.

💡 Example detection logic:

```ts
if (decrypt(ciphertext, user.viewKey)) {
   inbox.add({ senderHint, asset, amount, stealthAddress });
}
```
