This is a non-exhaustive compilation based on past experience of users. We have not tested every wallet, if you test a wallet that is not yet covered, please report here.
- UX: Does the wallet convey clearly that there is an “ongoing” payment (hodl invoice)?
- Bonds: Can the wallet lock the invoices with long expiry time needed for the bonds?
- Payout: Can the wallet receive payouts from RoboSats after the user buys Sats?
- Compatible: Is the wallet overall compatible end-to-end with RoboSats?
- Total: Is the wallet compatible and stable enough to be used consistently without issues?
Alby (browser extension)
Alby is a browser extension compatible with WebLN standard. Given that RoboSats supports WebLN, the experience with Alby is probably best-in-class: you won’t have to scan the QR codes or copy/paste generated invoices. Simply click on the Alby pop up to confirm the actions. You can connect the Alby extension to most of the popular nodes and wallets or simply let Alby host a custodial wallet for you.
Instructions to install Alby in Tor Browser:
- Install the Alby extension from the Firefox add-ons store
- Click on the Alby extension and follow the prompts to setup your wallet.
Blink (Mobile, former Bitcoin Beach Wallet)
Works well with RoboSats. Hodl invoices (Bonds) show as “Pending” in the transaction history. Payouts to the Blink wallet function as intended. Custodial wallet by Galoy which originated from the Bitcoin Beach project in El Salvador (formerly known as “Bitcoin Beach Wallet”).
Blixt (Android/iOS, LND light backend on device)
Most development testing for RoboSats has been done using Blixt. This is one of the most complete Lightning wallets around. However, it does lead to misunderstanding when hold invoices are locked, as it shows a spinner with payment in transit. The user needs to check on the website for confirmation. Blixt allows for multiple pending HTLCs; this is necessary as a seller since you need to lock a taker/maker bond and then a trade escrow (2 pending concurrent HTLCs). It might eventually also display as paid/charged invoices that are still pending, especially if the user force closes Blixt and reopens it. Occasionally, it can display fidelity bonds as charged that have in fact been returned.
It works well. Bluewallet has discontinued their custodial service. Previously, the custodial service would cause issues where escrows that RoboSats returns are charged to users and where slashed bonds are charged twice by Bluewallet! This was a known bug for long time in Bluewallet, so they shut down their LN custodial service (which ended up making RoboSats a smoother experience for users).
Cash App (Mobile)
Works well with RoboSats. Hodl invoices (Bonds) show as “Pending” in the transaction history. Payouts to the Cash App wallet function as intended. Custodial wallet by Block, Inc., formerly known as Square, Inc., which is led by Jack Dorsey.
Core Lightning / CLN (CLI Interface)
Works as expected. The
lightning-cli pay <invoice> command does not conclude while the payment is pending, but can use
lightning-cli paystatus <invoice> to monitor the state.
Experience using Electrum is limited. It does not seem to support more than one pending HTLC (even if there are multiple channels). This wallet is not recommended to use with RoboSats. However, it works well if you are a buyer, as only one hold invoice for the fidelity bond is needed. The payment shows as pending with a spinner for the duration of the locktime.
LND (CLI Interface)
Raw; it shows exactly what is happening and what it knows “IN_FLIGHT”. It is not user friendly and therefore not recommended to interact with RoboSats by beginners. However, everything works just fine. If you are using LNCLI regularly, then you will find no issue using it with RoboSats.
Mash Wallet App (Mobile PWA & Desktop Web-Wallet)
Overall the Mash wallet works end2end with Robosats on both selling & buying over lightning. Majority of relevant invoice details in the mash wallet are shown and clear to users throughout the process. When the transactions are complete, they open in the mobile app on both sender/receiver sides to highlight that the transactions are completed.The one UX hick-up is that the pending invoices list doesn’t explicitly show HOLD invoices and there is a “spinning” screen on first HOLD invoice payment. The team has a bug open to fix this issue shortly (this note is from Aug 21st 2023).
Similar to Blixt or LND, Muun plays nicely with hold invoices. You can be a seller in RoboSats using Muun and the user experience will be great. However, in order to be a buyer when using Muun, you need to submit an on-chain address for the payout as a Lightning invoice won’t work. Muun is fee siphoning attacking any sender to Muun wallet. There is a mandatory hop through a private channel with a fee of +1500ppm. RoboSats will strictly not route a buyer payout for a net loss. Given that RoboSats trading fees are 0.2% and it needs to cover the routing fees, RoboSats will never find a suitable route to a Muun wallet user. At the moment, RoboSats will scan your invoice for routing hints that can potentially encode a fee siphoning attack. If this trick is found, then the invoice will be rejected: submit an on-chain address instead for an on-the-fly swap. Refer to Understand > On-Chain Payouts for more information about on-the-fly swaps. Important to note that Muun has issues during times of high on chain fee spikes. Regardless, the workaround to receive to Muun is: either submit an on chain address or choose a higher routing budget after enabling the “Advanced Options” switch.
One of the simplest and one of the best. The hodl invoice shows as “on fly”, it is not custodial and can create your own channels. Buy one from a liquidity provider or use Hosted Channels. It is maintained by the great Fiatjaf and it is a fork of the abandoned SBW.
Phoenix works very well as an order taker. Phoenix will also work well as an order maker as long as the order settings
public duration +
deposit duration are lower than 10 hours. Otherwise, you might have problems locking the maker bond. If the total duraton of bonds/escrow invoices exceeds 450 blocks, then Phoenix will not allow users to lock the bond (
Cannot add htlc (...) reason=expiry too big).
Zeus (Mobile, LND, CLN, Eclair remote backend)
It is an interface to LND, CLN and Eclair. It works as expected. It is extremely misleading with a full red screen “TIME OUT” a few seconds after sending the HTLC. Yet, if the user checks on the website, then the invoice is correctly locked.
Help keep this page updated
There are many wallets and all of them keep improving at lightning speed. You can contribute to the RoboSats Open Source Project by testing wallets, editing the content of this page and opening a Pull Request
Receiving Sats over Lightning is not completely private. Refer to Best Practices > Proxy Wallets for more information on receiving Sats privately.
If you are experiencing issues receiving funds to your wallet (due to channel management issues, routing issues, wallet-side issues, etc.), then a quick solution for the sake of receiving a fast payout would be to have a second wallet on hand that is well-connected and with sufficient channel capacity. You could receive Sats to your second wallet and, once issues are resolved, then send to your primary wallet.
Do not hesitate to reach out to the public RoboSats SimpleX group chat for advice or help in using wallets!
You can help improve this page!
Learn RoboSats is a joint effort of the RoboSats community. If you have used RoboSats before, you are already an expert! Help improve this documentation.