Multi-currency settlement platform on Bitcoin
- Nest.js
- Flask
- Go
- BTC
- USDT
- Lightning
- Liquid
Bills, trips and the middleman problem
The founders were building a consumer app for people who end up owing each other money: friends splitting a trip, a family handling shared bills, a small project team expensing across borders. The options for settling up were ugly: bank transfers took days and chewed fees, and consumer payment apps held the money on your behalf and routed it through an intermediary.
They wanted something non-custodial, fast, cheap and just as easy between two friends in different countries as between two friends in the same room. Bitcoin was the rail, but the product couldn't feel like a crypto app. It had to feel like the expense-splitter people already understood.
Make the settlement disappear
The design I pitched kept each Bitcoin layer as a first-class settlement option behind the scenes (Lightning for instant user-to-user transfers, Liquid for cheap cross-border settlement, on-chain for the occasional larger or custody-sensitive transfer) and dollar-denominated settlement via USDT for anyone who didn't want to hold BTC. A thin orchestration layer picked the right rail per transaction.
For the user, the choice disappeared: tap “settle up,” backend decides. The trade-offs stayed real where they mattered (fees, speed, privacy) and invisible everywhere else.
Pick a scenario. Tap settle up. Watch the orchestrator pick the right rail.
- Rail
- Lightning
- Fee
- ~$0.01
- Time
- instant
Tiny and instant. Lightning wins on fee and speed.
Six services, three languages, one conference
Built the backend as six coordinated services in a deliberately polyglot stack: Nest.js for orchestration and the public API surface where type safety carried the most weight, Python where the Bitcoin tooling ecosystem was most mature, Go where concurrent network handling had to stay lean.
Alongside the engineering, I represented the product as lead engineer at Bitcoin 2025 in Las Vegas, running the technical side of partner and investor conversations for three days.
What shipped
The full backend shipped across all six services, with the routing layer in place and each Bitcoin layer integrated end-to-end for both BTC and USDT. Settlements that used to take days of bank transfers and intermediary fees cleared between users in seconds, without the platform ever holding the money.
The conference week turned into 80+ direct partner and investor conversations: a second deliverable, and the fastest feedback loop available on whether the architecture held up.
- 6 microservices · Nest.js, Flask and Go
- Three Bitcoin layers: Native, Liquid, Lightning
- 80+ partner and investor conversations in 3 days at Bitcoin 2025
