LaWallet POS
ar.lawallet.lawallet_pos
El Gorila 🇦🇷 agustin@primal.net Lightning + Nostr point-of-sale for Android
Native Flutter point-of-sale for the LaWallet stack. Charge in sats, ARS or USD, generate real LNURL-pay invoices, accept NFC / Boltcard tap-to-pay, print receipts on ZCS thermal printers, and keep customer tabs plus a session order history. Built for ZCS terminals (armeabi-v7a) and modern arm64 devices.
First release: Jul 2, 2026, 5 total releases.
Most recent release: Oct 23, 2026.
Appears in 1 app stack.
2,100 sats / 1 zaps received in the past year.
Sats Received
Underlying data available via MCP: app_zaps, app_releases.
Zap Count
Underlying data available via MCP: app_zaps, app_releases.
Releases
- Oct 23, 2026 0.2.8## Tarjetas, bloqueo de flujo y reverificación completa - **Nueva miniapp Tarjetas:** administrá las tarjetas LaWallet desde el POS. Iniciá sesión escaneando tu token, recargá la billetera de una tarjeta con el mismo teclado de montos de la caja (con cambio de moneda), recuperá tarjetas e imprimí automáticamente. Al acercar una tarjeta, el equipo vibra y suena. - **Bloquear la caja en un flujo:** desde la barra de navegación podés dejar el POS fijo en el menú, la caja, Tarjetas u otra miniapp, para que el cliente no salga de ahí. Para desbloquear se pide el PIN, si hay uno configurado. - **Reverificar una orden ahora termina como un cobro normal:** cuando en Órdenes tocás Checkear y el pago se confirma, suena el aviso de pago, se imprime el ticket, aparece la pantalla de éxito con el cupón y se ofrece la ruleta según tu configuración. - Si no se puede generar una invoice, ahora se muestra el motivo con un recuadro de detalle. - El QR de la invoice se ve más nítido y ya no se corta en los bordes. - Tarjetas, la pantalla de cobro y la ruleta se mueven más fluidas en las terminales. - El sonido al tocar la pantalla es más suave. - Se corrigió un problema que podía impedir que se guardara la configuración en Android.
- Aug 16, 2026 0.1.5## Cupones Escaneá (o tipeá) el código en la pantalla de cobro: se consulta, se cotiza contra la canasta, se canjea y la factura se regenera por el neto. El cupón queda en el ticket impreso y en la pantalla final. El botón solo aparece si el comercio autorizó un servicio de cupones en nostr. ## Las órdenes ahora llegan al panel El `p` del zap request apuntaba a la clave del proveedor LNURL — la que firma recibos, no la que cobra — así que el panel del comercio, que filtra por `#p`, nunca las veía. Ahora apunta al pubkey del comercio (NIP-05), y la canasta viaja con él. ## También
More…
- Un `/hub` sin dirección ya no cambia de comercio a mitad de turno. - Un alcance de cupón ilegible se rechaza en vez de aplicarse al local entero. - Recotizar ya no deja órdenes huérfanas ni un bolt11 viejo pagable por NFC. - El anuncio de cupones sobrevive a una lectura parcial de relays. ## Cuál bajar | APK | Para | |---|---| | `lawallet-pos-v0.1.5-armeabi-v7a.apk` | **Terminales ZCS/Ciontek** (Z92 y similares, 32 bits) | | `lawallet-pos-v0.1.5-arm64-v8a.apk` | Teléfonos modernos | | `lawallet-pos-v0.1.5.apk` | Universal, si no sabés cuál | Un APK por ABI trae un `versionCode` más alto que el universal, así que pasar de un split al universal es un downgrade y Android lo rechaza. Elegí un canal por dispositivo y quedate ahí. - Jul 23, 2026 0.1.4Packaging-only release — no functional changes to the app. `v0.1.3` and `v0.1.4` behave identically. `lawallet-pos-v0.1.4.apk` below is the universal build (all ABIs), same as every prior release. Install it on any device. ## Dedicated 32-bit builds for ZCS terminals The universal APK is ~70 MB because it carries `armeabi-v7a`, `arm64-v8a` and `x86_64` native libraries at once. ZCS/Ciontek terminals are 32-bit only, so roughly two-thirds of that download is native code the terminal can never load. New `tool/build_release.sh` additionally emits per-ABI splits — the `armeabi-v7a` build comes out at **22 MB against 70 MB universal**, a 69% reduction:
More…
```bash tool/build_release.sh ``` | Artifact | ABIs | Size | |---|---|---| | `lawallet-pos-v0.1.4.apk` | all | 70 MB | | `lawallet-pos-v0.1.4-armeabi-v7a.apk` | 32-bit | 22 MB | | `lawallet-pos-v0.1.4-arm64-v8a.apk` | 64-bit | 26 MB | The splits are not attached to this release — build them locally and sideload to terminals. Verified installing and running on a 32-bit `armeabi-v7a` terminal (Android 13). ## Safer release builds The script hard-fails when `android/key.properties` is absent rather than silently falling back to debug signing. A debug-signed APK cannot update an existing install, and that failure previously surfaced only as an `INSTALL_FAILED_UPDATE_INCOMPATIBLE` at `adb install` time. ## Upgrade note `--split-per-abi` offsets `versionCode` per ABI (`armeabi-v7a` +1000, `arm64-v8a` +2000), so a split APK outranks the universal build. Moving a device from a split APK back to the universal one is a downgrade and Android will refuse it. Pick one channel per device and stay on it. - Jul 5, 2026 0.1.3## LaWallet POS v0.1.3 ### Payment ("Cobrar") - The invoice screen now **builds its template immediately** instead of showing a spinner: amount, fiat and the buttons appear in place while the invoice loads, the QR slot plays a **"generating" scramble with a centred spinner**, and only **Cancelar** is enabled. When the invoice lands the real QR **cross-fades in**, **"Esperando el pago…"** reveals, and Copiar invoice / Check event enable. - **NFC card-tap charging screen**: an animated **task checklist** (read → request → confirm) that ticks off as it advances, plus a shimmering **"Surprise coming here…"** placeholder for future promotions. ### App-wide - Fast, smooth **fade + scale transition on every page change**. ### Home
More…
- **Clear (X) button** inside the address input to wipe the whole address. ### Fixes & performance - **Accepts any resolvable Lightning Address** (e.g. `user@lawallet.io`) — no longer wrongly rejected for lacking an advertised LUD-21/NIP-57 confirmation mechanism. - **Faster first invoice**: the Nostr identity (cached pubkey) and the merchant address are warmed at startup, so the first charge is just the provider callback. Universal signed APK (armeabi-v7a + arm64-v8a). - Jul 2, 2026 0.1.1Updates the launcher icon to the current POS mark and pins the Zapstore listing icon. Same feature set as v0.1.0. Universal APK (armeabi-v7a + arm64-v8a), release-signed. 🤖 Generated with [Claude Code](https://claude.com/claude-code)