Gonuts
Cashu wallet and mint in Go
Install / Use
/learn @elnosh/GonutsREADME
Disclaimer: The author is NOT a cryptographer and this work has not been reviewed. This means that there is very likely a fatal flaw somewhere. Cashu is still experimental and not production-ready.
Don't be reckless: This project is in early development, it does however work with real sats! Always use amounts you don't mind losing.
gonuts
Cashu wallet and mint implementation in Go.
Cashu is a free and open-source Chaumian ecash system built for Bitcoin. You can read more about it here.
Supported NUTs
Implemented NUTs:
- [x] NUT-00
- [x] NUT-01
- [x] NUT-02
- [x] NUT-03
- [x] NUT-04
- [x] NUT-05
- [x] NUT-06
- [x] NUT-07
- [x] NUT-08 (Wallet only)
- [x] NUT-09
- [x] NUT-10
- [x] NUT-11
- [x] NUT-12
- [x] NUT-13
- [x] NUT-14
- [x] NUT-15
- [x] NUT-17
- [ ] NUT-18
- [x] NUT-19
- [x] NUT-20
Installation
With Go installed, you can run the following command to install the wallet:
git clone https://github.com/elnosh/gonuts
cd gonuts
go install ./cmd/nutw/
To setup a mint for the wallet, create a .env file at ~/.gonuts/wallet/.env and setup your preferred mint.
Using the wallet
Check balance
nutw balance
Create a Lightning invoice to receive ecash
nutw mint 100
This will get an invoice from the mint which you can then pay and use to mint new ecash.
invoice: lnbc100n1pja0w9pdqqx...
Redeem the ecash after paying the invoice
nutw mint --invoice lnbc100n1pja0w9pdqqx...
Send tokens
nutw send 21
This will generate a Cashu token that looks like this:
cashuAeyJ0b2tlbiI6W3sibW...
This is the ecash that you can then send to anyone.
Receive tokens
nutw receive cashuAeyJ0b2tlbiI6W3...
Request the mint to pay a Lightning invoice
nutw pay lnbc100n1pju35fedqqsp52xt3...
Development
Requirements
Wallet
cd cmd/nutw- create
.envfile and fill in the values go build -v -o nutw nutw.go
Run mint
-
cd cmd/mint -
you'll need to setup a lightning regtest environment with something like Polar and fill in the values in the
.envfile -
go build -v -o mint mint.go -
./mint
Contribute
All contributions are welcome.
If you want to contribute, please open an Issue or a PR.
Related Skills
node-connect
340.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
340.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.1kCommit, push, and open a PR
