This will be an in-depth examination of how to employ the Lightning Network (LN) and on-chain/LN swaps in order to affordably break heuristics to achieve forward-looking privacy for sats purchased from Know-Your-Customer (KYC) sources.
In seeking forward-privacy for KYC sats, traditional methods such as coinjoins and whirlpools are frequently used but are expensive and time-consuming, often involving large percentages of fees, which add up when attempting to “clean” large sums of KYC sats.
Instead, KYC sats can be “scrubbed” by moving through non-KYC LN services to achieve reasonable forward- privacy.
WHY BUY KYC: Buying non-KYC sats from Robosats, Bisq, etc, is more complicated (hard for newbies especially, creating barrier to entry, delays adoption), more expensive (typically 2% or 3% is bare minimum premium, compared to 0.3% spread on Strike or 1.2% fee on River Financial), less liquidity (hard to get your offer taken unless overpaying a premium – wait days and miss out on market gains, or pay heavy taker fees/premiums by accepting a current seller’s offer. Buying large quantities is difficult or not possible, or only possible over a stretch of time. Impractical for buying large amounts).
“RISKS” OF KYC: Yes, your data could be “hacked.” IMO, risk is higher with shitcoin casinos like Conbase, Kraken, etc, etc. Stick to Strike or River Financial or Swan – Bitcoin-only reduces your risk. Even if they get hacked, so what? You are one of the millions and soon billions of plebs on the Earth buying bitcoin. One day almost everyone will have bitcoin. It’s unconfiscateable anyway, so IMO the “dangers” of KYC bitcoin is almost negligible. Increasingly gov’ts around the world are adopting pro-bitcoin policy anyway. Forward privacy is the important thing.
So, buying KYC sats and employing forward-privacy strategies is great for heavy stackers seeking immediate buy fulfillment, and max sats per dollar. Also, ease of purchase is unparalleled via Strike/River.
THE EXPENSE AND HEADACHE OF COINJOINS: https://www.whirlpoolfees.com Approximate FEE: 3-4% of your mix amount for single UTXO mix. OUCH. That’s fucking expensive. Total percent fees do significantly decrease if mixing multiple UTXOs at once, however this creates additional headache with postmix UTXO management: You must avoid recombining UTXOs after mixing because it greatly reduces the effectiveness of the coinjoin if you do. So, you have tons of UTXOs that you now have to keep track of to spend separately, which is extremely inconvenient. Or, if you do 1 larger-bracket mix, you pay immense fees (3-4%). And if mixing several UTXOs, it is extremely time consuming, and you pay additional mining fees when trying to spend each UTXO separately to preserve privacy. Pain in the ass, IMO.
USE CASE EXAMPLE – LN SWAPS FOR FORWARD PRIVACY:
-
Buy KYC sats from Strike or River Financial (Swan doesn’t have LN withdraws, but could be used with a swap-in service). Strike and River have LN withdrawal functionality.
-
If buying and scrubbing small-moderate amounts of bitcoin: a. Withdraw lightning to Wallet of Satoshi (WoS) backed up with an anonymous, undoxxed email backup. No fees to receive any LN amount to WoS. NonKYC. Short term custodial risk is negligible, IMO.
-
If buying and scrubbing very large amounts of bitcoin: a. Preferably conduct multiple repeated LN withdrawals to WoS. b. Or, one large on-chain withdrawal to a burner/doxxed self-custody onchain wallet to proceed with a swap-in to LN. Or you could withdraw directly from exchange to a swap-in service, however I have found atomic swaps like Diamond Hands struggle to perform huge swap transactions and will fail. Coinos can handle large swap-in deposits. Consider breaking up on-chain withdraws into smaller swap in transactions.
-
Regarding swap services: See Stacker News comparisons post #163372 a. SWAP-IN: Diamond Hands has the lowest swap-in fees (sometimes even negative). However, if swap fails (more likely for huge swaps, > ~10M sats) there is a several-hour timeout period to wait before refund can be processed. Swapping with smaller transactions may be more reliable (<~10M sats). b. SWAP-IN: Coinos has the second lowest swap-in fees (0.1% plus mining), but may have liquidity delays when swapping in millions of sats (wait a few hours then move more out of coinos to your WoS, then back to Coinos with fresh account for swap out). c. SWAP-OUT: Coinos is our best choice for swap outs (0.1% plus mining). CREATE A NEW ACCOUNT for each swap-out operation for best privacy. Adjust the mining fee before sending to on-chain address according to your needs. d. ANOTHER ALTERNATIVE: Robo-sats swap service. Depends on offers available.
-
Swapping in with Diamond Hands a. Enter output LN invoice to Coinos with fresh account (no previous swap-outs) to receive LN funds in coinos. b. Make sure you SAVE YOUR BACKUP – save the refund.png file, AND save your swap hash script as written in the instructions. If you have problems, contact the Diamond Hands Telegram Group or Koji Higashi. https://t.me/+HDKHKkjJNwo1Njk1
-
Employing WoS and Swapping out a. If swapping in, send funds from swap service to WoS invoice. b. If withdrew directly to WoS from exchange, now we transfer LN funds to coinos with a fresh account (using two anonymous custodial wallets to add 2 layers of privacy, as recommended by Anthony Ronning #114: Lightning Privacy 101 w/ Anthony Ronning (@cycryptr) https://www.youtube.com/watch?v=GGqq804cW5A listen minute 33:33-37:33 )
-
Swapping out a. Swap out to your cold storage from Coinos. For enhanced privacy, combine multiple exchange withdrawals together for your final swap-out, or break apart your swap-out transactions into 2 parts. The idea is if you swap out with an amount identical/close to your KYC withdraw, I imagine it could be inferred that that chain activity might be yours (this could be paranoia, but it is a point). Making your swapout amounts sufficiently different from your exchange amount could improve privacy. Especially if you use fresh accounts for each swapout, as recommended.
-
TL;DR SUMMARY – THE EASIEST WAY: a. The easiest way is to do multiple withdraws from KYC exchange directly to your anonymous WoS. From there, send to your fresh account Coinos, then swap out lump sum to your on-chain cold storage. RESULT: Sats have lost their connection to any on-chain address of yours by being not only swapped into the LN, but then shifted from one anonymous custodial wallet service to another (WoS to Coinos), then finally swapped out to a completely unrelated on-chain address. TOTAL FEES FOR PRIVACY: 0.1% plus mining.)
ADDITIONAL PRIVACY TIP: Use tor browser when accessing Coinos. You can also use hosted channels like in OBW wallet to take possession of your LN sats. Drain hosted channel into your self-custody private channel and repeat. Spend your LN sats or send to Coinos again for swap out to on-chain cold storage.
TL;DR – See step #8 Summary
I wrote this article from personal experience and is my honest opinion. I like privacy but don’t want to gouge myself for it. I think this process is a good middle ground. I used to buy only nonKYC sats from Bisq and Robosats. I appreciate nonKYC markets for those who don’t mind the higher premiums and offer-based transactions. However, now I buy KYC for the benefits and convenience described and create forward privacy using this process. If you want to support my work I’ll share my referrals for Strike and River. I hope that doesn’t take away from the genuine thoughts I shared in this post. Thanks and happy stacking.
Strike referral: https://invite.strike.me/6ADMHF
River Financial referral: https://river.com/signup?r=UXPYTWGZ