TLDR; What promised was stablecoin on lightning, but what we got instead "The PePe asset on Taproot" !
A few days before the Bitcoin 2024 conference, Lightning Labs released its first multi-asset Lightning protocol on the mainnet. This was hailed as one of the major upgrades to the Lightning Network because it enables Lightning nodes to store and transact not only sats but also assets such as stablecoins. This functionality integrates seamlessly with the existing Lightning infrastructure and has the potential to fuel further network effects.
This development had been in the works for the past two years, fulfilling a promise the team made back in 2022. In April 2022, Lightning Labs announced a $70 million Series B fundraising round and a new protocol called Taro. Running on top of the Bitcoin blockchain, Taro issues assets (both fungible and non-fungible tokens) on Bitcoin. One of their stated aims was to introduce this protocol on top of existing Bitcoin and Lightning networks to leverage the network effect of both. While many, including myself, were initially skeptical, the team persisted and ultimately delivered a working protocol. I reviewed their latest release candidate version and can confirm that Lightning channels can now transfer these assets across the existing Lightning Network.
Although the team periodically released early versions, the fully functional implementation of Taproot on Lightning, utilizing Lightning channels, was only recently released. I have spent the past two weeks immersed in running it on the testnet and mainnet, and I am documenting my findings and lessons learned to spare you a similar journey and the repetition of my mistakes.
Between 2022 and 2024, Ordinals emerged and experienced explosive growth, witnessing both peaks and troughs in usage. The same team also released "Runes," fungible tokens with the capability to mint, transfer, and burn tokens tracked in UTXOs. However, neither Ordinals nor Runes currently support the Lightning Network. What they do have is a vibrant community of builders, "degens," and influencers who drive continuous development and increasing usage.
Why we need tokens on Bitcoin Blockchain: Any hardcore bitcoiner and bitcoin maximalist will brush off all tokens as shitcoins. However, if you look at the entire cryptocurrency market, close to 47% of market cap consists of these tokens. Ofcourse, the majority are useless, scams, and utter nonsense. But there is a sliver of use cases such as stablecoins which provides real world benefit.
If Bitcoin captures the value of money in a non-custodial digital form, tokens capture value of everything else.
Taproot assets are a decade late to the party. Tokens started on Bitcoin as early as 2013 but went mainstream during the ICO era of 2017. From there the numbers kept increasing and now the number of tokens that are tracked are in millions. New users who are now coming in get side tracked by these tokens and never make it to the Bitcoin blockchain. So any new protocol that gets released now should take advantage of the existing network effects of Bitcoin and lightning to jump to the front of the line. Also, given Taproot assets supports both on-chain and lightning from day 1 makes it easier for adoption
Lightning Labs Team: I’ve interacted with many in the team and everyone is technically brilliant and have a common mission to build freedom tech. It may take longer to develop the protocol but they want to do it right. This review is not about the team but the technology and their strategy for adoption.
With that let’s dive into the details.
Installing and creating Taproot Asset channel:
While on paper and demos it sounds super easy to run Taproot assets lightning channels, In reality it is super difficult as of now. Taproot assets functionality is built into a daemon called TapD which is dependent on an existing running LND node (not any lightning node but specific version of LND above version 18). TapD contains only the Taproot asset onchain functionality. Here you can mint, transfer and burn an asset all tethered to Bitcoin onchain transaction. The lightning portion of creating and managing Taproot asset channel is built into LitD (Lightning Terminal) which also includes other lightning specific tools Loop and Faraday. Now in order to make all these work, Litd needs to run LND and TapD in a “Integrated” mode. And only a specific version seems to work as of now which is marked as “Lightning Terminal v0.13.99-experimental“. Because of all these experimental software that needs to come together to work, it is complex, experimental and trying this on Mainnet is like bungee jumping from a duck taped bridge.
One of my rules when trying out any new open source software, is to spend a maximum of 2 hours to make it work. If it takes longer than 2 hours I give up. (Side note: It only took 15 mins for me to run Nostr for the first time back in Oct 2022 and 45 mins to run cashu mint)
Of course this took longer than 2 hours but I wanted to go all in. Since I am familiar with running LND, Litd and TapD I spent more time trying to understand what’s going on under the hood.
The documentation does not go deeper in explaining what’s happening under the hood. While the team provides support through their slack channel, it is definitely not sufficient for anyone new to get up and running.
Once Litd is up and running with both LND and TapD, creating Taproot channel is the next step. There is no user interface available yet. Everything has to be done through executing the command line interface. Even though Litd is running both LND and TapD, to access Taproot assets you need to use “tapcli” and to access Taproot channel you need to use “litcli” and check on channels use “lncli”. Remembering and checking the documentation for each command and making it work is hard. For e.g. To open a Taproot lightning channel, both nodes have to be on the same version and litcli command should include lnd macaroon path --macaroonpath .lnd/data/chain/bitcoin/testnet/admin.macaroon ln fundchannel
Below are some of the points I noted and shared with everyone on their Slack channel.
There is no difference between a Taproot invoice and a Lightning invoice; they are the same. In fact, a "Taproot Invoice" doesn't exist. The nodes calculate the asset-to-satoshis conversion and generate a Lightning invoice for the required satoshis... (It is complicated...).
Once a Taproot channel is open, it's easy to "keysend" assets to the other party. However, generating an invoice and having the other node pay it requires correctly configuring the price oracle.
"decimal_display" is a field within the asset JSON that specifies the decimals required for display on the UI and conversion calculations. This field is not consistently displayed in all responses. For example, it doesn't appear in listchannels. Additionally, https://terminal.lightning.engineering/assets/ doesn't include decimals when showing the total. This means that if you mint an asset with an amount of 10 trillion and 6 decimals, it still appears as 10T. There is no consensus on how many decimals to use when minting a stablecoin, as choosing 3 or 6 can result in conversion discrepancies.
Price Oracle: Both nodes need to set up a price oracle before an asset transfer can occur. However, despite several attempts, I haven't been able to get this working. The price oracle setup should include the correct decimals and if the price oracle returns different values then invoice is not generated. RFQ Process: There are several API endpoints for the Request for Quote (RFQ) process, such as AddAssetBuyOffer and AddAssetSellOffer, to exchange assets. However, these are not documented in the builder's guide, and there are no examples demonstrating their functionality.
Universes: Universes synchronize asset data, allowing nodes to look up information before opening channels and exchanging assets. However, this doesn't happen automatically. For instance, before opening the Taproot asset channel, I had to provide my asset ID to the destination node runner for manual synchronization. I also encountered several sync errors in the logs.
Taproot Asset Trustless Swap: While there's an atomic way to swap an asset for satoshis on-chain, I haven't come across any working examples. I was directed to test scripts, but those are too technical for me to understand.
Edge Nodes: There's a lot of emphasis on running an edge node to facilitate user swaps between assets and satoshis. However, until we have a clear understanding of price oracle setup, best practices for decimals, and UI considerations, this remains a distant reality.
While I was successful in creating Taproot Asset channel and sending assets between nodes it was painful and begs the question why we need to do this?
Strategy Vs reality:
Throughout their documentation, blog posts, and community calls, the emphasis has been on integrating stablecoins with the Lightning Network. This is a valid strategy, as stablecoins are a crucial need for the Lightning Network, and the proliferation of low-quality or meme-based cryptocurrencies should be avoided. However, the strategy seems to end there. There are no announced partnerships with established stablecoin providers like Tether or Circle (USDC), nor is there support for or recognition of teams developing native stablecoins utilizing Taproot assets. The release blog highlighted several apps and wallets like Speed Wallet, Tiramisu Wallet, and the Lnfi network. However, these are custodial, closed-source applications that seem to be capitalizing on the Taproot Asset name without leveraging its technological capabilities.
Speed Wallet launched claiming support for USDTL, supposedly Tether on Lightning. However, they provide no transparency regarding the storage of the actual Tether, their management of the Taproot Asset channel, or the necessity of a Taproot Asset channel for a custodial wallet. This lack of transparency raises serious concerns and could be considered borderline fraudulent. Tiramisu Wallet is another example, listing AdamUSD with a current market price of 1,708.4843 SAT per USDA. The lack of information surrounding AdamUSD warrants extreme caution.
The promise was stablecoins on Lightning, but the reality seems to be assets like Pepe Coin on Taproot.
As open-source software, accessibility is inherent, and this includes access for malicious actors. It is the responsibility of the community to steer this technology towards a positive future by highlighting risks associated with questionable projects and actively developing tools and projects that deliver genuine value to users.
While the technology itself delivers on its promises, success hinges on cultivating a community of developers focused on building user-friendly tools. This can be achieved through initiatives like hackathons, dedicated development hours, and support for developers creating fundamental tools. Additionally, focusing on the needs of users currently reliant on platforms like Tether on TRON and strategizing on how to simplify their transition to stablecoins on Lightning is crucial.
I remain optimistic about the potential for success if the team addresses these issues promptly, builds a strong community, and drives real-world adoption of Taproot assets. I will continue to monitor developments, contribute to tool development where possible, and keep everyone informed.


Comments
No comments yet. Start the conversation.