// SPDX-License-Identifier: MIT
pragma solidity ^0.8.30;
import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
interface IUniswapV3Factory {
function getPool(address tokenA, address tokenB, uint24 fee) external view returns (address pool);
}
library LauncherTypes {
struct Socials {
string telegram;
string twitter;
string discord;
string website;
string farcaster;
}
struct TokenConfig {
string name;
string symbol;
uint256 supply;
address pairToken;
address positionManager;
address dexFactory;
uint24 poolFee;
uint16 maxWalletBps;
uint16 maxTxBps;
uint32 restrictionBlocks;
}
struct TokenInfo {
address deployer;
string logo;
string description;
Socials socials;
}
}
contract LaunchToken is ERC20 {
error MaxWalletExceeded(address account, uint256 balanceAfter, uint256 maxWallet);
error MaxTxExceeded(address account, uint256 amount, uint256 maxTx);
error LaunchBlockBuyBlocked(address account);
LauncherTypes.TokenInfo private _tokenInfo;
mapping(address account => uint256 amount) private _originBought;
address public immutable launchFactory;
address public immutable pairToken;
address public immutable positionManager;
address public immutable dexFactory;
uint24 public immutable poolFee;
uint16 public immutable maxWalletBps;
uint16 public immutable maxTxBps;
uint32 public immutable restrictionBlocks;
uint256 public immutable launchBlock;
uint256 public immutable restrictionEndBlock;
uint256 public immutable maxWalletAmount;
uint256 public immutable maxTxAmount;
constructor(LauncherTypes.TokenConfig memory config, LauncherTypes.TokenInfo memory info)
ERC20(config.name, config.symbol)
{
launchFactory = msg.sender;
pairToken = config.pairToken;
positionManager = config.positionManager;
dexFactory = config.dexFactory;
poolFee = config.poolFee;
maxWalletBps = config.maxWalletBps;
maxTxBps = config.maxTxBps;
restrictionBlocks = config.restrictionBlocks;
launchBlock = block.number;
restrictionEndBlock = config.restrictionBlocks == 0 ? block.number : block.number + config.restrictionBlocks;
maxWalletAmount = (config.supply * config.maxWalletBps) / 10_000;
maxTxAmount = (config.supply * config.maxTxBps) / 10_000;
_tokenInfo = info;
_mint(msg.sender, config.supply);
}
function liquidityPool() public view returns (address) {
return IUniswapV3Factory(dexFactory).getPool(address(this), pairToken, poolFee);
}
function maxWalletLimit() external view returns (uint256) {
return maxWalletAmount;
}
function maxTxLimit() external view returns (uint256) {
return maxTxAmount;
}
function getTokenInfo() external view returns (LauncherTypes.TokenInfo memory) {
return _tokenInfo;
}
function deployer() external view returns (address) {
return _tokenInfo.deployer;
}
function logo() external view returns (string memory) {
return _tokenInfo.logo;
}
function description() external view returns (string memory) {
return _tokenInfo.description;
}
function socials() external view returns (LauncherTypes.Socials memory) {
return _tokenInfo.socials;
}
function _update(address from, address to, uint256 value) internal override {
bool restrictionsActive = block.number > launchBlock && block.number <= restrictionEndBlock;
address pool;
bool onLaunchBlock = block.number == launchBlock;
if (restrictionsActive || onLaunchBlock) {
pool = liquidityPool();
if (pool == address(0)) {
restrictionsActive = false;
onLaunchBlock = false;
}
}
if (
onLaunchBlock &&
value > 0 &&
from == pool &&
to != launchFactory &&
to != _tokenInfo.deployer
) {
revert LaunchBlockBuyBlocked(to);
}
if (restrictionsActive && value > 0) {
if (from == pool && to != launchFactory && to != _tokenInfo.deployer) {
uint256 bought = _originBought[tx.origin] + value;
_originBought[tx.origin] = bought;
uint256 maxBuy = (maxTxAmount * 11_000) / 10_000;
if (maxBuy == 0 || bought > maxBuy) {
revert MaxTxExceeded(tx.origin, bought, maxBuy);
}
}
if (
from != address(0) &&
to != launchFactory &&
to != _tokenInfo.deployer &&
to != pool
) {
uint256 balanceAfter = balanceOf(to) + value;
if (balanceAfter > maxWalletAmount) {
revert MaxWalletExceeded(to, balanceAfter, maxWalletAmount);
}
}
}
super._update(from, to, value);
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "config",
"type": "tuple",
"components": [
{
"name": "name",
"type": "string",
"internalType": "string"
},
{
"name": "symbol",
"type": "string",
"internalType": "string"
},
{
"name": "supply",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "pairToken",
"type": "address",
"internalType": "address"
},
{
"name": "positionManager",
"type": "address",
"internalType": "address"
},
{
"name": "dexFactory",
"type": "address",
"internalType": "address"
},
{
"name": "poolFee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "maxWalletBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "maxTxBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "restrictionBlocks",
"type": "uint32",
"internalType": "uint32"
}
],
"internalType": "struct LauncherTypes.TokenConfig"
},
{
"name": "info",
"type": "tuple",
"components": [
{
"name": "deployer",
"type": "address",
"internalType": "address"
},
{
"name": "logo",
"type": "string",
"internalType": "string"
},
{
"name": "description",
"type": "string",
"internalType": "string"
},
{
"name": "socials",
"type": "tuple",
"components": [
{
"name": "telegram",
"type": "string",
"internalType": "string"
},
{
"name": "twitter",
"type": "string",
"internalType": "string"
},
{
"name": "discord",
"type": "string",
"internalType": "string"
},
{
"name": "website",
"type": "string",
"internalType": "string"
},
{
"name": "farcaster",
"type": "string",
"internalType": "string"
}
],
"internalType": "struct LauncherTypes.Socials"
}
],
"internalType": "struct LauncherTypes.TokenInfo"
}
],
"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": "LaunchBlockBuyBlocked",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "MaxTxExceeded",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "maxTx",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "MaxWalletExceeded",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "balanceAfter",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "maxWallet",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"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": "deployer",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "description",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "dexFactory",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "getTokenInfo",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "tuple",
"components": [
{
"name": "deployer",
"type": "address",
"internalType": "address"
},
{
"name": "logo",
"type": "string",
"internalType": "string"
},
{
"name": "description",
"type": "string",
"internalType": "string"
},
{
"name": "socials",
"type": "tuple",
"components": [
{
"name": "telegram",
"type": "string",
"internalType": "string"
},
{
"name": "twitter",
"type": "string",
"internalType": "string"
},
{
"name": "discord",
"type": "string",
"internalType": "string"
},
{
"name": "website",
"type": "string",
"internalType": "string"
},
{
"name": "farcaster",
"type": "string",
"internalType": "string"
}
],
"internalType": "struct LauncherTypes.Socials"
}
],
"internalType": "struct LauncherTypes.TokenInfo"
}
],
"stateMutability": "view"
},
{
"name": "launchBlock",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "launchFactory",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "liquidityPool",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "logo",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "maxTxAmount",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "maxTxBps",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"name": "maxTxLimit",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "maxWalletAmount",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "maxWalletBps",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"name": "maxWalletLimit",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "pairToken",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "poolFee",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint24",
"internalType": "uint24"
}
],
"stateMutability": "view"
},
{
"name": "positionManager",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "restrictionBlocks",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint32",
"internalType": "uint32"
}
],
"stateMutability": "view"
},
{
"name": "restrictionEndBlock",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "socials",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "tuple",
"components": [
{
"name": "telegram",
"type": "string",
"internalType": "string"
},
{
"name": "twitter",
"type": "string",
"internalType": "string"
},
{
"name": "discord",
"type": "string",
"internalType": "string"
},
{
"name": "website",
"type": "string",
"internalType": "string"
},
{
"name": "farcaster",
"type": "string",
"internalType": "string"
}
],
"internalType": "struct LauncherTypes.Socials"
}
],
"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"
}
]0x60806040526004361015610011575f80fd5b5f3560e01c806306fdde03146108e15780630861ac61146108a7578063089fe6aa14610868578063095ea7b3146107e657806312f16a07146107a857806318160ddd1461078b57806323b872dd146106ac578063313ce567146106915780633de35b791461064d578063536dac9b1461060957806353cd512a146105d1578063665a11ca146105a557806366a88d96146103e057806370a082311461056e5780637284e41614610553578063791b98bc1461050f5780638036d5901461050a5780638c0b5e221461050a57806395d89b4114610416578063a9059cbb146103e5578063aa4bde28146103e0578063abb1dc4414610303578063b8d8fbb4146102bf578063baed07651461027f578063d00efb2f14610245578063d5f394881461021d578063dd62ed3e146101cd578063fb7f21eb1461019a5763ff8ea3e514610158575f80fd5b34610196575f36600319011261019657602060405161ffff7f0000000000000000000000000000000000000000000000000000000000002710168152f35b5f80fd5b34610196575f366003190112610196576101c96101b5610c23565b60405191829160208352602083019061099c565b0390f35b34610196576040366003190112610196576101e66109db565b6101ee6109f1565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b34610196575f366003190112610196576005546040516001600160a01b039091168152602090f35b34610196575f3660031901126101965760206040517f000000000000000000000000000000000000000000000000000000000184e6918152f35b34610196575f36600319011261019657602060405163ffffffff7f000000000000000000000000000000000000000000000000000000000000016e168152f35b34610196575f366003190112610196576040517f0000000000000000000000001f7d7550b1b028f7571e69a784071f0205fd2efa6001600160a01b03168152602090f35b34610196575f3660031901126101965760405161031f81610ae7565b5f81526060602082015260606040820152606061033a610d85565b91015260405161034981610ae7565b6005546001600160a01b0316815261035f610c23565b90602081019182526101c9610372610b55565b604083019081526103cd610384610daf565b91606085019283526103ba6040519687966020885260018060a01b039051166020880152516080604088015260a087019061099c565b9051858203601f1901606087015261099c565b9051838203601f19016080850152610a07565b610a73565b346101965760403660031901126101965761040b6104016109db565b6024359033610efe565b602060405160018152f35b34610196575f366003190112610196576040515f6004548060011c90600181168015610500575b6020831081146104ec578285529081156104c8575060011461046a575b6101c9836101b581850382610b33565b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b8082106104ae575090915081016020016101b561045a565b919260018160209254838588010152019101909291610496565b60ff191660208086019190915291151560051b840190910191506101b5905061045a565b634e487b7160e01b5f52602260045260245ffd5b91607f169161043d565b610aad565b34610196575f366003190112610196576040517f00000000000000000000000073991a25c818bf1f1128deaab1492d45638de0d36001600160a01b03168152602090f35b34610196575f366003190112610196576101c96101b5610b55565b34610196576020366003190112610196576001600160a01b0361058f6109db565b165f525f602052602060405f2054604051908152f35b34610196575f3660031901126101965760206105bf610e07565b6040516001600160a01b039091168152f35b34610196575f366003190112610196576105e9610d85565b506101c96105f5610daf565b604051918291602083526020830190610a07565b34610196575f366003190112610196576040517f000000000000000000000000d9ec2db5f3d1b236843925949fe5bd8a3836fccb6001600160a01b03168152602090f35b34610196575f366003190112610196576040517f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad736001600160a01b03168152602090f35b34610196575f36600319011261019657602060405160128152f35b34610196576060366003190112610196576106c56109db565b6106cd6109f1565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f19811061070b575b5061040b9350610efe565b83811061077057841561075d57331561074a5761040b945f52600160205260405f2060018060a01b0333165f526020528360405f209103905584610700565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b34610196575f366003190112610196576020600254604051908152f35b34610196575f36600319011261019657602060405161ffff7f00000000000000000000000000000000000000000000000000000000000000c8168152f35b34610196576040366003190112610196576107ff6109db565b60243590331561075d576001600160a01b031690811561074a57335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610196575f36600319011261019657602060405162ffffff7f0000000000000000000000000000000000000000000000000000000000002710168152f35b34610196575f3660031901126101965760206040517f000000000000000000000000000000000000000000000000000000000184e7ff8152f35b34610196575f366003190112610196576040515f6003548060011c90600181168015610992575b6020831081146104ec578285529081156104c85750600114610934576101c9836101b581850382610b33565b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b808210610978575090915081016020016101b561045a565b919260018160209254838588010152019101909291610960565b91607f1691610908565b91908251928382525f5b8481106109c6575050825f602080949584010152601f8019910116010190565b806020809284010151828286010152016109a6565b600435906001600160a01b038216820361019657565b602435906001600160a01b038216820361019657565b610a70916080610a5f610a4d610a3b610a29865160a0875260a087019061099c565b6020870151868203602088015261099c565b6040860151858203604087015261099c565b6060850151848203606086015261099c565b92015190608081840391015261099c565b90565b34610196575f3660031901126101965760206040517f000000000000000000000000000000000000000000108b2a2c280290940000008152f35b34610196575f3660031901126101965760206040517f0000000000000000000000000000000000000000033b2e3c9fd0803ce80000008152f35b6080810190811067ffffffffffffffff821117610b0357604052565b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff821117610b0357604052565b90601f8019910116810190811067ffffffffffffffff821117610b0357604052565b604051905f6007548060011c9160018216918215610c19575b6020841083146104ec578386528592908115610bfa5750600114610b9b575b610b9992500383610b33565b565b5060075f90815290917fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6885b818310610bde575050906020610b9992820101610b8d565b6020919350806001915483858901015201910190918492610bc6565b60209250610b9994915060ff191682840152151560051b820101610b8d565b92607f1692610b6e565b604051905f6006548060011c9160018216918215610cc5575b6020841083146104ec578386528592908115610bfa5750600114610c6657610b9992500383610b33565b5060065f90815290917ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5b818310610ca9575050906020610b9992820101610b8d565b6020919350806001915483858901015201910190918492610c91565b92607f1692610c3c565b90604051915f8154908160011c9260018316928315610d7b575b6020851084146104ec578487528693908115610d595750600114610d15575b50610b9992500383610b33565b90505f9291925260205f20905f915b818310610d3d575050906020610b99928201015f610d08565b6020919350806001915483858901015201910190918492610d24565b905060209250610b9994915060ff191682840152151560051b8201015f610d08565b93607f1693610ce9565b60405190610d9282610b17565b606060808382815282602082015282604082015282808201520152565b60405190610dbc82610b17565b81610dc76008610ccf565b8152610dd36009610ccf565b6020820152610de2600a610ccf565b6040820152610df1600b610ccf565b60608201526080610e02600c610ccf565b910152565b604051630b4c774160e11b81523060048201526001600160a01b037f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad738116602483015262ffffff7f0000000000000000000000000000000000000000000000000000000000002710166044830152602090829060649082907f0000000000000000000000001f7d7550b1b028f7571e69a784071f0205fd2efa165afa908115610ef3575f91610eb4575090565b90506020813d602011610eeb575b81610ecf60209383610b33565b8101031261019657516001600160a01b03811681036101965790565b3d9150610ec2565b6040513d5f823e3d90fd5b6001600160a01b03169081156112b1576001600160a01b031691821561129e577f000000000000000000000000000000000000000000000000000000000184e69180431180611274575b5f91431481801561126d575b61124b575b80611242575b80611230575b806111fd575b806111e8575b6111d557806111cc575b610ff8575b50815f525f60205260405f2054818110610fdf57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b6001600160a01b031682811480611199575b80611184575b6110da575b7f000000000000000000000000d9ec2db5f3d1b236843925949fe5bd8a3836fccb6001600160a01b031684141590816110c4575b816110b9575b5061105b575b5f610f80565b825f525f6020526110708160405f20546112c4565b7f000000000000000000000000000000000000000000108b2a2c28029094000000908181116110a0575050611055565b846304a43e8b60e51b5f5260045260245260445260645ffd5b90508314155f61104f565b6005546001600160a01b03168514159150611049565b325f52600d6020526110f08260405f20546112c4565b325f52600d6020528060405f20557f0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000612af8810290808204612af814901517156111705761271090049081158015611167575b61114e575050611015565b6334e5f8b760e21b5f523260045260245260445260645ffd5b50818111611143565b634e487b7160e01b5f52601160045260245ffd5b506005546001600160a01b0316841415611010565b507f000000000000000000000000d9ec2db5f3d1b236843925949fe5bd8a3836fccb6001600160a01b031684141561100a565b50811515610f7b565b846385234f9760e01b5f5260045260245ffd5b506005546001600160a01b0316851415610f71565b507f000000000000000000000000d9ec2db5f3d1b236843925949fe5bd8a3836fccb6001600160a01b0316851415610f6b565b506001600160a01b0382168414610f65565b50821515610f5f565b9150611255610e07565b916001600160a01b038316610f595750505f5f610f59565b5080610f54565b507f000000000000000000000000000000000000000000000000000000000184e7ff431115610f48565b63ec442f0560e01b5f525f60045260245ffd5b634b637e8f60e11b5f525f60045260245ffd5b919082018092116111705756fea164736f6c634300081e000a
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| Global Dollar (USDG) | USDG | 1.587 | $1 | $1.59 |
| DIH | 1 | $0.0000102 | $0 | |
| HOODIE (HOODIE) | HOODIE | 145 | — | — |
| WallStreetBets (WSB) | WSB | 75 | — | — |
| United States Energy Reserve (USER) | USER | 75 | — | — |
| The Robinhoods (VLAD) | VLAD | 50 | — | — |
| Imagine (IMAGINE) | IMAGINE | 40 | — | — |
| Strategic American Oil Reserves (SAOR) | SAOR | 30 | — | — |
| Robinhood Summer (SUMMER) | SUMMER | 25 | — | — |
| Archer Robin Wif (ARROW) | ARROW | 20 | — | — |
| buy and retire (530A) | 530A | 20 | — | — |
| AMERIICA 250 (USA250) | USA250 | 20 | — | — |
| United States Water Reserve (USWR) | USWR | 15 | — | — |
| Strategic American Oil Supply (SAOS) | SAOS | 15 | — | — |
| THE JUGGERNAUT (JUGGERNAUT) | JUGGERNAUT | 15 | — | — |
| AMERICA 250 (AMERICA250) | AMERICA250 | 15 | — | — |
| HOODers (HOODers) | HOODers | 12 | — | — |
| Dog in Hood (DIH) | DIH | 10 | — | — |
| Black Cat (CAT) | CAT | 7 | — | — |
| meow in hood (meow) | meow | 3 | — | — |
| Robinhood Gift (GIFT) | GIFT | 1 | — | — |
| Robinhood Gift (GIFT) | GIFT | 1 | — | — |
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xddd889a8…fb687f | Transfer | 17,306,898 | 25 days agoThu, 23 Jul 2026 13:00:58 UTC | 0xcaf7…5d11 | IN | 0xb66d…eb66 | $0.001 DIH | ||
| 0xf38e64fa…351e77 | Transfer | 16,703,645 | 26 days agoWed, 22 Jul 2026 20:12:54 UTC | 0xcc05…efe3 | IN | 0xb66d…eb66 | 40 IMAGINE | Imagine (IMAGINE) | |
| 0x53c1b25b…9cbccd | Transfer | 16,470,450 | 26 days agoWed, 22 Jul 2026 13:43:46 UTC | 0xe30e…b71c | IN | 0xb66d…eb66 | 1.587 USDG | Global Dollar (USDG) | |
| 0x4bd5296d…4405ea | Transfer | 14,822,510 | 28 days agoMon, 20 Jul 2026 15:51:13 UTC | 0xaa7f…ddf9 | IN | 0xb66d…eb66 | 12 HOODers | HOODers (HOODers) | |
| 0x157d0139…4a69e0 | Transfer | 14,675,652 | 28 days agoMon, 20 Jul 2026 11:45:51 UTC | 0xaa7f…ddf9 | IN | 0xb66d…eb66 | 7 CAT | Black Cat (CAT) | |
| 0x32f13041…f17e04 | Transfer | 8,418,279 | 35 days agoMon, 13 Jul 2026 05:32:34 UTC | 0xa7e0…34ac | IN | 0xb66d…eb66 | 50 WSB | WallStreetBets (WSB) | |
| 0xcdbe0441…f3e531 | Transfer | 8,405,674 | 35 days agoMon, 13 Jul 2026 05:11:29 UTC | 0xa7e0…34ac | IN | 0xb66d…eb66 | 25 WSB | WallStreetBets (WSB) | |
| 0xdb432f88…8c0862 | Transfer | 7,339,041 | 36 days agoSat, 11 Jul 2026 23:29:38 UTC | 0xc7a7…cec7 | IN | 0xb66d…eb66 | 3 meow | meow in hood (meow) | |
| 0xa012269f…908b0c | Transfer | 7,252,630 | 36 days agoSat, 11 Jul 2026 21:05:27 UTC | 0xa7e0…34ac | IN | 0xb66d…eb66 | 20 HOODIE | HOODIE (HOODIE) | |
| 0xe7f6a092…1c80b8 | Transfer | 7,252,499 | 36 days agoSat, 11 Jul 2026 21:05:14 UTC | 0x8c94…ec08 | IN | 0xb66d…eb66 | 20 530A | buy and retire (530A) | |
| 0x410ab610…204038 | Transfer | 6,796,706 | 37 days agoSat, 11 Jul 2026 08:24:32 UTC | 0x1673…13db | IN | 0xb66d…eb66 | 15 JUGGERNAUT | THE JUGGERNAUT (JUGGERNAUT) | |
| 0xfc78c338…1aaf99 | Transfer | 6,354,750 | 38 days agoFri, 10 Jul 2026 20:07:13 UTC | 0xc7a7…cec7 | IN | 0xb66d…eb66 | 20 ARROW | Archer Robin Wif (ARROW) | |
| 0x0d8f56d5…35df5e | Transfer | 6,050,861 | 38 days agoFri, 10 Jul 2026 11:40:24 UTC | 0xa7e0…34ac | IN | 0xb66d…eb66 | 25 HOODIE | HOODIE (HOODIE) | |
| 0x4309d681…4915b5 | Transfer | 6,050,718 | 38 days agoFri, 10 Jul 2026 11:40:09 UTC | 0xa7e0…34ac | IN | 0xb66d…eb66 | 25 HOODIE | HOODIE (HOODIE) | |
| 0xf55277f8…a43696 | Transfer | 6,042,301 | 38 days agoFri, 10 Jul 2026 11:26:07 UTC | 0xa7e0…34ac | IN | 0xb66d…eb66 | 25 HOODIE | HOODIE (HOODIE) | |
| 0x8ce877be…a227a7 | Transfer | 5,904,537 | 38 days agoFri, 10 Jul 2026 07:36:14 UTC | 0xd2e4…b70c | IN | 0xb66d…eb66 | 10 USA250 | AMERIICA 250 (USA250) | |
| 0x9395c78a…5b6402 | Transfer | 5,865,405 | 38 days agoFri, 10 Jul 2026 06:30:53 UTC | 0xc7a7…cec7 | IN | 0xb66d…eb66 | 5 DIH | Dog in Hood (DIH) | |
| 0xcfedf188…a2eaed | Transfer | 5,832,841 | 38 days agoFri, 10 Jul 2026 05:36:31 UTC | 0xd2e4…b70c | IN | 0xb66d…eb66 | 10 USA250 | AMERIICA 250 (USA250) | |
| 0x1eb5f0dd…3de046 | Transfer | 5,688,432 | 38 days agoFri, 10 Jul 2026 01:35:15 UTC | 0xc7a7…cec7 | IN | 0xb66d…eb66 | 30 SAOR | Strategic American Oil Reserves (SAOR) | |
| 0x7f3afc8b…82ef5d | Transfer | 5,660,810 | 38 days agoFri, 10 Jul 2026 00:49:05 UTC | 0xd2e4…b70c | IN | 0xb66d…eb66 | 15 SAOS | Strategic American Oil Supply (SAOS) | |
| 0x32df4540…e3f440 | Transfer | 5,636,960 | 38 days agoFri, 10 Jul 2026 00:09:14 UTC | 0xc7a7…cec7 | IN | 0xb66d…eb66 | 25 SUMMER | Robinhood Summer (SUMMER) | |
| 0x3b35a92d…d179bd | Transfer | 5,522,645 | 39 days agoThu, 09 Jul 2026 20:58:21 UTC | 0xc7a7…cec7 | IN | 0xb66d…eb66 | 5 DIH | Dog in Hood (DIH) | |
| 0x0e080be5…a8faae | Transfer | 5,403,279 | 39 days agoThu, 09 Jul 2026 17:39:02 UTC | 0xd2e4…b70c | IN | 0xb66d…eb66 | 15 USWR | United States Water Reserve (USWR) | |
| 0x0bac2d14…940063 | Transfer | 5,378,252 | 39 days agoThu, 09 Jul 2026 16:57:13 UTC | 0x1673…13db | IN | 0xb66d…eb66 | 15 AMERICA250 | AMERICA 250 (AMERICA250) | |
| 0xcc18b56d…2a0beb | Transfer | 5,340,542 | 39 days agoThu, 09 Jul 2026 15:54:14 UTC | 0xab6c…0a9d | IN | 0xb66d…eb66 | 50 VLAD | The Robinhoods (VLAD) |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x2ccd3b…67db59 | Approve | 38,488,995 | 18 hrs agoMon, 17 Aug 2026 02:46:48 UTC | 0x9c45…59e2 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000093 | |
| 0x9a428f…453c4a | Approve | 38,482,788 | 18 hrs agoMon, 17 Aug 2026 02:36:26 UTC | 0xaba0…c6b3 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000093 | |
| 0x7b74ad…316822 | Approve | 38,182,537 | 1 day agoSun, 16 Aug 2026 18:14:22 UTC | 0xd504…3785 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000093 | |
| 0xb3202c…37b352 | Approve | 37,827,718 | 1 day agoSun, 16 Aug 2026 08:20:40 UTC | 0xedc6…e2e4 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000107 | |
| 0xb6e10c…317b68 | Approve | 37,692,691 | 1 day agoSun, 16 Aug 2026 04:34:37 UTC | 0x5306…a493 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000117 | |
| 0xbae598…99daa2 | Approve | 37,430,569 | 1 day agoSat, 15 Aug 2026 21:16:20 UTC | 0x819a…f5b9 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000132 | |
| 0xd62ea4…baeaa2 | Approve | 37,289,095 | 2 days agoSat, 15 Aug 2026 17:19:59 UTC | 0xcdfd…f677 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000139 | |
| 0xacb89e…df0d4c | Approve | 37,278,586 | 2 days agoSat, 15 Aug 2026 17:02:25 UTC | 0x897d…420d | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000139 | |
| 0xfcc0ac…d29f4c | Approve | 37,208,398 | 2 days agoSat, 15 Aug 2026 15:05:13 UTC | 0x704c…c492 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000140 | |
| 0x47b655…55f8af | Approve | 37,203,956 | 2 days agoSat, 15 Aug 2026 14:57:47 UTC | 0x4793…cf63 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000142 | |
| 0xce2d1f…6abdb3 | Approve | 37,203,956 | 2 days agoSat, 15 Aug 2026 14:57:47 UTC | 0xaaf6…d380 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000142 | |
| 0xdb4819…0c2368 | Approve | 37,201,883 | 2 days agoSat, 15 Aug 2026 14:54:19 UTC | 0x4cc1…acf2 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000140 | |
| 0x94c01c…5e56cf | Approve | 37,201,135 | 2 days agoSat, 15 Aug 2026 14:53:05 UTC | 0xb8da…a93f | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000141 | |
| 0xac3895…d5a941 | Approve | 37,201,016 | 2 days agoSat, 15 Aug 2026 14:52:53 UTC | 0x8b3a…9dc6 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000140 | |
| 0x72a98e…2b18ed | Approve | 37,200,931 | 2 days agoSat, 15 Aug 2026 14:52:44 UTC | 0xe05c…3a71 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000142 | |
| 0x9d8c14…689bfb | Approve | 37,200,923 | 2 days agoSat, 15 Aug 2026 14:52:44 UTC | 0x165b…15e8 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000140 | |
| 0x390306…b9b99e | Approve | 37,200,763 | 2 days agoSat, 15 Aug 2026 14:52:28 UTC | 0xfc67…43d4 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000140 | |
| 0x4e1088…8adc94 | Approve | 37,200,763 | 2 days agoSat, 15 Aug 2026 14:52:28 UTC | 0xcec2…e321 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000140 | |
| 0x3a508d…e0dae6 | Approve | 37,200,763 | 2 days agoSat, 15 Aug 2026 14:52:28 UTC | 0x13e2…1c1d | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000140 | |
| 0xe3aae8…d017a5 | Approve | 37,200,763 | 2 days agoSat, 15 Aug 2026 14:52:28 UTC | 0xb1e2…b007 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000140 | |
| 0xce5b3f…b0c5e4 | Approve | 37,200,763 | 2 days agoSat, 15 Aug 2026 14:52:28 UTC | 0x73ee…e8a9 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000140 | |
| 0xe2c46a…07cdcc | Approve | 37,200,741 | 2 days agoSat, 15 Aug 2026 14:52:25 UTC | 0xd750…c68a | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000141 | |
| 0xd1be2f…bddab9 | Approve | 37,200,692 | 2 days agoSat, 15 Aug 2026 14:52:20 UTC | 0x6daa…77a8 | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000141 | |
| 0xe7f35b…60edad | Approve | 37,200,617 | 2 days agoSat, 15 Aug 2026 14:52:13 UTC | 0x897d…420d | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000140 | |
| 0x16d0a8…235511 | Approve | 37,200,604 | 2 days agoSat, 15 Aug 2026 14:52:12 UTC | 0xe491…454a | IN | DoOnlyGoodEveryday | $0.000 ETH | 0.00000141 |
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x93646ee4…8144cf | Transfer | 5,512,045 | 39 days agoThu, 09 Jul 2026 20:40:38 UTC | 0x0000…0000 | IN | 0xb66d…eb66 | Mint | Robinhood Gift (GIFT) #410 | |
| 0x3e5ed1a2…658d14 | Transfer | 5,398,211 | 39 days agoThu, 09 Jul 2026 17:30:34 UTC | 0x0000…0000 | IN | 0xb66d…eb66 | Mint | Robinhood Gift (GIFT) #9215 |
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x11dbe0…59d063 | 2 hrs agoMon, 17 Aug 2026 18:30:44 UTC | Transfer | [0] 0x000000000000…2eb99dc6 [1] 0x000000000000…cc50c51a data: 0x000000000000000000…a0000000 |
| 0x7e1c10…07b957 | 2 hrs agoMon, 17 Aug 2026 18:29:26 UTC | Transfer | [0] 0x000000000000…1f13f695 [1] 0x000000000000…cc50c51a data: 0x000000000000000000…cc37b499 |
| 0xbc737c…85960a | 2 hrs agoMon, 17 Aug 2026 18:29:15 UTC | Transfer | [0] 0x000000000000…1f13f695 [1] 0x000000000000…cc50c51a data: 0x000000000000000000…986f6933 |
| 0xe240cf…962124 | 2 hrs agoMon, 17 Aug 2026 18:28:28 UTC | Transfer | [0] 0x000000000000…1f13f695 [1] 0x000000000000…cc50c51a data: 0x000000000000000000…01740000 |
| 0xff324b…27f069 | 5 hrs agoMon, 17 Aug 2026 15:17:36 UTC | Transfer | [0] 0x000000000000…d113f996 [1] 0x000000000000…cc50c51a data: 0x000000000000000000…eb9f54cf |
| 0xff324b…27f069 | 5 hrs agoMon, 17 Aug 2026 15:17:36 UTC | Transfer | [0] 0x000000000000…ec4fff4f [1] 0x000000000000…d113f996 data: 0x000000000000000000…eb9f54cf |
| 0xff324b…27f069 | 5 hrs agoMon, 17 Aug 2026 15:17:36 UTC | Approval | [0] 0x000000000000…ec4fff4f [1] 0x000000000000…b66337b5 data: 0x000000000000000000…eb9f54cf |
| 0xff324b…27f069 | 5 hrs agoMon, 17 Aug 2026 15:17:36 UTC | Transfer | [0] 0x000000000000…4dc7e9be [1] 0x000000000000…ec4fff4f data: 0x000000000000000000…eb9f54cf |
| 0xff324b…27f069 | 5 hrs agoMon, 17 Aug 2026 15:17:36 UTC | Approval | [0] 0x000000000000…4dc7e9be [1] 0x000000000000…f1c315be data: 0x000000000000000000…eb9f54cf |
| 0x2f395a…7d8b4c | 7 hrs agoMon, 17 Aug 2026 13:34:21 UTC | Transfer | [0] 0x000000000000…7434c68a [1] 0x000000000000…cc50c51a data: 0x000000000000000000…59d5258b |
| 0x08a22c…867efa | 13 hrs agoMon, 17 Aug 2026 07:35:09 UTC | Transfer | [0] 0x000000000000…85d75375 [1] 0x000000000000…cc50c51a data: 0x000000000000000000…b993a79a |
| 0xca92f0…1735ce | 17 hrs agoMon, 17 Aug 2026 03:59:42 UTC | Transfer | [0] 0x000000000000…de7e6b15 [1] 0x000000000000…cc50c51a data: 0x000000000000000000…04921266 |
| 0xab3f3e…add5bc | 18 hrs agoMon, 17 Aug 2026 02:46:49 UTC | Transfer | [0] 0x000000000000…c8aebb4f [1] 0x000000000000…cc50c51a data: 0x000000000000000000…b90282a1 |
| 0xab3f3e…add5bc | 18 hrs agoMon, 17 Aug 2026 02:46:49 UTC | Transfer | [0] 0x000000000000…c79759e2 [1] 0x000000000000…c8aebb4f data: 0x000000000000000000…b90282a1 |
| 0x2ccd3b…67db59 | 18 hrs agoMon, 17 Aug 2026 02:46:48 UTC | Approval | [0] 0x000000000000…c79759e2 [1] 0x000000000000…e1a4f53d data: 0xffffffffffffffffff…ffffffff |
| 0x713ade…a3360b | 18 hrs agoMon, 17 Aug 2026 02:36:26 UTC | Transfer | [0] 0x000000000000…c8aebb4f [1] 0x000000000000…cc50c51a data: 0x000000000000000000…d5a29633 |
| 0x713ade…a3360b | 18 hrs agoMon, 17 Aug 2026 02:36:26 UTC | Transfer | [0] 0x000000000000…7292c6b3 [1] 0x000000000000…c8aebb4f data: 0x000000000000000000…d5a29633 |
| 0x9a428f…453c4a | 18 hrs agoMon, 17 Aug 2026 02:36:26 UTC | Approval | [0] 0x000000000000…7292c6b3 [1] 0x000000000000…e1a4f53d data: 0xffffffffffffffffff…ffffffff |
| 0x7ef499…6adf1b | 20 hrs agoMon, 17 Aug 2026 00:22:07 UTC | Transfer | [0] 0x000000000000…1f13f695 [1] 0x000000000000…cc50c51a data: 0x000000000000000000…70400000 |
| 0x0e0734…b614fc | 1 day agoSun, 16 Aug 2026 20:39:54 UTC | Transfer | [0] 0x000000000000…46ee0417 [1] 0x000000000000…0000dead data: 0x000000000000000000…971f944d |
| 0x0e0734…b614fc | 1 day agoSun, 16 Aug 2026 20:39:54 UTC | Transfer | [0] 0x000000000000…826acd85 [1] 0x000000000000…6ac7157e data: 0x000000000000000000…00000000 |
| 0x0e0734…b614fc | 1 day agoSun, 16 Aug 2026 20:39:54 UTC | Transfer | [0] 0x000000000000…826acd85 [1] 0x000000000000…46ee0417 data: 0x000000000000000000…971f944d |
| 0x0e0734…b614fc | 1 day agoSun, 16 Aug 2026 20:39:54 UTC | Transfer | [0] 0x000000000000…cc50c51a [1] 0x000000000000…826acd85 data: 0x000000000000000000…971f944d |
| 0x459eaf…2280a2 | 1 day agoSun, 16 Aug 2026 18:44:26 UTC | Transfer | [0] 0x000000000000…ec4fff4f [1] 0x000000000000…cc50c51a data: 0x000000000000000000…bc76584c |
| 0x459eaf…2280a2 | 1 day agoSun, 16 Aug 2026 18:44:26 UTC | Approval | [0] 0x000000000000…ec4fff4f [1] 0x000000000000…72c22734 data: 0x000000000000000000…bc76584c |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 4,253,732 | 40 days agoWed, 08 Jul 2026 09:36:50 UTC | 0x69fe5b…4cb1a7 | CREATE2 | launchToken | 0xd9ec…fccb | IN | 0xb66d…eb66 | 0 ETH |