Lightning Prisms with LNBits
A step by step how-to guide to create a Lightning Prism split payments with LNBits
What are Lightning Prisms?
A Lightning Prism is a construct that allows for “lightning address value split workflows,” to quote the originator, Mr. Kukks.
This guide is a step-by-step demo of how to implement prisms in LNBits and is inspired by dergigi’s post.
Step 1. Get LNBits
If you already have LNBits you can skip this step. But if you don’t, you can find out more here at https://lnbits.com
Step 2. Payment Options in LNBits
There are three payment options:
Wallet ID - this is an ID created by LNBits on wallet creation. Every wallet has a Wallet ID which can be found in the API info section on the LNBits dashboard. It is internal to LNbits only ID, so best if used for splitting payments for wallets within your LNbits instance only.
LNURL – You can get one from the LNURLp Extension within LNBits. Can be used externally or within LNbits.
New or Existing LN addresses – If you receiving payment is going to someone outside of your organization you can use this, or create a new one within the LNURLp extension, that uses your LNBits domain name.
CAVEAT: LN Addresses MUST accept comments, I’d suggest at least 100 characters, or else the split payments will not work in the LNURLp extension.If there is no comment, the split will not occur.
ALSO: DO not split to 100% if you send to a wallet that is external (routing fees!).
Within the LNBits LNURLp extension, you can check the comment characters and the lightning addresses in the QR Tab.
Step 3. Flows and Splits
Now, the fun part. First within LNBits, enable the splitpayments extension. Next, select your main incoming wallet. For the purpose of this demo, we make the main wallet the LNBits Wallet, and 3 wallets (one, two, and three) as the destination of the splits.
The main wallet can also have a LN address by creating it in the LNURLp extension, e.g. firstname.lastname@example.org.
To split payments between the other 3 wallets, we can set up the split payments with the source wallet as LNBits Wallet.
Depending on your needs, the target wallets can either be internal to the current LNBits instance by using just the Wallet ID or external using Lightning addresses, such as email@example.com or LNURL.
Once all the targets have been saved, test your splits by sending to the main wallet, either by creating an invoice or sending to the lightning address associated with the main wallet.
To watch it in action, see this video or on twitter
If you have any questions, you can visit the LNBits chat on Telegram https://t.me/lnbits
Step 4. Launch!
Now you’re ready to launch that prism!
P.S. Special thanks to @dni for getting the splits payment extension working!
Getting prisms to work on LNBits is all pending @dni’s latest merge into splitpayments but I anticipate it will be in by the end of this week (Mar 25, 2023).