// SPDX-License-Identifier: MIT
pragma solidity 0.8.28;
import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
/// @title LaunchToken
/// @notice Minimal, immutable, fixed-supply ERC-20 deployed once per launch by
/// the LaunchpadFactory. The entire supply is minted to `recipient` (the
/// factory) at construction, which then seeds it as single-sided Uniswap V3
/// liquidity. There is no mint, burn-authority, owner, pause, tax, or upgrade
/// path: once deployed the supply is fixed and the contract is inert. This is a
/// deliberate anti-rug property — a launched token's contract can never dilute
/// holders or block transfers.
contract LaunchToken is ERC20 {
/// @notice The launchpad factory that created this token.
address public immutable factory;
constructor(string memory name_, string memory symbol_, uint256 totalSupply_, address recipient_)
ERC20(name_, symbol_)
{
factory = msg.sender;
_mint(recipient_, totalSupply_);
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "totalSupply_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "recipient_",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "ERC20InsufficientAllowance",
"type": "error",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "allowance",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "needed",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC20InsufficientBalance",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
},
{
"name": "balance",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "needed",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC20InvalidApprover",
"type": "error",
"inputs": [
{
"name": "approver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidReceiver",
"type": "error",
"inputs": [
{
"name": "receiver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidSender",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidSpender",
"type": "error",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "Approval",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "Transfer",
"type": "event",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "allowance",
"type": "function",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "approve",
"type": "function",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "balanceOf",
"type": "function",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "decimals",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "view"
},
{
"name": "factory",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "symbol",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "totalSupply",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "transfer",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "transferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
}
]0x608060405234801561000f575f5ffd5b50600436106100b9575f3560e01c806370a0823111610072578063a9059cbb11610058578063a9059cbb14610162578063c45a015514610175578063dd62ed3e146101b4575f5ffd5b806370a082311461013257806395d89b411461015a575f5ffd5b806318160ddd116100a257806318160ddd146100fe57806323b872dd14610110578063313ce56714610123575f5ffd5b806306fdde03146100bd578063095ea7b3146100db575b5f5ffd5b6100c56101ec565b6040516100d29190610652565b60405180910390f35b6100ee6100e93660046106a2565b61027c565b60405190151581526020016100d2565b6002545b6040519081526020016100d2565b6100ee61011e3660046106ca565b610295565b604051601281526020016100d2565b610102610140366004610704565b6001600160a01b03165f9081526020819052604090205490565b6100c56102b8565b6100ee6101703660046106a2565b6102c7565b61019c7f0000000000000000000000004337a34535abf5cdae8f9074d4824f87d5e79daa81565b6040516001600160a01b0390911681526020016100d2565b6101026101c2366004610724565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546101fb90610755565b80601f016020809104026020016040519081016040528092919081815260200182805461022790610755565b80156102725780601f1061024957610100808354040283529160200191610272565b820191905f5260205f20905b81548152906001019060200180831161025557829003601f168201915b5050505050905090565b5f336102898185856102d4565b60019150505b92915050565b5f336102a28582856102e6565b6102ad858585610380565b506001949350505050565b6060600480546101fb90610755565b5f33610289818585610380565b6102e1838383600161040f565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561037a578181101561036c576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b61037a84848484035f61040f565b50505050565b6001600160a01b0383166103c2576040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152602401610363565b6001600160a01b038216610404576040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152602401610363565b6102e1838383610513565b6001600160a01b038416610451576040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152602401610363565b6001600160a01b038316610493576040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152602401610363565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561037a57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161050591815260200190565b60405180910390a350505050565b6001600160a01b03831661053d578060025f828254610532919061078d565b909155506105c69050565b6001600160a01b0383165f90815260208190526040902054818110156105a8576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024810182905260448101839052606401610363565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166105e257600280548290039055610600565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161064591815260200190565b60405180910390a3505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461069d575f5ffd5b919050565b5f5f604083850312156106b3575f5ffd5b6106bc83610687565b946020939093013593505050565b5f5f5f606084860312156106dc575f5ffd5b6106e584610687565b92506106f360208501610687565b929592945050506040919091013590565b5f60208284031215610714575f5ffd5b61071d82610687565b9392505050565b5f5f60408385031215610735575f5ffd5b61073e83610687565b915061074c60208401610687565b90509250929050565b600181811c9082168061076957607f821691505b60208210810361078757634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561028f57634e487b7160e01b5f52601160045260245ffdfea2646970667358221220d4dd121f3aa7d6426ae85c4a0efdfed8665bbe723110e2341302c10a4ceb11ef64736f6c634300081c0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x7f5b1c…cfc13d | 11 days agoWed, 05 Aug 2026 10:32:56 UTC | Transfer | [0] 0x000000000000…7e856c24 [1] 0x000000000000…775ead6f data: 0x000000000000000000…83b2a151 |
| 0x43db84…d76dc0 | 11 days agoWed, 05 Aug 2026 10:32:51 UTC | Transfer | [0] 0x000000000000…a5c2e32a [1] 0x000000000000…775ead6f data: 0x000000000000000000…ae423c74 |
| 0xf2ab0d…b328a0 | 11 days agoWed, 05 Aug 2026 10:04:49 UTC | Transfer | [0] 0x000000000000…775ead6f [1] 0x000000000000…8444e796 data: 0x000000000000000000…5c1a9f12 |
| 0x2c83e9…d9cc3b | 11 days agoWed, 05 Aug 2026 09:56:53 UTC | Transfer | [0] 0x000000000000…b877aa26 [1] 0x000000000000…2b5f38a1 data: 0x000000000000000000…a4830148 |
| 0x2c83e9…d9cc3b | 11 days agoWed, 05 Aug 2026 09:56:53 UTC | Transfer | [0] 0x000000000000…b877aa26 [1] 0x000000000000…8444e796 data: 0x000000000000000000…2a870300 |
| 0x2c83e9…d9cc3b | 11 days agoWed, 05 Aug 2026 09:56:53 UTC | Transfer | [0] 0x000000000000…b877aa26 [1] 0x000000000000…8444e796 data: 0x000000000000000000…cf0a0449 |
| 0x2c83e9…d9cc3b | 11 days agoWed, 05 Aug 2026 09:56:53 UTC | Transfer | [0] 0x000000000000…775ead6f [1] 0x000000000000…b877aa26 data: 0x000000000000000000…9e140891 |
| 0xf0708f…4c9d94 | 11 days agoWed, 05 Aug 2026 09:54:31 UTC | Transfer | [0] 0x000000000000…6223bd79 [1] 0x000000000000…775ead6f data: 0x000000000000000000…c7e7cabe |
| 0x069334…1ef209 | 11 days agoWed, 05 Aug 2026 09:53:56 UTC | Transfer | [0] 0x000000000000…775ead6f [1] 0x000000000000…6223bd79 data: 0x000000000000000000…c7e7cabe |
| 0x796b8b…eb9540 | 11 days agoWed, 05 Aug 2026 09:53:49 UTC | Transfer | [0] 0x000000000000…2b4dd90b [1] 0x000000000000…775ead6f data: 0x000000000000000000…70d6f182 |
| 0xf02620…a78963 | 11 days agoWed, 05 Aug 2026 09:53:16 UTC | Transfer | [0] 0x000000000000…775ead6f [1] 0x000000000000…2b4dd90b data: 0x000000000000000000…70d6f182 |
| 0x9c3dff…431baf | 11 days agoWed, 05 Aug 2026 09:53:11 UTC | Transfer | [0] 0x000000000000…7e856c24 [1] 0x000000000000…775ead6f data: 0x000000000000000000…67cd05a7 |
| 0x4ea537…e51d9d | 11 days agoWed, 05 Aug 2026 09:52:38 UTC | Transfer | [0] 0x000000000000…775ead6f [1] 0x000000000000…7e856c24 data: 0x000000000000000000…67cd05a7 |
| 0xee6fef…48fcbd | 11 days agoWed, 05 Aug 2026 09:52:32 UTC | Transfer | [0] 0x000000000000…65cede6a [1] 0x000000000000…775ead6f data: 0x000000000000000000…4b710881 |
| 0xd56122…c0ef32 | 11 days agoWed, 05 Aug 2026 09:52:15 UTC | Transfer | [0] 0x000000000000…775ead6f [1] 0x000000000000…65cede6a data: 0x000000000000000000…4b710881 |
| 0xa866ac…d2cd5f | 11 days agoWed, 05 Aug 2026 09:52:11 UTC | Transfer | [0] 0x000000000000…29a220bd [1] 0x000000000000…775ead6f data: 0x000000000000000000…228b3af4 |
| 0x7e89c4…534e86 | 11 days agoWed, 05 Aug 2026 09:51:48 UTC | Transfer | [0] 0x000000000000…775ead6f [1] 0x000000000000…29a220bd data: 0x000000000000000000…228b3af4 |
| 0xd771fc…558376 | 11 days agoWed, 05 Aug 2026 09:51:41 UTC | Transfer | [0] 0x000000000000…7e0cb98d [1] 0x000000000000…775ead6f data: 0x000000000000000000…51960281 |
| 0xd2a325…80be66 | 11 days agoWed, 05 Aug 2026 09:51:36 UTC | Transfer | [0] 0x000000000000…775ead6f [1] 0x000000000000…7e0cb98d data: 0x000000000000000000…51960281 |
| 0x2a7cfb…320898 | 11 days agoWed, 05 Aug 2026 09:51:30 UTC | Transfer | [0] 0x000000000000…95eac38a [1] 0x000000000000…775ead6f data: 0x000000000000000000…1e11ccde |
| 0xa02799…f11803 | 11 days agoWed, 05 Aug 2026 09:51:22 UTC | Transfer | [0] 0x000000000000…775ead6f [1] 0x000000000000…95eac38a data: 0x000000000000000000…1e11ccde |
| 0x808132…3813bf | 11 days agoWed, 05 Aug 2026 09:51:15 UTC | Transfer | [0] 0x000000000000…8fe9a0ba [1] 0x000000000000…775ead6f data: 0x000000000000000000…2cb5c2cf |
| 0x5cae11…79892a | 11 days agoWed, 05 Aug 2026 09:51:06 UTC | Transfer | [0] 0x000000000000…775ead6f [1] 0x000000000000…8fe9a0ba data: 0x000000000000000000…2cb5c2cf |
| 0x10797b…078789 | 11 days agoWed, 05 Aug 2026 09:51:03 UTC | Transfer | [0] 0x000000000000…a5c2e32a [1] 0x000000000000…775ead6f data: 0x000000000000000000…23c32df2 |
| 0x27b906…49712f | 11 days agoWed, 05 Aug 2026 09:50:23 UTC | Transfer | [0] 0x000000000000…775ead6f [1] 0x000000000000…a5c2e32a data: 0x000000000000000000…23c32df2 |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xdd1de0…bad1ef | Approve | 21,465,928 | 19 days agoTue, 28 Jul 2026 08:57:31 UTC | 0x379d…6954 | IN | MERRYMEN | $0.000 ETH | 0.00000145 | |
| 0x44964e…f46809 | Transfer | 21,464,606 | 19 days agoTue, 28 Jul 2026 08:55:17 UTC | 0xca1d…c38a | IN | MERRYMEN | $0.000 ETH | 0.00000093 | |
| 0xcaf643…46e16c | Transfer | 21,464,586 | 19 days agoTue, 28 Jul 2026 08:55:15 UTC | 0xeee5…a0ba | IN | MERRYMEN | $0.000 ETH | 0.00000092 | |
| 0x3b4e2a…bd6f03 | Transfer | 21,464,569 | 19 days agoTue, 28 Jul 2026 08:55:14 UTC | 0x4fcb…de6a | IN | MERRYMEN | $0.000 ETH | 0.00000092 | |
| 0x0bdab3…7d8ae4 | Transfer | 21,464,560 | 19 days agoTue, 28 Jul 2026 08:55:13 UTC | 0x2242…6c24 | IN | MERRYMEN | $0.000 ETH | 0.00000092 | |
| 0xa3144d…72ee82 | Transfer | 21,464,551 | 19 days agoTue, 28 Jul 2026 08:55:12 UTC | 0x695b…c12a | IN | MERRYMEN | $0.000 ETH | 0.00000093 | |
| 0x954111…686009 | Transfer | 21,464,538 | 19 days agoTue, 28 Jul 2026 08:55:11 UTC | 0xe113…d90b | IN | MERRYMEN | $0.000 ETH | 0.00000147 | |
| 0x46498e…dda232 | Approve | 20,931,362 | 20 days agoMon, 27 Jul 2026 18:03:30 UTC | 0x4fcb…de6a | IN | MERRYMEN | $0.000 ETH | 0.00000176 | |
| 0x9e3eb2…36bb11 | Approve | 20,930,293 | 20 days agoMon, 27 Jul 2026 18:01:42 UTC | 0x2242…6c24 | IN | MERRYMEN | $0.000 ETH | 0.00000174 | |
| 0x6bf575…cc3f35 | Approve | 20,929,206 | 20 days agoMon, 27 Jul 2026 17:59:53 UTC | 0xeee5…a0ba | IN | MERRYMEN | $0.000 ETH | 0.00000175 | |
| 0xee0cf1…0cfc7a | Approve | 20,928,524 | 20 days agoMon, 27 Jul 2026 17:58:46 UTC | 0xe6f1…20bd | IN | MERRYMEN | $0.000 ETH | 0.00000180 | |
| 0x45772d…36bef9 | Approve | 20,927,981 | 20 days agoMon, 27 Jul 2026 17:57:52 UTC | 0xee57…bd79 | IN | MERRYMEN | $0.000 ETH | 0.00000173 | |
| 0x00b67b…5e0ef6 | Approve | 20,927,385 | 20 days agoMon, 27 Jul 2026 17:56:52 UTC | 0xca1d…c38a | IN | MERRYMEN | $0.000 ETH | 0.00000172 | |
| 0x2aba88…6f00ca | Approve | 20,927,008 | 20 days agoMon, 27 Jul 2026 17:56:14 UTC | 0x936c…b98d | IN | MERRYMEN | $0.000 ETH | 0.00000172 | |
| 0xa64842…051670 | Approve | 20,922,772 | 20 days agoMon, 27 Jul 2026 17:49:10 UTC | 0x695b…c12a | IN | MERRYMEN | $0.000 ETH | 0.00000172 | |
| 0x941f26…fd1bda | Approve | 20,916,652 | 20 days agoMon, 27 Jul 2026 17:38:58 UTC | 0x634c…e32a | IN | MERRYMEN | $0.000 ETH | 0.00000170 | |
| 0x4a6810…0238f6 | Approve | 20,916,636 | 20 days agoMon, 27 Jul 2026 17:38:56 UTC | 0xe113…d90b | IN | MERRYMEN | $0.000 ETH | 0.00000171 | |
| 0x9f0f3d…eff7db | Transfer | 19,809,942 | 21 days agoSun, 26 Jul 2026 10:46:52 UTC | 0xfb1a…e796 | IN | MERRYMEN | $0.000 ETH | 0.00000163 | |
| 0x883b7e…040698 | Transfer | 19,808,394 | 21 days agoSun, 26 Jul 2026 10:44:16 UTC | 0xfb1a…e796 | IN | MERRYMEN | $0.000 ETH | 0.00000190 | |
| 0xfa174e…58319f | Transfer | 19,807,816 | 21 days agoSun, 26 Jul 2026 10:43:19 UTC | 0xfb1a…e796 | IN | MERRYMEN | $0.000 ETH | 0.00000190 | |
| 0x46e74f…fe031f | Approve | 19,693,949 | 21 days agoSun, 26 Jul 2026 07:32:49 UTC | 0xee34…33d7 | IN | MERRYMEN | $0.000 ETH | 0.00000274 | |
| 0x86a25e…11e7b6 | Approve | 19,226,813 | 22 days agoSat, 25 Jul 2026 18:31:21 UTC | 0xff9f…d546 | IN | MERRYMEN | $0.000 ETH | 0.00000353 | |
| 0xf6533b…f37122 | Approve | 19,214,701 | 22 days agoSat, 25 Jul 2026 18:11:07 UTC | 0xfb1a…e796 | IN | MERRYMEN | $0.000 ETH | 0.00000353 | |
| 0x1a20c2…5e186c | Approve | 19,208,948 | 22 days agoSat, 25 Jul 2026 18:01:29 UTC | 0xee34…33d7 | IN | MERRYMEN | $0.000 ETH | 0.00000356 | |
| 0x3a1ab9…e4308f | Approve | 16,249,352 | 25 days agoWed, 22 Jul 2026 07:34:28 UTC | 0x5438…9b8c | IN | MERRYMEN | $0.000 ETH | 0.00000345 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 12,202,862 | 30 days agoFri, 17 Jul 2026 14:48:14 UTC | 0xa57713…93cdca | CREATE2 | createToken | 0x4337…9daa | IN | 0x45ea…ba7d | 0 ETH |