@quaddepos/tikkie
v0.1.1
Published
Create Dutch Tikkie payment requests from the terminal by driving the Tikkie Android app over ADB
Maintainers
Readme
tikkie
Create Dutch Tikkie payment requests from the terminal by driving the Tikkie Android app over ADB. Prints a tikkie.me/pay/... URL on stdout.
Unofficial. This tool is not affiliated with ABN AMRO or Tikkie. It automates the Tikkie app's UI on a device you own — app updates can change the layout and break the flow until coordinates are re-registered (the ui-dump fallback usually survives layout changes).
Requirements
- Node.js >= 20
adbon PATH with an Android device connected (USB oradb connect <ip>)- Tikkie app installed and logged in on the device
- USB debugging enabled, screen lock disabled (ADB can't get past a PIN)
Install
pnpm add -g @quaddepos/tikkie
# or: npm i -g @quaddepos/tikkieUsage
tikkie 7.50 "Dinner" # create a tikkie, prints the URL
tikkie create 7.50 "Dinner" # same, explicit
tikkie history # last 10 tikkies
tikkie history --month 2026-07 --sum # monthly total
tikkie doctor # check adb, device, app, registry- Amount uses dot decimals (
7.50, not7,50). - Description: 1–35 characters — letters, digits, spaces, and
. , ! ? ( ) / & _ : ; -. - Logs go to stderr, the URL to stdout, so
URL=$(tikkie 25 "Dinner")works in scripts.
Registering a device (fast path)
The first run on a device uses the resilient ui-dump path (~2 min): it reads the live UI tree at every step. Register the device to save its tap coordinates:
tikkie create 0.01 "test" --registerSubsequent runs match the device by serial (then screen size) and replay the saved coordinates (~30–45 s). The registry lives at ~/.config/tikkie/devices.json; every successful tikkie is appended to ~/.local/share/tikkie/history.jsonl.
Multiple devices connected? Set ANDROID_SERIAL=<serial> to pick one.
Troubleshooting
| Symptom | Fix |
|---------|-----|
| no ADB devices connected | Check cable/USB-debugging toggle, re-authorize the host key |
| Fast path taps land wrong | App layout changed — rerun with --register to refresh coordinates |
| Amount parsed wrong (€750 instead of €7.50) | Pass dot decimals; check the device keyboard locale |
| Stuck mid-flow | adb shell am force-stop com.abnamro.nl.tikkie and rerun |
Development
pnpm install
pnpm dev 0.01 "test" # run from source (Node >= 24)
pnpm test # unit tests
pnpm lint && pnpm typecheck
pnpm build # bundle to dist/ with tsupLicense
MIT
