fix(machine): mobile UI polish and shadcn-vue ScrollArea
- Use h-dvh instead of h-screen for mobile browser viewport - Add ScrollArea component (shadcn-vue) to replace native scrollbars - Move Hide Debug into debug bar row, show Show Debug only when off - Responsive cash-out denomination grid (single col on mobile) - Add safe-area padding for mobile gesture bar - Add business model documentation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
98e373c5ce
commit
3634509ed4
8 changed files with 750 additions and 525 deletions
121
docs/business-model.md
Normal file
121
docs/business-model.md
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
# Business Model
|
||||
|
||||
How we place ATMs at locations and make them sustainable for everyone involved.
|
||||
|
||||
## Principles
|
||||
|
||||
- **No KYC** — more users, less friction, preserves privacy
|
||||
- **Good energy locations** — we seek places with community trust and genuine intent
|
||||
- **Bitcoin-native infrastructure** — Lightning, Nostr, Cashu — no legacy payment rails
|
||||
- **Operator sovereignty** — locations can choose how much they want to manage themselves
|
||||
|
||||
## Deployment Models
|
||||
|
||||
### Managed (we run it)
|
||||
|
||||
We own the machine and handle all operations. The location provides power, internet, and floor space.
|
||||
|
||||
| Aspect | Details |
|
||||
| ------------------- | ----------------------------------------- |
|
||||
| Machine ownership | Us |
|
||||
| Liquidity | Our Lightning channels + cash servicing |
|
||||
| Software updates | Us (remote via Nostr) |
|
||||
| Cash management | Us (periodic servicing visits) |
|
||||
| Fee configuration | Us |
|
||||
| Revenue to location | Fixed monthly hosting fee OR % of tx fees |
|
||||
|
||||
Best for locations that want passive income with zero involvement.
|
||||
|
||||
### Self-Sovereign (they run it)
|
||||
|
||||
The location buys (or finances) the machine and runs their own stack.
|
||||
|
||||
| Aspect | Details |
|
||||
| ----------------- | ---------------------------------------- |
|
||||
| Machine ownership | Them |
|
||||
| Liquidity | Their own Lightning node + Lightning.Pub |
|
||||
| Software updates | Them (we provide releases) |
|
||||
| Cash management | Them |
|
||||
| Fee configuration | Them |
|
||||
| Revenue | 100% theirs |
|
||||
|
||||
Best for bitcoiners who want to run infrastructure and keep full control. We provide the software, hardware, and support.
|
||||
|
||||
### Machine Financing
|
||||
|
||||
For the self-sovereign model, we can offer financing:
|
||||
|
||||
- We purchase the machine upfront
|
||||
- Location pays it off over time (from ATM revenue)
|
||||
- Once paid off, they own it outright
|
||||
- We provide support during the financing period
|
||||
|
||||
## Revenue Models
|
||||
|
||||
### Fixed Hosting Fee
|
||||
|
||||
- We pay the location a flat monthly fee for hosting
|
||||
- Simpler accounting, predictable income for location
|
||||
- We take all transaction fee revenue
|
||||
- Works well for locations that just want passive income
|
||||
|
||||
### Profit Sharing
|
||||
|
||||
- Location receives a % of transaction fees
|
||||
- Aligns incentives — they benefit from higher volume
|
||||
- More attractive to engaged locations
|
||||
- Requires transparent reporting (could be on-chain/Nostr-verifiable)
|
||||
|
||||
### Foot Traffic Value
|
||||
|
||||
Beyond direct revenue, the ATM provides:
|
||||
|
||||
- People visit specifically to use the ATM, then browse/buy at the location
|
||||
- Bitcoin-friendly branding signals to the community
|
||||
- Conversation starter — draws curious newcomers
|
||||
- Community hub potential — meetup anchor point
|
||||
|
||||
## Location Criteria
|
||||
|
||||
We're selective about where we place machines. The goal is to find locations with **good energy** — places where the community is genuine and the environment discourages misuse.
|
||||
|
||||
### Ideal locations
|
||||
|
||||
- Coffee shops, cafes, local restaurants
|
||||
- Co-working spaces, maker spaces
|
||||
- Bitcoin meetup venues, hackerspaces
|
||||
- Surf shops, yoga studios, wellness centers
|
||||
- Local/independent businesses (not chains)
|
||||
- Places where the owner is curious about or already into Bitcoin
|
||||
|
||||
### What we look for
|
||||
|
||||
- Owner alignment — understands or wants to understand Bitcoin
|
||||
- Community trust — regulars know each other, self-policing
|
||||
- Foot traffic — enough people to make the machine worthwhile
|
||||
- Stable internet + power
|
||||
- Visible but not exposed — inside the business, not on the street
|
||||
|
||||
### What we avoid
|
||||
|
||||
- High-crime areas
|
||||
- Anonymous/transient locations (gas stations on highways, etc.)
|
||||
- Businesses with no community connection
|
||||
- Anywhere the owner is purely financially motivated with no alignment
|
||||
|
||||
## Technical Requirements
|
||||
|
||||
For the managed model to work at scale, we need:
|
||||
|
||||
- **Remote monitoring** — machine status, cash levels, error alerts over [[clink-protocol|CLINK]]/Nostr
|
||||
- **Operator dashboard** — manage cassettes, view transactions, update config remotely
|
||||
- **Multi-machine support** — one Lightning.Pub instance serving multiple ATMs
|
||||
- **Fee configuration** — per-machine fee % set by operator
|
||||
- **Availability broadcast** — public Nostr events indicating cash-in/cash-out availability (see [[ndebit-cash-in-flow|cash-in flow]])
|
||||
|
||||
## Related
|
||||
|
||||
- [[device-configuration]] — hardware setup for different machine models
|
||||
- [[machine-installation]] — NixOS installation on ATM hardware
|
||||
- [[clink-protocol]] — CLINK protocol for ATM-wallet communication
|
||||
- [[ndebit-cash-in-flow]] — cash-in payment flow
|
||||
Loading…
Add table
Add a link
Reference in a new issue