Obligatory "CEX bad" comments incoming but I'll be transparent anyway. I'll just ignore the knee-jerk reactions. Thanks in advance to anyone adding value to this post.
As many might already know, I am based in Germany. I've been using Kraken as a convenient way to buy bitcoin for some years now. Since April 2022, they even supported lightning with zero withdrawal fees. This was a total game changer for me.
I liked this very much since not only do I not pay anything for withdrawals (or coinjoins), but it also gave me a nice layer of privacy.[1] They know the node pubkey that I sent to but as @DarthCoin often likes to mention, lightning can be a washing machine. They know how much bitcoin I bought when but they can't tell what happened after withdrawal: lightning breaks chainanalysis.
However, this is no longer available. They announced back in July that every German client had to reverify themselves because they were moving them to a different custodian for compliance reasons so not really in my interest:
From September 10, 2024, verified clients will face BaFin regulated counterparties (DLT Securities GmbH and DLT Custody GmbH) for crypto services and a Central Bank of Ireland (CBI) regulated counterparty (Payward Ireland Limited) for fiat services (bank deposits and withdrawals).
Overall, the experience for our clients will remain familiar, utilizing the same Kraken interfaces and providing access to services currently available to German clients.
After some back and forth if I would use this moment to stop using CEX's and completely switch to RoboSats, a p2p lightning exchange that I used a few times in the past, I decided to bite the bullet and reverify myself when I could no longer simply close the aggressive prompts because my account was restricted to only withdrawals until verification now.
I decided to do it because I like to buy small chunks of bitcoin daily and I believed this would be too inconvenient on something like RoboSats where you have to wait until someone takes or accepts your order. Additionally, you're wiring money to random people which can look suspicious and lead to your bank account getting closed. So to be safe, I would have to open a separate bank account only for that. That was just too much for me so simply continuing to use Kraken seemed like the better option considering all trade-offs. I'm not that guy that I met on a conference that exclusively buys bitcoin p2p with cash. I believed the KYC problem wouldn't be that different compared to how it previously already was. It would now just be clearer to the BaFin that I buy bitcoin but I never really believed that wasn't the case already anyway. I deposit money from my German bank account to a known crypto exchange. It's not a mystery what happens on these exchanges.
I didn't think to check if lightning would still be supported. I briefly skimmed the changes. I totally forgot about how much I cared about lightning withdrawals. It seemed like it would only be a formal change.
However, after September 10, 2024, the option to withdraw over lightning no longer showed up. I opened the support chat and mentioned my problem:
Me: I can't withdraw to Lightning. The option doesn't show anymore.
[...] convincing the bot I need a human [...]
Support: I see what you mean about the option not showing on your account. We are experiencing downtime due to scheduled maintenance to perform platform changes in Germany. Please refer to our status page (https://status.kraken.com/incidents/1hc0tz8cw58d) to stay up-to-date with the progress. Once this is complete your account will be returning to normal usage 🙂
Me: Ah okay, thank you!
Support: You are most welcome, do you have any other question or concern ?
Me: No, thank you
I actually indeed had a question: I asked about the zero withdrawal fees and about BOLT12 support. It was annoying to create a new lightning invoice for every withdrawal that I had to confirm using 2FA. However, they couldn't give me any information about it:
Technical support: Thanks for reaching out.
Related to our lightning integration, for security we are not able to provide details related to our internal funding infrastructure. However, Kraken has developed a highly secure Lightning infrastructure which facilitates the current fee offerings.
Related to BOLT12, Kraken has not announced any support for BOLT at this time. Related to this, while we are always open to adding new digital assets and funding options to our exchange, we never announce in advance which ones will be listed. The best way to get up-to-the-minute details regarding assets listed on Kraken is to read our email newsletters and follow our Blog (http://blog.kraken.com/) and X (formerly Twitter) feed (https://twitter.com/krakenfx).
I hope this information is helpful. Please feel free to let us know if you have any additional questions.
This reply sounded a bit like they think BOLT12 is a shitcoin but I gave them the benefit of the doubt.
Me: No more questions, thank you
Technical support: You're welcome. And we appreciate the feedback regarding BOLT12.
I always appreciated that fast support via chat. I thought that would be it and I could soon withdraw my funds over lightning again (and maybe even with BOLT12 at some point?!).
However, today, I checked the status page again and saw that the maintenance is complete but the option still didn't show. I continued the chat:
Me: Hi, I see on https://status.kraken.com/incidents/1hc0tz8cw58d that the maintenance is complete now but I still can't withdraw using lightning.
[...] bot stuff [...]
Support: [...]
Please try the following browser troubleshooting steps:
- Make sure your browser is up-to-date
- Try incognito/private mode on your browser
- Clear your browser's cookies and cache
If the above steps do not work:
- Try another browser - our site is tested on, and works with, most modern browsers
See this support article for further instructions: https://support.kraken.com/hc/articles/360001200183
That generic advice offended me a little bit but I did indeed try out incognito mode at least even though it made no sense to me how something like this could be caused by a browser issue. I was also getting pissed because it sounded before like it's just caused by regular maintenance which apparently wasn't actually the case:
Me: So you're saying withdrawing via lightning should work now for German customers? It does not work in incognito mode. This sounds like some generic advice. I believe you have disabled lightning for German customers since it doesn't show since then anymore. I am only on Kraken because of this and that lightning would disappear wasn't mentioned during the transition.
Support: So the option for using lightning is not there at all now?
Me: Yes, just poof, gone. I can only select "Network: Bitcoin" now during withdrawal. It used to show "Lightning" there, too. I know you're not responsible for it but I want to express that this is a serious downgrade for my experience.
Support: I'm double checking the information for you. One moment please.
Support: Thank you for your patience.
I have looked into this and it does appear we are now not currently supporting BTC Lightning transactions.
This change has take place from September 10th due to new regulatory regulations. Please see further information here: https://support.kraken.com/hc/en-us/articles/overview-of-changes-for-german-clients
Further information can be found here on supported assets: https://support.kraken.com/hc/en-us/articles/asset-support-for-german-clients
My heart dropped. As mentioned, I already had the feeling that they just don't support it anymore for German clients but getting the confirmation was still disappointing. The day before, I was dreaming about BOLT12 support and now I wasn't even able to use lightning until who knows when.
Me: Where is mentioned that lightning will be no longer supported?
Support: Under this section of acceptable withdrawal addresses - https://support.kraken.com/hc/en-us/articles/supported-address-formats-for-cryptocurrency-withdrawal-for-german-clients
Lightning addresses are no longer supported.
Indeed, in this table only addresses that start with 3, bc1 or bc1p were listed as supported. No lnbc. -_-
Me: Okay, I see. Any ETA when this will be supported?
Support: Currently it is down to regulatory issues but as soon as we are able to bring back the service we will 😊️.
Me: Okay, thank you for the information. Have a nice day. I assume you can't tell me more about those regulatory issues.
Support: There is nothing more we can provide at this time. These are constantly on going and we are looking to provide all our clients in all regions with the same operational benefits.
Me: Okay, that is all then
Support: Happy to help 😀️. It's been a pleasure speaking to you today!
Should you need anything else, we are here 24/7 to help. Please do not hesitate to contact us at any time!
Have a great day and thank you for choosing Kraken 🐙.
You're welcome but I regret it -_-
I guess I have to find a new CEX that supports lightning withdrawals and ideally even with zero fees or indeed switch to a DEX like RoboSats.
I wondered how zero withdrawal fees made sense for them though. ↩
Strike is available in Germany and even supports Bolt12
Oh, great suggestion! I did download the app a while ago when I realized it's available now in Europe but I didn't have a need for it yet so didn't finish the KYC process with them. But I do now and you reminded me. Thank you!
We also have plans to add Strike as a wallet on SN so you can zap and withdraw using Strike.
Strike is pretty much the best KYC option. The UX is so much cleaner when it's not makeling you gargle 17,000 flavours of shitcoin. Downside is that it's a shade more expensive due to the spread.
A nice thing about Strike is that it has a bank account in your name (at least in the UK). So you can have your salary paid into it and auto-converted to BTC, and other banks don't seem to block transfers to it.
__@_'-'
One suggestion that might work for you:
Open Aqua wallet, receive via Liquid and tap the "direct peg in" option. It will serve you up a regular bitcoin address and as soon as the on chain funds confirm it will convert to liquid in your wallet. If you're not a fan of the federated model of liquid, simply send out of Aqua to any lightning wallet you please, and it will create a boltz swap to lightning automatically.
great suggestion
FYI @nichro
Python standard librariesPython standard libraries
import requests import os import time from datetime import datetime import logging
Third-party librariesThird-party libraries
import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error import schedule
Config loggerConfig logger
logging.basicConfig(filename='regression_model.log', level=logging.INFO)
Program constantsProgram constants
MEMPOOL_URL = "https://blockstream.info/api/mempool/recommended-fees" MEMPOOL_STATS_URL = "https://blockstream.info/api/mempool" DATA_FILE = "mempool_data.csv"
List to store data in memoryList to store data in memory
data = []
Helper function to handle request errorsHelper function to handle request errors
def handle_request_error(e, message): logging.error(message, exc_info=True) print(message) return None
def initialize_csv(): """ This function checks if the CSV data file exists. If it does not, it creates it and writes the headers. """ if not os.path.exists(DATA_FILE):
headers = ['timestamp', 'fastest_fee', 'half_hour_fee', 'unconfirmed_transactions', 'vsize'] df = pd.DataFrame(columns=headers) df.to_csv(DATA_FILE, index=False)def fetch_fees(): """ This function requests the current mempool fees from Blockstream. If the request fails, it logs the error and returns None. """ try: response = requests.get(MEMPOOL_URL) response.raise_for_status() return response.json()
except requests.exceptions.RequestException as e: return handle_request_error(e, 'Error fetching recommended fees')def fetch_mempool_stats(): """ This function requests the current mempool stats from Blockstream. If the request fails, it logs the error and returns None. """ try: response = requests.get(MEMPOOL_STATS_URL) response.raise_for_status() return response.json()
except requests.exceptions.RequestException as e: return handle_request_error(e, 'Error fetching mempool stats')def collect_data(): """ This function collects data from the Blockstream API and appends it to the data list. It then writes the data to the CSV file. """ fees = fetch_fees() mempool_stats = fetch_mempool_stats()
if fees is None or mempool_stats is None: return timestamp = datetime.now() data.append({ 'timestamp': timestamp, 'fastest_fee': fees['fastestFee'], 'half_hour_fee': fees['halfHourFee'], 'unconfirmed_transactions': mempool_stats['count'], 'vsize': mempool_stats['vsize'] }) df = pd.DataFrame(data) df.to_csv(DATA_FILE, mode='a', header=False, index=False) print(f"Data collected and saved at {timestamp}")def generate_training_data(): """ This function reads the CSV file, checks if there is enough data for training, and then separates the features from the target. """ df = pd.read_csv(DATA_FILE)
if len(df) < 2: print("Not enough data collected for training") return None, None X = df[['unconfirmed_transactions', 'vsize']] y = df['fastest_fee'] return X, ydef train_model(): """ This function trains a Linear Regression model on the data collected. It splits the data into a training and test set, then fits the model, and finally calculates the MSE. """ X, y = generate_training_data()
if X is None or y is None: return None X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) model = LinearRegression() model.fit(X_train, y_train) y_pred = model.predict(X_test) mse = mean_squared_error(y_test, y_pred) print(f"Model trained. MSE: {mse:.2f}") return modeldef make_prediction(model): """ This function uses the trained model to make a prediction on the current mempool stats. """ fees, mempool_stats = fetch_fees(), fetch_mempool_stats()
if model is None or fees is None or mempool_stats is None: print("Error: Missing data or model") return X_new = [[mempool_stats['count'], mempool_stats['vsize']]] predicted_fee = model.predict(X_new)[0] print(f"Predicted Fastest Fee (sat/vB): {predicted_fee:.2f}") print(f"Current Fastest Fee (sat/vB): {fees['fastestFee']}")def schedule_tasks(): """ This function schedules tasks to collect data and train the model. Data is collected every half hour and the model is trained once a day. """ schedule.every(30).minutes.do(collect_data) schedule.every().day.at('00:00').do(lambda: make_prediction(train_model()))
def start_bot(): """ This function initializes the bot. """ try: initialize_csv() schedule_tasks()
while True: schedule.run_pending() time.sleep(1) except KeyboardInterrupt: print("Program interrupted") finally: if data: df = pd.DataFrame(data) df.to_csv(DATA_FILE, mode='a', header=False, index=False) logging.shutdown()if name == "main": start_bot()
Hey Ek,
Can you share your ticket number with me? I would like to look into this for you. I have confirmed with the team that this is a technical blocker so I want to make sure the messaging you received on your support ticket is consistent
Hey, thanks for the reply! I am not sure where I can find the ticket number. I used the Kraken Live Chat.
The support is the same almost everywhere. It sucks! So many attempts for a simple answer that they just stopped it accepting.
For anyone's information. Kraken is still not available in India while Binance made a re-entry. Binance has a deposit and withdrawal enabled. However, I still didn't use it for buying. Can I buy from them would it be safe?
Yo, ex-German Kraken user here. I closed my Kraken account due to the recent re-verification nonsense. Used Kraken for close to 10 years, they served me well.
About this
I get it's intimating initially, but it is actually beautiful in the end: Vexl uses your web of trust to match you with Bitcoiners.
It's like Bitcoin match making using people you know in common. aka tinder for Bitcoiners.
I've made some contacts on Vexl who I consider my "bitcoin friends/contacts", and we ping each other when one of us needs to buy/sell. Meet in person, and done.
Now you have a micro-community around you of Bitcoiners, which we all should have.
vexl requires a phone number, for this reason it should be avoided
It's for spam mitigation. Works with a burner number too.
(I said the same thought/question a while back)
Excuse the typo, I mean intimidating
Oh that's maybe why the deposit address that i needed to use to deposit funds with Kraken changed from a German bank to one from Liechtenstein (if i recall well).
German regulations getting tighter.
I don't know when the change happened as it got harder to transfer money from Korea anyhow so I'm not using it much.
Lightning withdrawal still available in my case though.
My deposit address is in Ireland
cries in German
15 percent corporate tax rate
Kraken doesn't mind using German routing nodes, though.
That means German gov is reading Darth's guides? https://postimg.cc/6TNXX6Q4
haha maybe
Same story, stopped using Kraken the moment strike became available. Instant deposits, simple withdrawals, it's not even withdrawals as you can use strike directly as a lightning wallet. It's more like WoS than Kraken in this case. Sure, you will love it. Other lightning options available in Germany are Pocketbitcoin and Coinfinity. Coinfinity were actually pretty good and were operating at least a year before strike, they don't have enough credit imo. Also Relai, but they don't have instant deposits from Germany as they have a Swiss bank account. Also their lightning solution is non-custodial so you need to open some channels - thus fees. I would say if you are comfortable with KYC get strike and never look back:)
It's frustrating, really, but if you're serious about RoboSat, don't turn back. This whole regulation thing is a pain in the ass. Something works today, maybe not tomorrow. Today they don't ask for KYC, but tomorrow they do. You can also try LNP2P https://lnp2pbot.com/index.html
fk tg
I'm not sure how long your expectations around waiting time on Robosats are, have you played with it at all? sometimes I feel like it takes me longer to do the invoice and bank transfer than the time it took the person to accept an offer, like I'm slowing the trade down
and setting up a bank , robosats has things like wise/revolut as options so its not as involved as having to go into some branch and setup an account
just saying...
I used it a few times. My counterparties weren't very responsive and one even realized they don't support SEPA Instant so we had to cancel the trade. It's been a while though.
deleted by author
Up to 5,000,000 VND (~ 200 EUR) you can purchase via Wise Transfers without KYC from
https://bitcoinvn.io/?deposit=vndwise&settle=btcln
It might not be instant though, by experience some of the transfers take a few hours or up to a business day to clear :)
Don't touch Wise! They may and one day they will just stop your transfer. And their support only has a bot! Money gone - puff!
Yes.
Generally doing any large scale transfers via Wise is quite risky due to their automated flagging algo & limited support in case "something gets stuck".
With that said, for smaller amounts as described above (limit your downside) it can be a "worthwhile risk/reward".
I think Relai do LN withdrawals now.
Relai ist going full KYC. Fuck them
https://i.postimg.cc/FsV9xZL0/force-strong.gif
This really sucks!
I can recommend the lightning service from Pocket Bitcoin.
It supports auto withdrawals to your own lightning node depending on your set up.
https://pocketbitcoin.com/lightning
I really hope thats temporary or I'll have to switch exchanges after 10 years :/
Still no lightning support.
What I took from this is man Germany is even more of a nanny state than Canada and you are very polite to bots. I get agitated with bots easily and usually something to the effect of "stupid robot". Yup I will be the first one incinerated by robot laser eyes when the bots take over the world.
I skipped the bot messages, every message you can see here is from a human
Sorry, misread that.
it's okay, reading these messages must have triggered the Canadian goose in you
Lightning is just too fast for regulation. Can't have that.
I think Relai also has a LN service now.
AAAND IT'S GONE
Robosats remains unaffected.
"When there is the need to know", most people will come to Bicoin the hard way and the only way.
No surprise.
Why not?
Edit: Oh, maybe that’s the effect of MiCA
Because they follow compliance and listing shitcoins all the time.
And fake news, the reason is technical in nature.
source (a Kraken employee): https://x.com/marcmckirahan/status/1834621763923157174
This is why LLM’s shouldn’t run on helpdesks. They hallucinate answers.
https://xcancel.com/marcmckirahan/status/1834621763923157174
Just use Strike, much better, easier and with all the new features unlike the big exchanges.
Just checked, still shows in UK. But I am sure not for long. Travel Rule is a bitch.
Try bringin.xyz Instant, and you get a virtual IBAN - in your name. So your home bank won't know you bought bitcot, since you are transferring to an account in your name, and not Payward Ltd.
The mobile app supports Nostr Wallet Connect, so you can stack directly into your existing wallet.
Fuck Kraken.
Is there any legal basis for this restriction?
Yes, it appears that Kraken has discontinued Lightning Network withdrawals for German clients. This decision is part of their operational adjustments and may be influenced by regulatory considerations. If you're a German user of Kraken and need further details, it’s advisable to check their official announcements or customer support for the most accurate and up-to-date information.