Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/callebtc/nutshell-lnurl
LNURL -> Cashu -> Nostr middleware
https://github.com/callebtc/nutshell-lnurl
Last synced: 19 days ago
JSON representation
LNURL -> Cashu -> Nostr middleware
- Host: GitHub
- URL: https://github.com/callebtc/nutshell-lnurl
- Owner: callebtc
- Created: 2023-11-30T17:09:14.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-02T20:54:45.000Z (about 1 year ago)
- Last Synced: 2024-11-10T04:38:48.760Z (3 months ago)
- Language: Python
- Size: 42 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Nutshell LNURL Cashu bridge
*This is proof of concept software that is meant only for education and experimenting. It likely has bugs and is not meant for production.*
Nutshell-lnurl is a service that creates invoices from a specified Cashu mint and serves them over LNURL endpoints. When the invoice is paid, the service mints Ecash with the mint and sends them to the intended recipient via Nostr DMs.
### Features
- LN addresses for npubs a la `@my.lnurl-domain.com`
- Pulls npubs from NIP-05 lists for addresses a la `@my.lnurl-domain.com`
- Persists unpaid invoices and picks them up on startup### Todo
- [ ] Configure nostr relays
- [ ] Fetch nostr relays from user profile
- [ ] Fetch Cashu mint from user profile
- [ ] Host addresses like `[email protected]@my.lnurl-domain.com`### Install
- Clone this repository
- Install dependencies using `poetry install`
- Copy settings `cp .env.example .env` and edit `.env` file
- Activate environment using `poetry shell`
- Run server using `uvicorn app:app`### Configuration
Set the mint the Cashu tokens will be minted from.
```
MINT_URL=http://cashu.mint.com
```
Publicly exposed hostname of your LNURL server
```
LNURL_HOST=https://my.lnurl-domain.com
```
Optional: Select a [NIP-05](https://github.com/nostr-protocol/nips/blob/master/05.md) host to serve LN addresses with usernames like `[email protected]`
```
NIP05_HOST=https://nip5.host.com
```