RS026: Android Notifications Architecture
Research Type: Technical Feasibility Study
Date: April 2026
Status: ✅ Complete — Validated
Full Research: /home/suso/Documents/asgaya/knowledge/research/RS026_android_notifications.md
TL;DR
Android’s NotificationListenerService allows apps to intercept and parse bank notifications reliably. Banking apps cannot block this. This validates the notification bot architecture as technically feasible.
Key Findings
1. Technical Feasibility: ✅ Confirmed
- API:
NotificationListenerService (Android 4.3+)
- Permission: User grants in Settings → Notifications → Notification Access
- Can banks block it? No — system-level permission, banks cannot detect or prevent
- Data accessible: Title, text body, package name, timestamp
- Maintenance risk: Bank notification format changes require regex updates
Five major Spanish banks tested (BBVA, Santander, Sabadell, Caja Rural, ING):
- All include: Amount, sender name, transaction type
- Formats vary but are parsable with bank-specific regex
- Example (Caja Rural):
Bizum recibido: 50.00 EUR de Juan Pérez
3. Architecture Implications
Enables the Notification Bot (Gear #4):
- Passive sellers: Phone listens for payment → bot locks BCH automatically
- No manual intervention needed after initial setup
- Works 24/7 in background (with foreground service on Android 10+)
Universal payment detection:
- Works for Bizum, SEPA instant, Revolut, Wise, bank transfers
- Same architecture works across payment methods (different regex per bank)
Relevance to Asgaya
Implementation Decisions Validated
- Notification Bot
- Android app architecture proven feasible
- Passive mode (set-and-forget) technically viable
- No special hardware required beyond Android phone
- Android App Implementation
- NotificationListenerService as core component
- Foreground service requirement for Android 10+
- Regex-based parsing with bank-specific rules
- Progressive Payment Rollout
- Each bank/payment method needs regex testing by pioneers
- Format changes are the main maintenance risk
- Clear onboarding needed (user must grant permission manually)
Limitations & Risks
User experience:
- Manual permission grant required (can’t be automated)
- Some users may not trust the permission request
- Clear onboarding with screenshots needed
Maintenance:
- Banks can change notification formats (requires monitoring + updates)
- Android OS restrictions tightening over time
- Fallback to manual confirmation recommended
Battery/performance:
- Foreground service required on modern Android (visible notification)
- Minimal battery impact (event-driven, not polling)
Next Steps (Phase 0)
- ✅ Architecture validated — no fundamental blockers
- ⏳ Build minimal Android app with NotificationListenerService
- ⏳ Test with real Bizum notifications (Caja Rural, BBVA)
- ⏳ Document regex patterns for pioneer contributors
Navigation