0. Introduction
That 114514 meme coin has been getting a lot of attention lately. This article is not investment advice; it aims to demystify coin issuance and tear open the myth of web3 finance
If you don’t understand web3, you can read my earlier post What Is Web3? From State Machines to Decentralized Finance, the Clearest Look at What Web3 Actually Is
1. What Issuing a Coin Is
In the Web3 world, issuing a coin isn’t printing banknotes; it’s writing code. The most common standard is ERC-20
1.1 What Issuing a Coin Looks Like
Issuing a coin is really just writing a Class that implements the IERC20 interface. As long as your code contains the following core logic, the blockchain recognizes what you issued as a “coin”:
totalSupply(): tells everyone how many coins exist in totalbalanceOf(address): looks up how many coins someone hastransfer(to, amount): how many coins A transfers to Bapprove()&transferFrom(): authorizes someone else (an exchange, say) to move your coins
1.2 The Core Data Structure
The heart of the whole contract is actually just this line of code:
mapping(address => uint256) private _balances;This is a hash table
- Key: the wallet address, like
0x123... - Value: the balance number, like
114514
Issuing a coin is defining an immutable Excel sheet, with addresses as the header and balances as the contents
1.3. Compilation
The blockchain can’t read the Solidity code you wrote; it needs to be translated into machine language
1.3.1 Bytecode
The code is converted by a compiler (such as solc) into a long string of hexadecimal characters like 6080604052348015610010.... That’s what actually runs inside the Ethereum Virtual Machine, the EVM
1.3.2. ABI, Application Binary Interface
This is a JSON file, essentially a README. It tells wallets and exchanges: this contract has a function called transfer, which takes two parameters, one an address and one an amount
1.4 Deployment
1.4.1. Sending a Special Transaction
Issuing a coin on mainnet is essentially sending a transaction to the blockchain’s empty address 0x0
- **Payload: that’s the Bytecode generated above
- Gas Fee: the miner fee, which I prefer to call fuel. On mainnet, this step costs real money (ETH/SOL). Because you’re occupying storage space on nodes worldwide, you have to pay for it
1.4.2. On-Chain Confirmation
Miners/validators package your transaction and write it into a block
Once written, the EVM executes your Constructor, which usually does two things:
- Mint: writes
1145140000...coins directly under your (the deployer’s) address - Generate an address: computes a brand-new contract address from your wallet address and transaction count
At this point your coin has been born. It lies quietly in some block on the blockchain, but its value is still 0, because it isn’t in anyone’s wallet yet, nor on any exchange
1.5 Open-Source Verification
Because all that’s on-chain is bytecode (gibberish), nobody dares buy. People are afraid you wrote a backdoor, so source verification is needed
1.5.1 Etherscan
You upload your source code to the block explorer Etherscan
Etherscan compiles your source on the spot, and if the resulting bytecode matches the on-chain bytecode exactly, it gets a green checkmark
Passing verification means showing your hand to the whole world. Of course, auditable doesn’t mean safe — plenty of sophisticated leek-harvesting logic (hidden fee rates, blacklist mechanisms) is open source and ordinary leeks still can’t understand it
2. Alchemy
In the traditional stock market, to sell a stock there must be someone on the other side placing a buy order
But on Web3’s decentralized exchanges there is no order book, only a mathematical formula and a pool
2.1 Automated Market Makers, AMM
This is DeFi’s greatest invention and also its most violent harvesting tool. There’s only one core formula:
- : the number of CEPATO coins in the pool.
- : the amount of ETH (real money) in the pool.
- : a constant (unchanged as long as nobody adds or removes liquidity)
Briefly
When you use ETH to buy CEPATO coins:
- The ETH () in the pool increases
- To keep unchanged, the CEPATO coins () in the pool must decrease
- Where did the coins that disappeared go? Into your wallet
- Because there are fewer coins and more money in the pool, the average price of the remaining coins naturally rises
2.2 The Market Maker’s Perspective
As the issuer, you’re the first person to create this pool. This means you are God; you can define the initial price however you like.
- Go to a coin issuance platform: connect your wallet, choose “Create trading pair”
- Inject assets:
- Asset A: put in 1,000,000 CEPATO Coin (air)
- Asset B: put in 1 ETH (real money)
- A price is born
- At this point, through division, the initial price is physically locked at: 1 ETH = 1,000,000 CEPATO Coin
- Or in other words: 1 CEPATO Coin = 0.000001 ETH
A market cap comes into being without an audit, without a roadshow, without financial reports. All it takes is me being willing to put up 1 ETH to play along with this pile of code, and it has a market cap
2.3. LP Token: The Key to the Vault (and the Tool for Running Off)
When you put coins and money into the issuance platform, the platform gives you a receipt called an LP Token (Liquidity Provider Token)
This LP Token is crucial: it represents your ownership of the pool
-
The compliant play: To reassure the leeks, the market maker usually sends this LP Token to a black hole address or locks it on a third-party platform. This means I’ve destroyed the vault key, I can’t withdraw the money in the pool, everyone charge in with confidence
-
The harvest play The market maker keeps the LP Token in their own wallet
- Wait for the leeks to buy in crazily, pumping 1 ETH up to 100 ETH
- At this point the pool holds: a small amount of CEPATO coins + 100 ETH
- The market maker takes the LP Token to the platform and clicks 移除流动性
- The market maker takes all the ETH in the pool and runs. The coins in retail investors’ hands can suddenly no longer be sold (because there’s no money in the pool), and the price instantly goes to zero
2.4. Slippage and Price Impact
This is a side effect of the AMM mechanism, and also the mathematical weapon big players use to harvest retail
- A pool is tiny, holding only 1 ETH
- Some rich guy suddenly comes along with 0.5 ETH to buy coins
- That single trade drains half the pool’s liquidity. Per , the price shoots up exponentially
- Even though the rich guy pushed the price up, his own entry cost was extremely high — he bought at the very top
A small pool (a shitcoin play) is like a small puddle: throw in a little money and it spikes or crashes. That’s the mathematical reason shitcoins so easily do “100x” and “to zero”
But do you think that, as the market maker holding the LP key, you can sit back and harvest leeks in peace?
How naive
Next, welcome to Web3’s dark forest
3. Ordinary People Are Just Leeks
When you initiate a bank transfer, only you and the bank know
The blockchain is a fully transparent glass room: when you initiate a transaction, before it’s confirmed, the whole world can see it
Out of this was born a species unique to Web3: the MEV bot, commonly known as a “scientist”
3.1 The Queue
When you click confirm on a transaction in MetaMask, your transaction isn’t written to a block immediately; it first flies to a public waiting lounge called the mempool
- Miners pick transactions from the mempool to package into blocks. Who gets picked? Whoever pays more fuel gets on first
- Bots monitor the mempool 24 hours a day. The moment they spot a fat fish queuing up, they use the gas bidding mechanism to carry out an attack
3.2. Attack Demonstration
3.2.1 Front-Running
Say you notice CEPATO coin looks promising and decide to go heavy with 10 ETH
- A bot spots your large buy order while scanning the mempool. It quickly calculates: once this buy order fills, it will push the coin price up 5%
- The bot immediately sends its own buy order for the same coin, but its gas fee is 1 dollar higher than yours
- The miner sees the bot paying more and puts the bot’s transaction ahead of yours.
- *The result:
- Block N: the bot buys -> price pushed up 5%
- Block N+1: you enter -> you’re forced to buy in at a price 5% higher
- Profit: the bot sells right back, risk-free arbitrage on that 5% spread
It’s like you’re queuing in the cafeteria for the last portion of braised pork; you’ve just swiped your card when a bot rushes over, gives the lunch lady 5 extra yuan to snatch the meat away, then turns around and sells it to you at a markup
3.2.2 Sandwich Attacks
This is the advanced version of front-running, and it eats from both ends
Say you want to buy a large amount of CEPATO coin, and you’ve set 10% slippage (meaning you’ll accept a fill price at most 10% worse than the current one)
The bot’s procedure is as follows:
- The first bite:
The bot detects your slippage tolerance, sends a huge buy order with gas maxed out, and forcibly cuts in line ahead of you to buy
- The coin price spikes instantly, stopping right at the 10% slippage limit you set
- The middle layer:
It’s your transaction’s turn to execute. Since the price is still within your tolerance (even though it’s the peak), your transaction fills
- Your large buy pushes the already-spiked price up a bit further
- The third bite:
The bot sends a sell order with gas set slightly lower than yours, selling right after you
- The bot bought at the lowest point and sells at the highest point that you pushed it to
Your transaction is effectively sandwiched between two bot transactions. Every cent of premium you pay on the buy becomes the bot’s profit. This is why retail investors on-chain often feel like the price drops the moment they buy
3.3.3 Honeypot
If the attacks above are bandits from outside, then a Honeypot is a trap set by the project team (that’s you)
// 这是一个简化的貔貅逻辑function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { // 如果是卖出操作(to 是 Uniswap 池子地址) if (to == uniswapPair) { // 只有庄家(owner)能卖,其他人报错 require(from == owner, "弱智,你被骗了"); }}Retail investors watch the chart soar (because you can only buy, never sell), see their account balance turn into millions of dollars, click sell in excitement, and the wallet pops up a red Transfer Failed
3.3.4 Pulling the Pool
As mentioned earlier, after adding a pool you get an LP Token
As long as this credential is still in the market maker’s hands, the market maker is the president of this bank
- The harvest process:
- The market maker issues a coin and adds a pool of 1 ETH
- Everyone charges in like crazy; the pool now holds 100 ETH
- Late at night, the market maker opens Uniswap and clicks 移除流动性
- The outcome:
- The market maker takes the 100 ETH in the pool
- Retail investors are left holding a pile of
CEPATO Coin - At this point the retail coins still exist and aren’t locked, but there’s nowhere left to exchange them. The price instantly goes to zero (the divisor becomes 0)
Some market makers will say: I locked the LP Token on a third-party platform, I’m safe
In fact, he may have locked it for 1 month. A month later it unlocks automatically, right when the project’s hype has cooled and the leeks have let their guard down the most, and then he pulls the pool
3.3.5 The Permission Backdoor
- The coin price rises to 100 yuan each, with a total supply of 1 million
- The market maker calls the hidden
mint()function in the contract (only the Owner can call it) and prints 100 million coins out of thin air for himself - Dumping: The market maker takes these 100 million zero-cost coins and sells them all into the pool at once The money in the pool is drained, and the coin price instantly becomes 0.0000001
4. Conclusion
What’s called Web3’s “tokenomics”, once you strip away all the fancy jargon, is mostly just a game of betting on a greater fool
- Issuing a coin: takes 5 minutes, Ctrl+C a piece of code, cost is zero
- Value: as long as someone believes in it, air can be exchanged for ETH
- The environment: outside there are MEV bots hunting 24 hours a day, inside there’s a market maker ready to pull the pool and run at any moment
- If you’re a technical person: go play on a testnet, write some Solidity, study the AMM math formula, and you’ll marvel at the exquisite design of the decentralized ledger. This really is progress in computer science
- If you’re a gambler: please remember that on mainnet, what you’re facing isn’t luck, but asymmetric code privileges and millisecond-level algorithmic harvesting
In this dark forest, only one kind of person is guaranteed to profit:
the people selling shovels, and those of us issuing coins on a testnet just for fun
4.1
Next up: how to issue a coin on a testnet
