// SPDX-License-Identifier: MIT
pragma solidity 0.8.28;
import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
/// @dev Minimal view interface the Launcher exposes so a Token can build its
/// tokenURI without hardcoding any domain in its own bytecode.
interface ILauncherMetadata {
function tokenMetadataBase() external view returns (string memory);
}
/**
* @title Token
* @notice A deliberately minimal, fixed-supply ERC-20 with ZERO privileged roles.
*
* @dev Design goal: a buyer who runs this token through TokenSniffer / Honeypot.is
* should see zero red flags. Every "feature" a normal token contract *could*
* have is a lever a malicious deployer could pull against buyers, so the safest
* contract is the one that simply does not contain those levers at all.
*
* This contract inherits ONLY OpenZeppelin's audited `ERC20` - nothing else.
* What is intentionally absent, and why each absence protects buyers:
*
* - NO `mint()` after construction.
* The entire supply is minted exactly once, inside the constructor. There
* is no function that can create new tokens afterwards, so the supply can
* never be inflated and holders can never be diluted. `totalSupply()` is
* fixed forever. (Solana analogy: this is equivalent to setting the SPL
* mint authority to `None` - nobody can ever mint more.)
*
* - NO `Ownable` / owner / admin role.
* There is no `owner()` and no `onlyOwner` function anywhere. This is
* strictly STRONGER than a token that "renounced ownership": a renounced
* token once had an owner and you must trust that the renounce really
* happened and hid no backdoor. This token never had an owner in its
* bytecode, so there is nothing to renounce and nothing to abuse.
* (Solana analogy: no upgrade authority and no freeze authority exist.)
*
* - NO transfer tax / fee-on-transfer.
* `transfer` moves exactly the amount requested. Hidden buy/sell taxes are
* the classic honeypot mechanism (e.g. a 100% sell tax that traps buyers).
* Because there is no `_update` override skimming a fee, this token cannot
* be a tax honeypot.
*
* - NO blacklist / allowlist / trading toggle.
* No address can ever be frozen or blocked from transferring, and trading
* can never be "paused off". A honeypot that lets you buy but blacklists
* you on sell is impossible here.
*
* - NO `Pausable`.
* Transfers can never be halted by anyone. There is no kill switch.
*
* Because none of the above exist, the deployer (and this contract) hold no
* power over holders once the supply is minted. The only thing that ever
* happens is standard ERC-20 transfers and approvals.
*
* @dev EVM notes for a Solana developer:
* - `decimals` is 18 by convention on the EVM (Solana SPL tokens are usually 9).
* Balances are stored as the smallest unit; 1 whole token == 10**18 base units.
* - This contract is deployed to its own address and its bytecode is immutable.
* There is no program/data-account split like Solana - code and state live
* together at one contract address.
* - It is intended to be deployed via CREATE2 by the Launcher, which lets the
* final token address be "mined" for a vanity prefix/suffix. The supply and
* name/symbol are constructor arguments, so they are baked into the address
* computation and are immutable for a given deployed instance.
*/
contract Token is ERC20 {
/// @notice Fixed number of decimals (EVM standard). Immutable - no setter exists.
uint8 private constant DECIMALS = 18;
/// @dev Standard ERC-173 ownership event. This token has no owner, but many
/// security scanners (GoPlus, Quick Intel, TokenSniffer) detect
/// "ownership renounced" from an OwnershipTransferred(..., address(0)) in
/// the deploy trace. Emitting it once, to the zero address, lets those
/// scanners report the token as renounced from block one - without adding
/// any actual owner, role, or power. It is purely a signal.
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/// @notice The contract that deployed and was minted the supply (the Launcher in
/// a normal launch). Recorded to resolve `tokenURI` off it - see below.
///
/// @dev Deliberately a plain storage variable, NOT `immutable`. An immutable
/// is baked into the runtime bytecode, which would make every launched
/// token's code differ by this one address. As storage, EVERY token has
/// byte-identical runtime code, so verifying ONE token on the explorer
/// makes every other token auto-recognized as verified (same-bytecode
/// match) - "open source: yes" for all launches from a single verify.
/// It is written once in the constructor and has no setter, so it is
/// effectively immutable to users; it grants no power (just a getter).
address public deployer;
/**
* @param name_ Human-readable token name (e.g. "My Meme").
* @param symbol_ Ticker symbol (e.g. "MEME").
* @param supplyWhole_ Total supply in WHOLE tokens (e.g. 1_000_000_000).
* The constructor scales it by 10**decimals internally.
* @param recipient_ Address that receives the entire minted supply.
* In the atomic launch this is the Launcher, which then
* adds liquidity and performs the dev buy in the same tx.
*
* @dev The whole supply is minted here and only here. After the constructor runs
* there is no code path that mints, burns-by-authority, or reassigns tokens
* other than ordinary user-initiated transfers.
*/
constructor(string memory name_, string memory symbol_, uint256 supplyWhole_, address recipient_)
ERC20(name_, symbol_)
{
require(recipient_ != address(0), "Token: recipient is zero address");
require(supplyWhole_ > 0, "Token: supply is zero");
deployer = recipient_;
_mint(recipient_, supplyWhole_ * (10 ** DECIMALS));
// Signal "renounced" to scanners: there was never an owner to abuse, and
// now there is provably none (owner() is a hardcoded zero, below).
emit OwnershipTransferred(msg.sender, address(0));
}
/// @dev Explicit override for clarity; returns the compile-time constant.
function decimals() public pure override returns (uint8) {
return DECIMALS;
}
/**
* @notice ERC-173 ownership view, hardcoded to the zero address.
* @dev This token has NO owner and NO owner-gated functions. `owner()`
* exists solely so scanners that read it (rather than the event) report
* "ownership renounced: yes" and show an empty/zero owner. It is a pure
* constant - no storage, no setter, nothing it can authorize. Strictly
* a compatibility shim; it grants zero power.
*/
function owner() external pure returns (address) {
return address(0);
}
/// @notice BEP-20-style alias some scanners check instead of `owner()`. Also
/// hardcoded to the zero address; grants no power.
function getOwner() external pure returns (address) {
return address(0);
}
/**
* @notice ERC-1046 (EIP-1046) token URI: a link to this token's off-chain
* metadata JSON (name, symbol, decimals, image). This is the EVM
* equivalent of a Solana SPL token's metadata `uri` - the logo is not
* stored on-chain (no ERC-20 has a logo field), but any wallet or
* explorer that understands ERC-1046 can resolve it straight from the
* contract, so the image is attached to the token itself.
*
* @dev The base URL is NOT hardcoded here. It is read from the `deployer`
* (the Launcher), which holds one base per chain, chosen at deploy
* time. So the token bytecode stays domain-agnostic and the CREATE2
* address math is unaffected. The final URL is:
* {base}/token/{chainId}/{thisAddress}
* which is exactly the metadata endpoint the API serves. If the
* deployer is not a Launcher (e.g. a raw test deploy) this returns "".
*/
function tokenURI() external view returns (string memory) {
try ILauncherMetadata(deployer).tokenMetadataBase() returns (string memory base) {
if (bytes(base).length == 0) return "";
return string.concat(base, "/token/", _toDecimal(block.chainid), "/", _toHexAddress(address(this)));
} catch {
return "";
}
}
/// @dev uint256 -> decimal string. Inlined (not OZ Strings) to stay on the
/// "paris" EVM target; OZ's Strings pulls in Cancun-only `mcopy`.
function _toDecimal(uint256 value) private pure returns (string memory) {
if (value == 0) return "0";
uint256 temp = value;
uint256 digits;
while (temp != 0) {
digits++;
temp /= 10;
}
bytes memory buffer = new bytes(digits);
while (value != 0) {
digits -= 1;
buffer[digits] = bytes1(uint8(48 + (value % 10)));
value /= 10;
}
return string(buffer);
}
/// @dev address -> lowercase 0x-prefixed hex string (42 chars), matching the
/// API's lowercased token path.
function _toHexAddress(address addr) private pure returns (string memory) {
bytes16 hexChars = "0123456789abcdef";
bytes20 a = bytes20(addr);
bytes memory buffer = new bytes(42);
buffer[0] = "0";
buffer[1] = "x";
for (uint256 i = 0; i < 20; i++) {
buffer[2 + i * 2] = hexChars[uint8(a[i]) >> 4];
buffer[3 + i * 2] = hexChars[uint8(a[i]) & 0x0f];
}
return string(buffer);
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "supplyWhole_",
"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": "OwnershipTransferred",
"type": "event",
"inputs": [
{
"name": "previousOwner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"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": "pure"
},
{
"name": "deployer",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "getOwner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "pure"
},
{
"name": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "pure"
},
{
"name": "symbol",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "tokenURI",
"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"
}
]0x608080604052600436101561001357600080fd5b60003560e01c90816306fdde031461046e57508063095ea7b3146103e857806318160ddd146103ca57806323b872dd146102dd578063313ce567146102c15780633c130d90146102a557806370a082311461026b578063893d20e8146102665780638da5cb5b1461026657806395d89b411461015e578063a9059cbb1461012d578063d5f39488146101045763dd62ed3e146100ae57600080fd5b346100ff5760403660031901126100ff576100c7610579565b6100cf61058f565b6001600160a01b039182166000908152600160209081526040808320949093168252928352819020549051908152f35b600080fd5b346100ff5760003660031901126100ff576005546040516001600160a01b039091168152602090f35b346100ff5760403660031901126100ff57610153610149610579565b60243590336108b5565b602060405160018152f35b346100ff5760003660031901126100ff5760405160006004548060011c9060018116801561025c575b6020831081146102485782855290811561022457506001146101c4575b6101c0836101b4818503826105c1565b6040519182918261054d565b0390f35b91905060046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b916000905b80821061020a575090915081016020016101b46101a4565b9192600181602092548385880101520191019092916101f2565b60ff191660208086019190915291151560051b840190910191506101b490506101a4565b634e487b7160e01b84526022600452602484fd5b91607f1691610187565b6105a5565b346100ff5760203660031901126100ff576001600160a01b0361028c610579565b1660005260006020526020604060002054604051908152f35b346100ff5760003660031901126100ff576101c06101b4610615565b346100ff5760003660031901126100ff57602060405160128152f35b346100ff5760603660031901126100ff576102f6610579565b6102fe61058f565b6001600160a01b038216600081815260016020908152604080832033845290915290205490926044359291600019811061033e575b5061015393506108b5565b8381106103ad57841561039757331561038157610153946000526001602052604060002060018060a01b0333166000526020528360406000209103905584610333565b634a1406b160e11b600052600060045260246000fd5b63e602df0560e01b600052600060045260246000fd5b8390637dc7a0d960e11b6000523360045260245260445260646000fd5b346100ff5760003660031901126100ff576020600254604051908152f35b346100ff5760403660031901126100ff57610401610579565b602435903315610397576001600160a01b031690811561038157336000526001602052604060002082600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346100ff5760003660031901126100ff5760006003548060011c90600181168015610520575b6020831081146102485782855290811561022457506001146104c0576101c0836101b4818503826105c1565b91905060036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b916000905b808210610506575090915081016020016101b46101a4565b9192600181602092548385880101520191019092916104ee565b91607f1691610494565b60005b83811061053d5750506000910152565b818101518382015260200161052d565b6040916020825261056d815180928160208601526020868601910161052a565b601f01601f1916010190565b600435906001600160a01b03821682036100ff57565b602435906001600160a01b03821682036100ff57565b346100ff5760003660031901126100ff57602060405160008152f35b90601f8019910116810190811067ffffffffffffffff8211176105e357604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff81116105e357601f01601f191660200190565b6005546040516338e97c0960e01b815290600090829060049082906001600160a01b03165afa6000918161082d575b5061065f57506040516106586020826105c1565b6000815290565b80511561081e5761066f4661098b565b906bffffffffffffffffffffffff193060601b166040516106916060826105c1565b602a8152602081019160403684378151156107f257603083538151600110156107f2576078602183015360005b6014811061074057505091600760019261073d9461072c602060405198866106ef8b9851809285808c01910161052a565b8701662f746f6b656e2f60c81b83820152610713825180938560278501910161052a565b010191602f60f81b85840152518093600884019061052a565b01010301601f1981018352826105c1565b90565b81811a60ff8160041c1660108110156107f2578260011b918383046002148415171561080857826002018060021161080857600f926f181899199a1a9b1b9c1cb0b131b232b360811b901a90610796908861097a565b531660108110156107f25760009160030191826003116107de5750600192916f181899199a1a9b1b9c1cb0b131b232b360811b90911a906107d7908661097a565b53016106be565b634e487b7160e01b81526011600452602490fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b506040516106586020826105c1565b90913d8082843e61083e81846105c1565b8201916020818403126108ad5780519067ffffffffffffffff82116108b1570182601f820112156108ad57805191610875836105f9565b9361088360405195866105c1565b838552602084840101116108aa5750906108a3916020808501910161052a565b9038610644565b80fd5b5080fd5b8280fd5b6001600160a01b0316908115610964576001600160a01b031691821561094e5760008281528060205260408120548281106109345791604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815280845220818154019055604051908152a3565b916064928463391434e360e21b8452600452602452604452fd5b63ec442f0560e01b600052600060045260246000fd5b634b637e8f60e11b600052600060045260246000fd5b9081518110156107f2570160200190565b8015610a335780816000925b610a1957506109a5826105f9565b916109b360405193846105c1565b80835281601f196109c3836105f9565b013660208601375b6109d457505090565b6000198101908111610808578091600a8106603001918260301161080857600a9260f81b6001600160f81b03191660001a90610a10908661097a565b530490816109cb565b90916000198114610808576001019190600a900480610997565b50604051610a426040826105c1565b60018152600360fc1b60208201529056fea2646970667358221220bf4eecd56490c654838b993cf0c2866e5f1c5cd7c66a92221b8f679db34f2a0a64736f6c634300081c0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xec6b91…a4fa13 | 19 days agoMon, 27 Jul 2026 19:39:48 UTC | Transfer | [0] 0x000000000000…638de0d3 [1] 0x000000000000…625a0566 data: 0x000000000000000000…539f0c8e |
| 0xec6b91…a4fa13 | 19 days agoMon, 27 Jul 2026 19:39:48 UTC | Transfer | [0] 0x000000000000…c53a1754 [1] 0x000000000000…638de0d3 data: 0x000000000000000000…539f0c8e |
| 0xd5970d…163f30 | 19 days agoMon, 27 Jul 2026 19:39:15 UTC | Transfer | [0] 0x000000000000…c53a1754 [1] 0x000000000000…087c8477 data: 0x000000000000000000…9460e5fb |
| 0x3c04ca…a7b8f2 | 19 days agoMon, 27 Jul 2026 19:39:14 UTC | Transfer | [0] 0x000000000000…625a0566 [1] 0x000000000000…c53a1754 data: 0x000000000000000000…8387e5c7 |
| 0xe9b918…ef1a4c | 19 days agoMon, 27 Jul 2026 19:39:13 UTC | Approval | [0] 0x000000000000…625a0566 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…ffffffff |
| 0x943c0a…b95c66 | 19 days agoMon, 27 Jul 2026 19:37:14 UTC | Transfer | [0] 0x000000000000…ef890c4a [1] 0x000000000000…625a0566 data: 0x000000000000000000…d6173fef |
| 0x8c752c…f4631e | 19 days agoMon, 27 Jul 2026 19:37:14 UTC | Transfer | [0] 0x000000000000…c516682b [1] 0x000000000000…625a0566 data: 0x000000000000000000…d00ca2bf |
| 0xe155ec…a5798b | 19 days agoMon, 27 Jul 2026 19:37:11 UTC | Transfer | [0] 0x000000000000…51667fb7 [1] 0x000000000000…625a0566 data: 0x000000000000000000…a019457f |
| 0x376830…9a7254 | 19 days agoMon, 27 Jul 2026 19:37:11 UTC | Transfer | [0] 0x000000000000…354ce264 [1] 0x000000000000…625a0566 data: 0x000000000000000000…d97e1ac9 |
| 0x1c4718…3d6961 | 19 days agoMon, 27 Jul 2026 19:37:11 UTC | Transfer | [0] 0x000000000000…7e10cda4 [1] 0x000000000000…625a0566 data: 0x000000000000000000…4e89fb73 |
| 0x018424…67eda9 | 19 days agoMon, 27 Jul 2026 19:37:11 UTC | Transfer | [0] 0x000000000000…ec3b9718 [1] 0x000000000000…625a0566 data: 0x000000000000000000…df88b7f9 |
| 0xc900c5…ae5639 | 19 days agoMon, 27 Jul 2026 19:37:11 UTC | Transfer | [0] 0x000000000000…51512a05 [1] 0x000000000000…625a0566 data: 0x000000000000000000…a9293147 |
| 0x812bcb…2cebed | 19 days agoMon, 27 Jul 2026 19:37:11 UTC | Transfer | [0] 0x000000000000…dd21e3ad [1] 0x000000000000…625a0566 data: 0x000000000000000000…42d64d54 |
| 0xd6b92e…70edec | 19 days agoMon, 27 Jul 2026 19:37:11 UTC | Transfer | [0] 0x000000000000…f727e7cb [1] 0x000000000000…625a0566 data: 0x000000000000000000…84e98225 |
| 0xf30f8a…025874 | 19 days agoMon, 27 Jul 2026 19:37:11 UTC | Transfer | [0] 0x000000000000…02451c59 [1] 0x000000000000…625a0566 data: 0x000000000000000000…57fb737d |
| 0x4bf010…f6a5c6 | 19 days agoMon, 27 Jul 2026 19:37:09 UTC | Transfer | [0] 0x000000000000…07996428 [1] 0x000000000000…625a0566 data: 0x000000000000000000…d91c8e87 |
| 0xd910e0…ec9549 | 19 days agoMon, 27 Jul 2026 19:37:09 UTC | Transfer | [0] 0x000000000000…37c5d2c1 [1] 0x000000000000…625a0566 data: 0x000000000000000000…1e969e33 |
| 0x7a8657…d22bf0 | 19 days agoMon, 27 Jul 2026 19:37:09 UTC | Transfer | [0] 0x000000000000…3b33a93d [1] 0x000000000000…625a0566 data: 0x000000000000000000…2aabd893 |
| 0x4580dc…34e44a | 19 days agoMon, 27 Jul 2026 19:37:09 UTC | Transfer | [0] 0x000000000000…5a9938bc [1] 0x000000000000…625a0566 data: 0x000000000000000000…b53e6ba8 |
| 0x5bfa68…8a60d6 | 19 days agoMon, 27 Jul 2026 19:37:09 UTC | Transfer | [0] 0x000000000000…792eb4b1 [1] 0x000000000000…625a0566 data: 0x000000000000000000…81e4338d |
| 0xfe6795…433d94 | 19 days agoMon, 27 Jul 2026 19:37:09 UTC | Transfer | [0] 0x000000000000…9dd9dff0 [1] 0x000000000000…625a0566 data: 0x000000000000000000…bb4908d8 |
| 0x0ec9c1…7f4771 | 19 days agoMon, 27 Jul 2026 19:37:09 UTC | Transfer | [0] 0x000000000000…50bb7d96 [1] 0x000000000000…625a0566 data: 0x000000000000000000…f1470349 |
| 0x47102c…4b5819 | 19 days agoMon, 27 Jul 2026 19:37:09 UTC | Transfer | [0] 0x000000000000…07c55a2d [1] 0x000000000000…625a0566 data: 0x000000000000000000…00618c41 |
| 0x40ccce…28b1ea | 19 days agoMon, 27 Jul 2026 19:37:06 UTC | Transfer | [0] 0x000000000000…73b8bb5f [1] 0x000000000000…625a0566 data: 0x000000000000000000…0f7c153a |
| 0x087fa6…98df6f | 19 days agoMon, 27 Jul 2026 19:37:06 UTC | Transfer | [0] 0x000000000000…e69ade6f [1] 0x000000000000…625a0566 data: 0x000000000000000000…30b675c3 |
| 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 | |||||||||
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xe9b918…ef1a4c | Approve | 20,988,676 | 19 days agoMon, 27 Jul 2026 19:39:13 UTC | 0x2c98…0566 | IN | Peanut the Hood | $0.000 ETH | 0.00000174 | |
| 0x943c0a…b95c66 | Transfer | 20,987,485 | 19 days agoMon, 27 Jul 2026 19:37:14 UTC | 0xe43c…0c4a | IN | Peanut the Hood | $0.000 ETH | 0.00000111 | |
| 0x8c752c…f4631e | Transfer | 20,987,485 | 19 days agoMon, 27 Jul 2026 19:37:14 UTC | 0x1818…682b | IN | Peanut the Hood | $0.000 ETH | 0.00000111 | |
| 0xf30f8a…025874 | Transfer | 20,987,459 | 19 days agoMon, 27 Jul 2026 19:37:11 UTC | 0x7155…1c59 | IN | Peanut the Hood | $0.000 ETH | 0.00000110 | |
| 0x1c4718…3d6961 | Transfer | 20,987,459 | 19 days agoMon, 27 Jul 2026 19:37:11 UTC | 0x1059…cda4 | IN | Peanut the Hood | $0.000 ETH | 0.00000110 | |
| 0xc900c5…ae5639 | Transfer | 20,987,459 | 19 days agoMon, 27 Jul 2026 19:37:11 UTC | 0xa3c9…2a05 | IN | Peanut the Hood | $0.000 ETH | 0.00000110 | |
| 0xd6b92e…70edec | Transfer | 20,987,459 | 19 days agoMon, 27 Jul 2026 19:37:11 UTC | 0x654f…e7cb | IN | Peanut the Hood | $0.000 ETH | 0.00000110 | |
| 0xe155ec…a5798b | Transfer | 20,987,459 | 19 days agoMon, 27 Jul 2026 19:37:11 UTC | 0x8386…7fb7 | IN | Peanut the Hood | $0.000 ETH | 0.00000110 | |
| 0x376830…9a7254 | Transfer | 20,987,459 | 19 days agoMon, 27 Jul 2026 19:37:11 UTC | 0x4f64…e264 | IN | Peanut the Hood | $0.000 ETH | 0.00000110 | |
| 0x812bcb…2cebed | Transfer | 20,987,459 | 19 days agoMon, 27 Jul 2026 19:37:11 UTC | 0x8358…e3ad | IN | Peanut the Hood | $0.000 ETH | 0.00000110 | |
| 0x018424…67eda9 | Transfer | 20,987,459 | 19 days agoMon, 27 Jul 2026 19:37:11 UTC | 0xed1b…9718 | IN | Peanut the Hood | $0.000 ETH | 0.00000110 | |
| 0x4bf010…f6a5c6 | Transfer | 20,987,437 | 19 days agoMon, 27 Jul 2026 19:37:09 UTC | 0x2cb1…6428 | IN | Peanut the Hood | $0.000 ETH | 0.00000110 | |
| 0x7a8657…d22bf0 | Transfer | 20,987,436 | 19 days agoMon, 27 Jul 2026 19:37:09 UTC | 0xe9b4…a93d | IN | Peanut the Hood | $0.000 ETH | 0.00000110 | |
| 0x4580dc…34e44a | Transfer | 20,987,436 | 19 days agoMon, 27 Jul 2026 19:37:09 UTC | 0x2d77…38bc | IN | Peanut the Hood | $0.000 ETH | 0.00000110 | |
| 0xd910e0…ec9549 | Transfer | 20,987,436 | 19 days agoMon, 27 Jul 2026 19:37:09 UTC | 0x7ae3…d2c1 | IN | Peanut the Hood | $0.000 ETH | 0.00000110 | |
| 0x47102c…4b5819 | Transfer | 20,987,435 | 19 days agoMon, 27 Jul 2026 19:37:09 UTC | 0xd61c…5a2d | IN | Peanut the Hood | $0.000 ETH | 0.00000111 | |
| 0xfe6795…433d94 | Transfer | 20,987,435 | 19 days agoMon, 27 Jul 2026 19:37:09 UTC | 0x19cf…dff0 | IN | Peanut the Hood | $0.000 ETH | 0.00000111 | |
| 0x0ec9c1…7f4771 | Transfer | 20,987,435 | 19 days agoMon, 27 Jul 2026 19:37:09 UTC | 0xb115…7d96 | IN | Peanut the Hood | $0.000 ETH | 0.00000111 | |
| 0x5bfa68…8a60d6 | Transfer | 20,987,435 | 19 days agoMon, 27 Jul 2026 19:37:09 UTC | 0x2737…b4b1 | IN | Peanut the Hood | $0.000 ETH | 0.00000111 | |
| 0x40ccce…28b1ea | Transfer | 20,987,412 | 19 days agoMon, 27 Jul 2026 19:37:06 UTC | 0x14a9…bb5f | IN | Peanut the Hood | $0.000 ETH | 0.00000111 | |
| 0x087fa6…98df6f | Transfer | 20,987,412 | 19 days agoMon, 27 Jul 2026 19:37:06 UTC | 0x967b…de6f | IN | Peanut the Hood | $0.000 ETH | 0.00000111 | |
| 0x88e1e1…c34534 | Transfer | 20,987,412 | 19 days agoMon, 27 Jul 2026 19:37:06 UTC | 0x8888…5589 | IN | Peanut the Hood | $0.000 ETH | 0.00000111 | |
| 0xd9b3d9…16a052 | Transfer | 20,987,411 | 19 days agoMon, 27 Jul 2026 19:37:06 UTC | 0x956e…7ec5 | IN | Peanut the Hood | $0.000 ETH | 0.00000111 | |
| 0x2229ad…c7050a | Transfer | 20,987,411 | 19 days agoMon, 27 Jul 2026 19:37:06 UTC | 0x23d1…311d | IN | Peanut the Hood | $0.000 ETH | 0.00000111 | |
| 0x3273e8…014462 | Transfer | 20,987,411 | 19 days agoMon, 27 Jul 2026 19:37:06 UTC | 0xb2de…6433 | IN | Peanut the Hood | $0.000 ETH | 0.00000111 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 20,972,337 | 19 days agoMon, 27 Jul 2026 19:11:55 UTC | 0x5fedcb…cbf1ed | CREATE2 | 0x9ee87390 | 0x2a0c…17bf | IN | 0x9f7d…e93b | 0 ETH |