Sentinel is the free Android app that turns a merchant's SIM phone into a verification endpoint. It reads the mobile-money payment confirmation and forwards it to KODA — so every payment on that SIM is verified automatically. It comes in two builds; pick the one that fits.
Choose your build — both are free, both verify the same way
They differ only in how the phone reads the payment and how easily they install. You can even run one on some phones and the other on others.
Recommended · most secure
SMS build
Most reliable & hardest to fake — reads the real operator SMS, telephony-gated, with our strongest fraud protection.
Recovers payments missed during a reboot; works even if notifications are off.
Needs the Play Protect step below (one minute, once).
Recommendation: install the SMS build — it’s the most secure and reliable. Only fall back to the notification build if the SMS build won’t install on a given phone. The steps below work for either file.
Install & pair (about 3 minutes)
You'll need the Android phone that holds the SIM you receive money on (Android 8.0 / 2017 or newer), and you must be signed in to your KODA account. These steps work for either build above.
Download a build. Tap one of the two download buttons above on the phone itself. When it finishes, open it by tapping the notification, or find the .apk file in your Files app under Downloads and tap it.
Allow the install. Android will warn that the file is from an "unknown source" (normal for any app not from Google Play). Tap Settings on that prompt, turn on Allow from this source, then press Back and tap Install. You can turn that setting back off afterwards.
Open KODA Sentinel once it finishes installing (tap Open, or find the ✓ Sentinel icon in your app drawer). The server is already set to https://kodajnn.com — leave it exactly as it is.
Get your pairing token from KODA. On any device, sign in at kodajnn.com/app → open the left-hand menu → Sentinel devices. Choose the operator this SIM belongs to (Orange Money, M-Pesa, Airtel Money, Africell…), give the phone a label like "Front till", then tap Enroll a device. A pairing token starting with dvk_… appears — tap Copy.
Pair the phone. Back in the Sentinel app, paste that dvk_… token into the field labelled "…or paste the pairing token", then tap PAIR THIS PHONE. The status should change to Paired ✅. (If you have KODA open on the same phone, you can instead tap Scan QR and point it at the QR code shown on the Enroll screen.)
Grant the SMS permission when Android asks. Sentinel needs this to read the operator's payment confirmations. It reads only mobile-money SMS — enforced by an on-device sender filter — and never your personal messages, contacts, or anything else.
Confirm it's working. The app's main screen should show Paired and Listening. In KODA → Sentinel devices, the phone now shows as online with a recent heartbeat. You're done.
Requires Android 8.0+ (2017 or newer). One phone can hold two SIMs (dual-SIM) and Sentinel reads both — so you rarely need one phone per number.
Keep Sentinel running (important — do this once)
Android aggressively "sleeps" background apps to save battery. If it sleeps Sentinel, payments stop being read automatically until you re-open the app. Turn that off once and it will run reliably, including after a reboot:
Allow auto-start if your phone has it (common on Tecno, Infinix, Xiaomi, Oppo, Samsung): Settings → Apps → KODA Sentinel → Auto-launch / Autostart → On.
Keep the phone powered and online: leave it charging near the till on Wi-Fi or mobile data. Sentinel uses very little data (just the payment SMS).
"App blocked" / "App not installed" (Play Protect)
Mostly affects the SMS build. The notification build has no SMS permission, so Play Protect rarely blocks it — if the SMS build is blocked and shows "App not installed" ("Application non installée"), either switch to the notification build above, or turn Play Protect's scan off for a minute, install, then turn it back on:
Open the Play Store → tap your profile picture (top-right) → Play Protect.
Tap the ⚙ Settings (gear, top-right) → turn OFF "Scan apps with Play Protect" ("Analyser les applications par Play Protect").
Go back to Files → Downloads, tap the KODA Sentinel .apk → Install. It now installs.
Open Sentinel, pair and grant the SMS permission. You can then turn Play Protect back ON — the app stays installed and running.
Still "App not installed" with Play Protect off? Uninstall any older "KODA Sentinel" first (a different signature blocks the update), make sure there's free storage, and re-download the APK (an interrupted download won't install).
If something else doesn't work
"Install blocked": repeat step 2 — the "Allow from this source" switch must be on for the app you're installing from (usually Files or Chrome).
Token rejected / "already used": pairing tokens are single-use. Go back to Sentinel devices → Enroll a device and generate a fresh dvk_….
Paired but payments aren't verifying: make sure the SIM that receives the money is in this phone, that you granted the SMS permission (step 6), and that battery optimization is off (above). As a fallback you can always confirm a payment by pasting the operator SMS into Verify console in KODA.
Phone shows "offline" in KODA: open the Sentinel app once to wake it, and complete the "Keep Sentinel running" steps so it stays online.
The app then runs quietly in the background and keeps working after a reboot.
What it does — and what it never does
Reads the confirmation SMS your operator (Orange, M-Pesa, Airtel, Africell…) sends when you receive money, and forwards it to KODA over an encrypted connection.
Ignores every other SMS — personal messages never leave the phone (filtered on-device by sender).
Never reads contacts, sends SMS, or touches your money. KODA only confirms payments; funds stay on your mobile-money account.
Coming to Google Play
Because Sentinel reads payment SMS, Google Play requires a special permissions review before listing. We're completing that submission. In the meantime this direct download is the official, safe way to install — it's the same signed app that will appear on Play.