TollGate
I spent the vast majority of my time on TollGate and am very happy with what we've been able to achieve in the past few months. We went from a very first release to having a release in the works with proper router-to-router payments.
Conferences
- Pizza day (prague)
- Interactive workshop turning a router into a tollgate
- Oslo Freedom Forum
- Working together with tollgate contributors in a cabin the week before, helping to align visions and a work through ideas for TollGate.
- Listened to stories of communities that may benefit from tollgate, made many new connections!
- Podcast/Interview with Niftynei() about TollGate.
- Live testing at @PUB_KEY bar during the event. Customer response
Software
v0.0.2 - multi-mint, better config, and release process
Contains:
- CI/CD - load of background work on the deployment pipelines. easier subsequent releases
- Multi-mint support
- Janitor - Auto-update functionality
- Config - Making tollgate more configurable with proper config files / improved config-manager
v0.0.3 - lightning payouts
Contains:
- โก๏ธ Automated lightning payouts - triggered when local balance crosses configured threshold
- Profit sharing - Split payouts among multiple recipients (lightning addresses)
v0.0.4 (beta)
Beta1 Release page here Beta2 Release page here
This update introduces the alpha/beta release channels in our CI/CD.
Contains:
- Better pricing - Mint specific pricing (reflecting protocol update)
- Error handling - Better error handling (using notice events)
- Session extensions - Extend existing session by sending another payment
- Updated captive portal
- Better pricing display
- Better token validation before submitting
- Show TollGate response to user (eg. 'token already spent')
- Raspberry Pi 4/4B Support
Release explorer
We publish all releases as nostr-events. I created the releases.tollgate.me page to easily browse and download them. We direct people to this page to download a new release.
Tollgate installer
Created a desktop TollGate installer tool that flashes TollGateOS onto new routers. It's not officially released.
Protocol Update
June update to the protocol (Pull Request) which includes a lot of our learnings from the past months since our initial draft.
Most important changes:
- Cashu
- TIP-01 no longer specifies cashu, but just 'bearer asset' to allow other bearer assets as payment methods
- Separate TIP (TIP-02) for cashu payment method
- Moved mint into
price_per_stepto allow different price per mint, useful so people can give out their own usage tokens (eg. coffee-shop gives 20 free minutes at purchase)
- New event types
- Define session event to be returned by tollgate after payment, asserting purchased amount for the customer
- Define notice event to communicate issues to (potential) customers. (eg. no upstream available, payment failure)
- Provided much simpler examples / cleaned up examples
Gonuts fork
Because we the issue that gonuts does not support offline payments and it's no longer supported, I made a fork that does implement this. I do not intend to become a long-term maintainer of the project so we're looking for an alternative. We're currently exploring the possibility of using Cashu's own CDK. It's written in rust so we don't know how to integrate that yet.
CI/CD (GitHub Actions)
I haven't been able to make tangible progress on GitHub actions but have had a lot of very fruitful discussions with @DanConwayDev about git on nostr and how I should proceed on the project.
A couple decisions we made:
- I will make the UI it's own web app, there is no need that this must be part of gitworkshop.dev which puts a strain on Dan's limited time and resources.
- Detach the spec from the DVM spec as we've discussed the issues we faced with it. I think Hzrd149 does a good job at describing our issues with it.
To be completely honest with you i'm slightly disappointed at myself for not having more progress on this. It's hard to prioritise sometimes and this quarter I've chosen TollGate over other projects as I believe it to be the most impactful project around.
TreeGaze - ngit file explorer
Not exactly part of this project but worth mentioning is a Proof of concept site based on @Dan's new GRASP server (git server based on nostr + blossom). I was missing the ability to browse files on a git repo on gitworkshop.dev without having to pull the repo to my computer.
Announcement here
It sparked some good discussions and Dan has since included the same functionality into gitworkshop.dev
Epoxy
I've prioritised TollGate over epoxy and haven't worked on it these months.
Receipt.cash
Receipt.Cash is a project that came out of SEC-04 and I've gotten a lot of feedback on, both online and in person. Hence I want to keep improving upon it as a side-project.
- I've presented the project in the Cashu dev call (not recorded)
- I recently added image uploads and basic error reporting.
Plans Q3
TollGate
The focus of tollgate for the next quarter will be to get router-to-router payments in and make what we have more stable/reliable. So the core focus points:
- Community building by presenting/participating in events
- Add more community material like guides, FAQ's and tutorials
- Release router-to-router payments
- Improve stability of our releases
Release v0.0.4
We hit some more bugs than we expected in the first 2 beta's. We're currently working on bugfixes and plan to release v0.0.4 in the upcoming weeks.
Release v0.1.0
We're currently in the process of adding router-to-router payments and plan to release this in a v0.1.0 version in the next 1-2 months.
- PR for Upstream tollgate detection
- PR for Automatic payment of upstream tollgates (builds on former)
Community and Conferences
I plan to attend various conferences to demonstrate TollGate to a wider audience of tech enthusiasts and bitcoiners.
- Zitadelle - Wasserburg Heldrungen,
24.07.2025 - 27.07.2025 - BTC++ Riga - Riga,
07.08.2025 - 08.08.2025 - Baltic Honey Badger - Riga,
09.08.2025 - 10.08.2025 - Nostr Hackday - Berlin,
before BTC++ - BTC++ Berlin - Berlin,
02.10.2025 - 04.10.2025
Workflows (CI/CD - GitHub Actions)
- It's hard to estimate how much time will be spent on TollGate, but if time permits it I will rewrite the spec without the use of DVM's.
- I've hashed out the requirements for the spec last quarter and should be able to rebase my early implementation on this new spec with relative ease.
Receipt.Cash
- Release update for reverse payment flows
- I've worked on (but not released, yet) a major update that will reverse the payment flow, to handle payments by the 'Payer' of the receipt instead of each participant needing to return to the app to forward cashu, which has resulted in loss of funds.
Current status PR draft
Sovereign Engineering (SEC) 05
Sept 1'st i'll be joining SEC-05 and lead the group for one of the weeks as 'captian'.