A web interface with tools for testing and integrating LNURL.
- Live Demo
- Running Your Own Instance
- Supports all LNURL subprotocols (channelRequest, login, payRequest, withdrawRequest)
- Tweak parameters used for each subprotocol
- Requests and relevant events are displayed as they happen
- Inspect request/event details (HTTP headers, query string, URL, etc)
- Doesn't require a Lightning Network node (everything is mocked)
An instance of this project is currently running here. So if you just want to quickly test your own app's LNURL integration, please feel free to use it. If you would like run your own instance, you can follow the instructions in the rest of this document.
Running Your Own Instance
Clone this repository:
git clone firstname.lastname@example.org:chill117/lnurl-toolbox.git \ && cd lnurl-toolbox
Run the toolbox services:
To run the server while printing debug info:
DEBUG=lnurl* npm start
The server runs with default configurations when none have been provided. To customize your server configuration, create a
.env file in the root of the project directory. You can start by copying the
cp example.env .env
Please refer to Configuration Options for details about how to configure your server.
Below is a list of configuration options:
LNURL_TOOLBOX_HOST- The host on which the LNURL HTTP server listener will be bound.
LNURL_TOOLBOX_PORT- The port on which the LNURL HTTP server will listen.
LNURL_TOOLBOX_URL- The publicly accessible URL of the LNURL server. This should not include the endpoint. Example -
LNURL_TOOLBOX_ENDPOINT- The path of the LNURL route. The default is
LNURL_TOOLBOX_WEB_HOST- The host on which the web HTTP server listener will be bound.
LNURL_TOOLBOX_WEB_PORT- The port on which the web HTTP server will listen.
LNURL_TOOLBOX_WEB_URL- The publicly accessible URL of the web server. This should not include the endpoint. Example -
LNURL_TOOLBOX_WEB_SESSION- Options that are passed when creating an instance of express-session middleware.
LNURL_TOOLBOX_URI_SCHEMA_PREFIX- The URI schema prefix that is pre-prended to encoded LNURLs. E.g. "lightning:", "LIGHTNING:", or "" (empty-string).
LNURL_TOOLBOX_MOCK_CLIGHTNING_HOST- The host on which the mock c-lightning TCP socket server will be bound.
LNURL_TOOLBOX_MOCK_CLIGHTNING_PORT- The port which the mock c-lightning TCP socket server will listen.
LNURL_TOOLBOX_MOCK_CLIGHTNING_HOSTNAME- The hostname used as part of the mock c-lightning's node URI.
This software is MIT licensed:
A short, permissive software license. Basically, you can do whatever you want as long as you include the original copyright and license notice in any copy of the software/source. There are many variations of this license in use.
This project is free and open-source. If you would like to show your appreciation by helping to fund the project's continued development and maintenance, you can find available options here.