Everything that was wrong with the Midnight Glacier Drop

Wow, this was a stream of questionable to outright mind-bogglingly ridiculous problems and decisions!

Maybe, other projects can learn from this debacle.

The “Support”

Shortly after the start of the Glacier Drop, the Midnight team made very clear that they will not provide any support in their Discord server:

The only official support channel was a chat hidden on their FAQ page:

The reports on how good the help provided by that chat was vary a lot. For quite some users, it made the impression of mainly useless AI slop. Others were more satisfied.

In any case, users were, of course, roaming the Midnight Discord and all Cardano forums, anyway, easy prey for all kinds of scammers. So much that the Cardano Telegram group and this forum had to introduce standard messages redirecting people to the proper channels:

Some users have answered questions in the Midnight Discord for the whole two and a half months without being commissioned or being supported by Midnight for that, just to not let it completely implode. (The admin of the Discord has at least tried to ban scammers swiftly and gave us the permission to timeout scammers and delete scam messages at some point. Thanks for that!)

I don’t know why that has to be stated, but: If you start something of this scale, you, of course, have to have a support team that is responsive 24/7 and monitors at least your channels, ideally also the channels of closely related projects – Cardano in this case!

Scattered and Unclear Information

In my opinion, it was already a bad decision to launch a completely separate website – https://www.midnight.gd/ – and not implement that as an integral part of the already known https://midnight.network/. Every instance of such a move makes the usual advice to only go to already known sites weaker.

So, information about how this all works was in the end scattered over https://midnight.network/blog, https://www.midnight.gd/news, https://www.midnight.gd/faq, https://www.midnight.gd/how-to-get-night, the tokenomics whitepaper downloadable at https://www.midnight.gd/#tokenomics, …

A disappointing number of users coming into the various channels with questions very clearly had read none of those, but even if they had tried, it is more than understandable if they did not find the information relevant to their specific case in this maze.

One of the most important sources was the “News” article “Glacier Drop wallets and address type compatibility”: https://www.midnight.gd/news/glacier-drop-wallets-and-address-type-compatibility

Unfortunately, this wall of text was not really end-user friendly. It required a lot of hand-holding to get users to find that that document, e.g., quite clearly states that Bitcoin addresses starting with 3… were not eligible at all.

It also was not properly updated and some alternatives were never mentioned at all.
It still says that “null transaction signing” is “undergoing audit”, while it was launched at the beginning of September with more than enough time to do the claim.
It never mentioned NuFi as the only method to claim for XRP on a Ledger.
It never mentioned @ATADA’s cardano-signer as the tool to do manual Cardano signatures for cases where people could not or did not want to import their keys into a browser wallet app.
For all chains, it just states “manual path: verified” without any detail how the f to execute that “manual path”. Even if you know your way around several blockchains, you need some more information on standards, algorithms, and encodings to successfully do a manual signature. D’uh!

If you plan to target a huge crypto audience, put a little more effort into giving less confusing, but specific and comprehensible information! And please provide the technical details, so that people not affiliated with you can help better!

Claim Portal User Experience

Although they did know that manual signatures were not for the faint of heart (especially because – see above – they did not give us any hint which tools, formats, … they expected and tested)


they happily offered to manually give an origin address at the very beginning of the claim process without any warning:

I have seen dozens if not hundreds of users to whom we had to explain that the choice of manual origin address at the very beginning made that they also were asked for a manual signature at the very end. Obviously not intuitive.

Could have easily been made better by a) giving a clear warning about that, b) switching the order and first give the destination, then the origin so that the connection is clearer (would have maybe also helped the dozens of users who thought that they had to sign with the destination wallet), and/or c) offering to connect a wallet app to sign at the end even if the address was given manually.

Another big UX fail was the introduction of “null transaction signing”. After that was activated, this screen was presented to everyone claiming for Cardano:


Lots of users interpreted this as an error, not as something that they can just continue. Even more thought it had something to do with their specific wallet, not a generic warning given to everyone. Problem was made larger by the poor implementation of “null transaction signing” (see below) which means that some users had to choose “try message signing anyway” although this screen strongly recommends otherwise.

Nice to haves would have been: If an address is given manually, immediately give information if that address type is not supported at all, so that the users do not waste more of their time trying. Extra bonus points for: State explicitly if the address would have been eligible technically, but was excluded by the third-party auditor. Again, so that users can stop wasting their time. (And you cannot tell me that there are legal reasons to not state that if that is exactly what the support chat told every user asking as “likely” explanation for them not being eligible.)

The “Unused Address” Confusion

That the destination address has to be an unused address already led to confusion before the claim process was even started. And that confusion was completely unnecessary.

While the tokenomics whitepaper claims that that requirement is “best practice”
screenshot-2025-10-26-13:34:35
I have never seen a single airdrop do this.

Most wallet apps (including IOG’s own Lace) chose to provide an unused address of the same account/wallet. In that case, there is absolutely no privacy benefit. The addresses of the same account, of the same stake can easily be correlated by anyone who is able to use a blockchain explorer.

But even if you use the address of a completely new account or wallet (and even if that would have been enforced by the claim portal), it is still very hard to reliably keep that new account unrelated and private. You cannot fund it from an existing account. You cannot move the claimed tokens to an existing account. If you fund it through a CEX, that CEX has the knowledge that it’s you. So, you better find the most shady CEX without any KYC process.

This would have been so much easier if the default way for 90% of the users would have been to just not enforce this and allow any destination address, but only optionally allow for users who really want that to give a destination address of their choice … and then provide extensive coverage on all the details how to really keep that new account private.

The execution of this thing was also very much suboptimal. They used the getUnusedAddresses() method of CIP-30 while they could have known that some single-address wallet apps have chosen for years to just return the single (used) address with that method. Eternl had implemented and offered them an experimental method to circumvent this problem:


They ignored this and used getUnusedAddresses() anyway without any communication before the launch forcing Eternl (and perhaps other wallet apps) to hastily change their CIP-30 implementations.

If you do something like this, communicate with the relevant actors in the space!

Cardano Hardware Wallets

At the start of the claim period, claims with Trezor were completely impossible and with Ledger only possible with some wallet apps. It is beyond me why that was not tested at all. Supporting the relevant hardware wallets should be a requirement from the very start of such a project and not an “Oopsie!” you only realise after launch!

(At the very least, they – including Hoskinson – could have remembered the “hardware wallets not supported” debacle with the CIP-1694 temperature check in December 2023. By the way, the promised second temperature check with hardware wallets never happened.)

The problem with Ledger was that the signature was done not on the message itself, but on a hash of the payload.
This possibility has been in CIP-8 for five years to accommodate limited hardware capabilities and was never debated: https://cips.cardano.org/cip/CIP-0008#payload-encoding

The Midnight team claims that this is a phishing risk because the hashed header is not itself signed so that a malicious dApp could present the hash of a bogus claim as unhashed payload, get a signature from the user, and then use that to steal the claim.
That is not completely untrue, but it requires the user to happily sign a random string of hexadecimal numbers on that malicious dApp. I’d very much think that users who do that would in many, many cases also be vulnerable to just signing an unhashed bogus claim. It’s not that that would be much more clear to technically unsavvy users.

In any case, the proper way would – again – have been to openly communicate that way before the launch and not act as if everybody should have known and the wallet apps and Ledger are to blame and now rightfully should better hurry up to fix their problem. If you deviate from the established standard, it is your responsibility to nicely ask. (I still don’t see a pull request repairing CIP-8 here https://github.com/cardano-foundation/CIPs/pulls?q=is%3Apr+CIP-8 or here https://github.com/cardano-foundation/CIPs/pulls?q=is%3Apr+CIP-0008.)

Luckily, the claim messages were still short enough that most if not all Ledger devices could do a signature without hashing and the wallet apps “just” had to disable that which was done rather swiftly.

(By the way, this representation of the whole matter


https://x.com/IOHK_Charles/status/1952738980249964653
was peak tone-deaf: There was no “issue” with Ledger’s implementation. You decided for debatable reasons to not use an established standard. And expecting Ledger to jump through hoops in a few weeks because the new project of a medium-relevant crypto company asks them to is unbelievably entitled.)

For Trezor, it was worse. It was very much well-known that they had never implemented message signing. So, Midnight had to either provide one of the well-known alternatives – the infamous “null transaction signing” – or push Trezor to finally merge the implementation that they had ignored for years. However, Midnight again acted very surprised that this problem even existed and only started both after the launch of the claim phase. You could have known months before that! Everyone who knows half a thing about Cardano would have known!

Well, Midnight did implement “null transaction signing” and activated it beginning of September: https://www.midnight.gd/news/night-claim-portal-technical-updates

Unfortunately, they did a very strange version of it. The idea is that the message you want to have signed is in the metadata of a “fake” transaction that will never be submitted to the chain, that ideally cannot successfully be submitted and won’t move any of the users assets. What they did was leaving inputs and outputs of the transaction completely empty. This led to some wallet apps trying to give the user a preview of what they are about to sign to reject these null transactions completely.

No previous project doing this work-around has done it that way. (I have shown my idea of how to do it a year ago at https://forum.cardano.org/t/the-most-trivial-aiken-validators/133285#using-a-burnt-utxo-for-login-7 using inputs that are locked in an “always fail” script.)

Eternl had to hotfix again to allow this version of null transactions. As far as I know, Lace was not able to handle them until the end of the claim phase.

If you are doing a project like this, test all steps with all relevant wallet apps with and without hardware wallets! And do that early!

On the plus side, Trezor now has finally merged the message signing implementation: https://trezor.io/support/troubleshooting/coins-tokens/how-do-i-claim-night-tokens-on-trezor

The NIGHT Token Mint

Not directly related to the claim, but Midnight was very proud that they now have minted the NIGHT token: https://www.midnight.gd/news/night-token-supply-minted-on-cardano-mainnet

Just out of curiosity, I tried to find it. So, they said that they submitted its metadata to the Cardano Token Registry:
screenshot-2025-10-26-15:10:04
Should be easy enough to find: https://github.com/cardano-foundation/cardano-token-registry/pulls?q=is%3Apr
Ah, there it is (the only PR related to something called “NIGHT”): https://github.com/cardano-foundation/cardano-token-registry/pull/7714/files

But that token – policy ID 0691b2fecca1ac4f53cb6dfb00b7013e561d1f34403b957cbb5af1fa and asset name 4e49474854 (“NIGHT”) – does not exist: https://adastat.net/policies/0691b2fecca1ac4f53cb6dfb00b7013e561d1f34403b957cbb5af1fa

The only token that does exist is the one with the empty asset name: https://adastat.net/tokens/0691b2fecca1ac4f53cb6dfb00b7013e561d1f34403b957cbb5af1fa

Will be interesting how they are going to fix this.

And I’m flabbergasted that nobody in this organisation had realised that problem between minting on 14th October and submitting the registry PR and publishing that proud news on 20th October.

Conclusion

None of this has anything to do with the technology of the Midnight chain itself. That might be sound. It might even have interesting use cases. (Although I’m very sceptical of that. Privacy is important, but for most of my privacy needs, ZK and blockchain can offer very little benefits. Those are questions of regulations and laws that cannot be replaced by technology.)

But on all things Cardano, this was an unbelievable stream of technical incompetency and horrible communication and I don’t want that to be sugar-coated!

This was only made somehow bearable by the effort of a lot of people not affiliated with Midnight who gave support in the channels ignored by the Midnight team, found work-arounds and fixes for more exotic cases (e.g., How to claim midnight NIGHT tokens for old Byron Daedalus/Yoroi wallet funds - Tutorial, Import BC Vault Wallet to Eternl (for Midnight Glacier Drop claim), Import Exodus (Shelley) Wallet to Eternl (for Midnight Glacier Drop claim) - #27 by HeptaSean, How to claim midnight NIGHT tokens for Cardano EXODUS wallet funds - Tutorial, You can sign anything with Cardano-Signer now - #3 by ATADA, …), implemented work-arounds in all the wallet apps, … without much acknowledgement from the entity responsible for this hot mess.

(We haven’t really touched the other assets of the claim here. This was also a bumpy ride for a lot of users.)

7 Likes

Nice summary.

To be honest i tried to stay away from everything Midnight related since the very begining of this project, because i had a feeling that it will be exactly like it was so far.

Not going to burn my hand with that stuff.

1 Like

Shortly before the airdrop claim began, I created a Midnight Forum account and posted this documentation of the still-uncertain Cardano claim issue:

After the claim period began & Martin posted his X how-to documenting the claim process with cardano-signer, I posted that link as a reply to my own posting. Immediately afterward, the post was hidden and I got an impersonal notification that my account had been blocked from further posting.

Eventually my account got unblocked and the post was restored after a few days when some moderator noticed a number of my messages on the subject. Instead of an apology there was a slap on my wrist for using the “wrong” forum to post a “help request” for my own personal claim: which was clearly not what I was doing. And if there was any attempt to digest that information for Cardano users, I certainly never saw it.

I admit I have gotten spoiled over the years from using this Forum: where people may be disagreeable but at least they are rational and responsive. I hope to find evidence as Midnight continues its launch that their own community will ever communicate beyond a small, haughty, elitist group of application developers.

5 Likes

Good summary of the issues we saw with the Glacier Drop. I hope whatever ecosystem wants to repeat this model in the future, learns from this to make the next iteration better.
To be fair, never before an airdrop like this has ever been attempted. An airdrop to 8 tokens on 7 protocols with a plethora of wallet apps including various hardware wallets. I have seen people with seedless Tangem wallets complaining they couldn’t sign. This is understandably very hard.
Given all that, the final claim rate (~14% or 3.5B NIGHT) and number of participating wallets (~170k) ain’t that bad.
I agree it could have been higher if support and communication would have been better, but I at least believe the decentralization goals with this phase were met.

1 Like

Yes. Granted, it was not in this post, but in the Midnight Discord I very much also did defend Midnight against over-the-top demands and complaints.

The list in the original post above are the things that I absolutely cannot defend, that should have been caught way earlier by an organisation that knows what it is doing.

I can’t help, but wonder how much of this is caused by a quite unhealthy work ethics in that organisation (in this case other part, but same leadership): https://thecryptobasic.com/2025/09/08/cardano-founder-announces-new-24-7-development-model-to-accelerate-leios-progress/

It is okayish, yes.

But I’m very annoyed by

  • always framing “It was not a complete catastrophe.” into “It was a-okay. These guys are the best of the best!” just a few weeks later (really happens every single time with everything Cardano and IOG) and
  • not acknowledging the wallet apps, the volunteers, the people not even affiliated or paid who fix IOG’s ridiculous mess every time. (I’m not expecting Hoskinson to thank me personally. We both know very well how much we hate each other. But all the other people – Eternl, @ATADA, … – would have very much earned a huge: “Thank you for providing all that support for our mess ups!”)
2 Likes

good summary!

also worth to mention is that there was NO way for byron address ada holders to participate in the claim process when the portal launched.

yes, those ada holders should have moved there funds to shelley addresses a long time ago. but still.

thats when i started a deep dive into byron mnemonics to keys derivation nightmare. a special thx goes out to @Fell-x27 (medusa wallet) and @HeptaSean for technical support.

yuta forwarded a “thank you” from byron ada holders, but would have been nice to also get one from official midnight team.

martin

4 Likes