Simple
Kalda can let you know on your phone when something happens, such as:
- A swap finishing or being refunded, or a move between your private and public Zcash balances finishing.
- A new secret message (who it's from, never what it says).
- XRP locked for you, arriving, going out on schedule or coming back.
These notifications are made on your phone. No company sends them, and Kalda has no server of its own that knows about you. Kalda asks for permission the first time one would be useful, and you can turn them off in your phone's settings.
Detailed
Most apps rely on a push service: the app maker's server sends a message to your phone through Apple or Google. Kalda's notifications are local instead: your phone looks at public networks directly and shows the notification itself. That works because:
- Public blockchains can be read by anyone, so your phone can see when a payment has arrived or a transaction has settled without asking anyone's permission.
- Cross-chain swap networks publish the status of every swap, so the outcome of a swap (paid out or refunded) can be looked up openly.
- The XRP Ledger keeps escrows (locks) as public records, showing who will receive what and when.
- Zcash shielded messages are encrypted to the recipient, so only your own wallet can discover and read them.
What to expect
Your phone's operating system decides when apps may run in the background, to save battery, so a notification can arrive a little after the event itself. Private Zcash messages are found while Kalda is open, because only your wallet can decrypt them.
In depth
Push and pull
There are two ways to learn about events. In a push model, a server watches for events and sends them to a device. In a pull model, the device asks the source itself. Push saves the device work; pull avoids relying on, and revealing yourself to, a middleman.
A push notification needs a device token registered with the platform's notification service and with the app's server. That pairing links one device to its activity, so whoever runs the server learns what the user cares about and when. A pull model keeps that knowledge on the device.
Reading public state
Blockchains are replicated public ledgers. Any client can ask a node for an account's balance, a transaction's status or a ledger object, much as anyone can read a public notice board. Light clients go further and check what they're told against block headers instead of trusting the server.
Finding private payments
In shielded systems such as Zcash, outputs are encrypted to the recipient's key. A wallet discovers its own payments by trial decryption: it tries to decrypt each new output with its viewing key, and only outputs meant for it succeed. Nobody else can tell which outputs belong to whom, which is why this scanning has to happen on the recipient's own device.
Settled, not just sent
A transaction is final once the network's consensus can no longer reverse it. In proof-of-work chains finality is probabilistic and grows with each confirmation; in chains such as the XRP Ledger, a validated ledger is final within seconds. A trustworthy "complete" notification waits for that point.