How I Created the World’s Largest Airdrop of All Time
Earlier today I deployed an ERC20 contract on the Ethereum mainnet that distributed 100 DETS to every single wallet address.
Which is about 1.5 quindecillion token airdrops, for a total value of 0.15 sexdecillion DETS.
And you don’t even have to claim them — they’re there already.
TL;DR: every address on the Ethereum mainnet now owns 100 DETS
Last night I couldn’t sleep.
So I did what any sensible Solidity developer would do — I got up, and wrote and deployed an ERC20 token contract on the Ethereum mainnet that I believe constitutes the largest token airdrop ever seen.
The largest token airdrop to the most addresses!
Ever! Gazillions of tokens!
To everyone! Even people in the future!
That’s right, and it’s on the Ethereum mainnet. No testnets or layer 2 solutions for this baby.
It is called DETS, and every single Ethereum address has received 100 of them. Yes, every single address, making it the biggest airdrop in Ethereum history, to the best of my knowledge.
Here’s a link to the contract on Etherscan: https://etherscan.io/address/0xe7c4F86Ab703343b055433ceE05252158cbb305B
It’s a hack and slash job, done while sleep deprived, and tested in production*, so I’m sure Andre Cronje will be proud. Actually, he probably won’t, because he’s recanted his testing mantra.
Anyway, I tested it on Rinkeby for half and hour and then tried moving some of the tokens around on the mainnet, and that succeeded, so hopefully it works.
If you have a bit of Solidity programming knowledge you can check out the code, as it’s verified on Etherscan. You’ll see that it doesn’t drain other tokens or NFTs, or do anything horrible. It just creates a token on the Ethereum blockchain with functions that match the ERC20 specification.
Hang on … every Ethereum address?
Yep, that’s right. Every Ethereum wallet address or contract address that exists or may exist in the future currently has a balance of 100 DETS. Unless they transfer some away to someone else.
Even Vitalik Buterin currently has at least hundred of them (see: 100000000000000000000 wei DETS in address 0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B):
Now, an Ethereum address consists of 40 hexadecimal characters. And for each character there are sixteen possible options, namely 0 to 9 and A to F. If you paid attention in the combinatorics topic of your mathematics classes, you will know that means that there are a total of 16⁴⁰ possible address. Which is about 1.5 quindecillion token airdrops, for a total value of 0.15 sexdecillion DETS.
We are talking about numbers with forty-eight or more zeroes following them, so … pretty big ones. With really cool and suggestive names.
* Note to future clients: this is not the way I work professionally. The last NFT contract I deployed had 99 tests, and four test runs on Rinkeby before the mainnet deployment.
Question: how do I see these tokens in my wallet?
If you’re using Metamask:
- Open your account
- Make sure you’re on the Assets tab
- Scroll to the bottom and click “import tokens”
- Click on the Custom Token tab
- Paste 0xe7c4F86Ab703343b055433ceE05252158cbb305B into the Token Contract Address field
- Click the Add Custom Token button
- Note that you have 100 DETS, and click on the Import Token button.
I should warn you at this point, that it is only possible to transfer at most 1 DETS at a time. I will explain why later. Note that this also means that anyone setting up a DEX is going to find it fails if people try to swap more than 1 DETS in or out.
Oh, and while all efforts have been made to ensure the contract is bug free and safe, note that it’s under the MIT license, and is therefore covered by waivers and limited liability:
Question: how do I get those tokens away from my wallet!
You can’t. Because that’s not how tokens work, and this affords me a great opportunity to explain how tokens on the Ethereum blockchain.
A token contract is a ledger, that keeps track of who owns what, and ensures that the balances can only be changed by the person (or contract) holding the private key to a public key with a balance recorded against it.
This is similar to the way in which a bank keeps a ledger of who owns how much money, and is supposed to only change the balance of a bank account balance if the account holder requests it. Or their delegated accountant. Or the government, if they want to seize assets. Or an embezzeling bank employee. Or the automated charging software for standing orders.
So just as your bank balance isn’t “in your wallet” in the real world (it’s on a database in a bank IT center), your token balance isn’t “in your crypto-wallet”.
What’s more, as a Solidity developer, I can deploy a contract that instantiates a token ledger, which says that your Ethereum address has a balance of those tokens.
If you don’t like it — just ignore it. Don’t look at it. Pretend it never happened.
Honestly, it doesn’t matter. For all you know, there are thousands of contracts out there that claim you have a balance of thousands of different tokens, and they don’t keep you up at night, do they?
Also, I wrote down your name on a piece of paper, and wrote next to it “owns a Deodand and a Grue”. Does the fact that my paper says you own a Deodand and a Grue bother you?
You can transfer them out one at a time. But read the last paragraph before you start down that road.
Question: why did you do this?
I like explaining things about blockchain — just go to my YouTube channel if you don’t believe me. There are over 600 short videos there covering all sorts of interesting things about the technology, psychology, sociology and philosophy of blockchain.
I also wrote about the risks associated with airdrops. Some of the contracts involved contain malicious code (sometimes carefully concealed so a cursory glance or even a one or two day audit won’t reveal them). Some of the air drops use social engineering to orchestrate a pump and dump.
It’s the wild west out there, so be careful, and don’t rush in on a wave of FOMO. Consider every transaction you make and every request on a web3 site you sign carefully.
Note that DETS does not involve any web3 websites or signing random nonces, so that risk isn’t present here.
Question: are you going to make a profit of DETS?
I don’t see any way of monetizing the existence of DETS on the Ethereum blockchain.
Perhaps, indirectly, through fame (or notoriety) increasing public awareness of my book, and hence sales, I might make back the 100$ or so I spent on deploying the contract. But that’s a bit of a circuitous route to wealth, so I’m not counting on it.
In any case, if anyone wants more DETS, all they have to do is create more wallet addresses, because as I’ve said many times: every address currently holds 100 DETS, even the ones that don’t exist yet.
If you do come up with a way that I can honestly, fairly, and legitimately monetize DETS, please let me know.
- There is now a contract on the Ethereum mainnet at https://etherscan.io/address/0xe7c4F86Ab703343b055433ceE05252158cbb305B
- It ensure that every address has 100 DETS to its name
- This probably makes it the biggest airdrop (or the airdrop to the most wallets, or possibly even the stupidest airdrop) in the history of Ethereum.
- You can only transfer a maximum of 1 DETS at a time. Try to send more, and you’ll waste your gas and hence your money. You have been warned.
Hey, question! Why can I only transfer 1 DETS at a time?
I did say I’d explain that, didn’t I?
Well, the idea I had in the middle of the night was to have a token that no one would really want, and that only the rich could transfer away easily. A bit like debt, and hence the limit. At the moment the lowest gas prices are about 100 gwei, so if you want to flex by showing the world you have no DETS, that’s going to cost you at least $1500 in ETH.
Hey, DETS … debts. Get it?