// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import {ERC20Burnable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
import {Base64} from "@openzeppelin/contracts/utils/Base64.sol";
/// @notice ERC20 launched straight into a Uniswap V3 pool (noxa-style hybrid).
/// Freely transferable from creation — the pool IS the market from block one,
/// which is what makes the token visible to every DEX terminal without paid
/// data integrations. No owner, no mint, no fee knobs, no blacklist.
contract LaunchToken is ERC20Burnable {
/// @notice Creator-supplied token metadata, immutable after creation.
/// The launchpad validates every field (no quotes/backslashes/control
/// chars) so these strings are safe to embed in `contractURI()` JSON.
struct Metadata {
string logoURI; // e.g. ipfs://<CID> — creator pins the image (Pinata etc.)
string website;
string telegram;
string discord;
string twitter; // X
}
error OnlyLaunchpad();
error MaxBuyExceeded();
address public immutable launchpad;
/// @notice Anti-sniper launch guard: while `block.number < limitEndBlock`,
/// no non-exempt wallet may hold more than `maxWalletAmount` (e.g. 2% of
/// supply for the first 360 blocks). Fixed at creation, auto-expires, and
/// nobody can extend, tighten, or re-enable it. Zero values = no limit.
uint256 public immutable maxWalletAmount;
uint256 public immutable limitEndBlock;
/// @notice Protocol plumbing excluded from the launch guard (pool,
/// position manager, fee locker, launchpad). Only set by the launchpad's
/// immutable creation code.
mapping(address => bool) public limitExempt;
event LimitExemptSet(address indexed account, bool exempt);
/// @notice Official website of the deploying platform, stamped at creation
/// so explorers and trackers can attribute the token to its launchpad.
string public platformWebsite;
// Creator-supplied metadata (see Metadata struct).
string public logoURI;
string public website;
string public telegram;
string public discord;
string public twitter;
constructor(
string memory name_,
string memory symbol_,
uint256 supply_,
string memory platformWebsite_,
Metadata memory meta,
uint16 maxBuyBps_,
uint32 maxBuyBlocks_
) ERC20(name_, symbol_) {
launchpad = msg.sender;
platformWebsite = platformWebsite_;
logoURI = meta.logoURI;
website = meta.website;
telegram = meta.telegram;
discord = meta.discord;
twitter = meta.twitter;
maxWalletAmount = maxBuyBps_ == 0 ? 0 : (supply_ * maxBuyBps_) / 10_000;
limitEndBlock = maxBuyBlocks_ == 0 ? 0 : block.number + maxBuyBlocks_;
limitExempt[msg.sender] = true;
_mint(msg.sender, supply_);
}
/// @notice Explicit zero owner so explorers report the token as renounced.
function owner() external pure returns (address) {
return address(0);
}
/// @notice Whether the launch guard is currently enforced.
function limitActive() public view returns (bool) {
return maxWalletAmount != 0 && block.number < limitEndBlock;
}
/// @notice Launchpad-only; called during token creation to exempt the
/// pool, position manager, and fee locker.
function setLimitExempt(address account, bool exempt) external {
if (msg.sender != launchpad) revert OnlyLaunchpad();
limitExempt[account] = exempt;
emit LimitExemptSet(account, exempt);
}
function _update(address from, address to, uint256 value) internal override {
// Launch guard: cap non-exempt wallet balances during the first blocks
// after launch. Sells always work (the pool is exempt); burns too.
if (limitActive() && to != address(0) && !limitExempt[to] && balanceOf(to) + value > maxWalletAmount) {
revert MaxBuyExceeded();
}
super._update(from, to, value);
}
/// @notice ERC-7572 contract-level metadata, built fully on-chain.
function contractURI() external view returns (string memory) {
string memory link = bytes(website).length > 0 ? website : platformWebsite;
string memory json = string.concat(
'{"name":"',
name(),
'","symbol":"',
symbol(),
'","image":"',
logoURI,
'","external_link":"',
link,
'","extensions":{"website":"',
website,
'","telegram":"',
telegram,
'","discord":"',
discord,
'","x":"',
twitter,
'","platform_website":"',
platformWebsite,
'"}}'
);
return string.concat("data:application/json;base64,", Base64.encode(bytes(json)));
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "supply_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "platformWebsite_",
"type": "string",
"internalType": "string"
},
{
"name": "meta",
"type": "tuple",
"components": [
{
"name": "logoURI",
"type": "string",
"internalType": "string"
},
{
"name": "website",
"type": "string",
"internalType": "string"
},
{
"name": "telegram",
"type": "string",
"internalType": "string"
},
{
"name": "discord",
"type": "string",
"internalType": "string"
},
{
"name": "twitter",
"type": "string",
"internalType": "string"
}
],
"internalType": "struct LaunchToken.Metadata"
},
{
"name": "maxBuyBps_",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "maxBuyBlocks_",
"type": "uint32",
"internalType": "uint32"
}
],
"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": "MaxBuyExceeded",
"type": "error",
"inputs": []
},
{
"name": "OnlyLaunchpad",
"type": "error",
"inputs": []
},
{
"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": "LimitExemptSet",
"type": "event",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "exempt",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"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": "burn",
"type": "function",
"inputs": [
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "burnFrom",
"type": "function",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "contractURI",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "decimals",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "view"
},
{
"name": "discord",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "launchpad",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "limitActive",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "limitEndBlock",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "limitExempt",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "logoURI",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "maxWalletAmount",
"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": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "pure"
},
{
"name": "platformWebsite",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "setLimitExempt",
"type": "function",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "exempt",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "symbol",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "telegram",
"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"
},
{
"name": "twitter",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "website",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
}
]0x6080806040526004361015610012575f80fd5b5f3560e01c90816302669b52146111aa5750806306fdde0314611105578063095ea7b31461105d5780630b1f79321461103957806318160ddd1461101c57806320a8d3fb14610fdf57806323b872dd14610fa7578063313ce56714610f8c5780633abfa5fc14610ee757806340a24e6c14610e3357806342966c6814610e1657806347ecb66514610d715780636bb38b2814610ccc57806370a0823114610c9557806379cc679014610c635780638da5cb5b14610c4957806395d89b4114610ba4578063a06cb80714610b6a578063a9059cbb14610b39578063aa4bde2814610aff578063abfaeee014610a5a578063beb0a416146109b5578063dd62ed3e14610965578063e8a3d4851461020d5763e8bd71e11461012f575f80fd5b34610209575f366003190112610209576040515f600a5461014f81611241565b80845290600181169081156101e55750600114610187575b6101838361017781850382611279565b604051918291826111eb565b0390f35b600a5f9081527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8939250905b8082106101cb57509091508101602001610177610167565b9192600181602092548385880101520191019092916101b3565b60ff191660208086019190915291151560051b840190910191506101779050610167565b5f80fd5b34610209575f36600319011261020957610228600854611241565b1561095e5760085b60405181549091825f61024284611241565b9283835260208301946001811690815f1461093f57506001146108fb575b5061026d92500383611279565b604051915f600354908461028083611241565b9182825260208201936001811690815f146108df5750600114610880575b6102aa92500385611279565b604051600454915f6102bb84611241565b80845260208401946001811690811561086557506001146107ff575b50906102e98360299594930383611279565b604051683d913730b6b2911d1160b91b602082015296519081908589015e8601906b11161139bcb6b137b6111d1160a11b84830152518092603583015e0101906a11161134b6b0b3b2911d1160a91b600c8301525f916007549061034c82611241565b91600181169081156107df5750600114610786575b50507211161132bc3a32b93730b62fb634b735911d1160691b825251918290601383015e017f222c22657874656e73696f6e73223a7b2277656273697465223a22000000000060138201525f90600854906103bb82611241565b91600181169081156107685750600114610711575b50506d1116113a32b632b3b930b6911d1160911b81526009545f916103f482611241565b91600181169081156106f3575060011461069c575b50506c1116113234b9b1b7b932111d1160991b8152600a545f9161042c82611241565b916001811690811561067e5750600114610627575b5050661116113c111d1160c91b8152600b545f9161045e82611241565b916001811690811561060957506001146105b2575b505075111611383630ba3337b936afbbb2b139b4ba32911d1160511b81526006545f9161049f82611241565b916001811690811561058b5750600114610531575b6101836020610177603d6104e6886104e16003828b62227d7d60e81b815203601c19810184520182611279565b611625565b6040519384917f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000828401528051918291018484015e81015f838201520301601f198101835282611279565b60065f908152919250907ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5b83821061057457505001601601610177603d6104b4565b60018160209254601685870101520191019061055d565b60ff191660168381019190915283151590930290910190910191506101779050603d6104b4565b600b5f908152919250907f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db95b8382106105f2575050016007018280610473565b6001816020925460078587010152019101906105de565b90506007935060ff9291921916838301528015150201018280610473565b600a5f908152919250907fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85b83821061066757505001600d018280610441565b60018160209254600d858701015201910190610653565b9050600d935060ff9291921916838301528015150201018280610441565b60095f908152919250907f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5b8382106106dc57505001600e018280610409565b60018160209254600e8587010152019101906106c8565b9050600e935060ff9291921916838301528015150201018280610409565b60085f908152919250907ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35b83821061075157505001602e0182806103d0565b60018160209254602e85870101520191019061073d565b9050602e935060ff92919219168383015280151502010182806103d0565b60075f90815292935090917fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6885b8382106107c857505001601701908480610361565b6001816020925460178587010152019101906107b3565b9050601793945060ff929192191683830152801515020101908480610361565b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b9594939250905b8082106108475750929350909182016020016102e96102d7565b9192939460018160209254838589010152019101909493929161082d565b60ff1916865250151560051b830160200190506102e96102d7565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8183106108c35750509060206102aa9282010161029e565b6020919350806001915483858b010152019101909186926108ab565b60ff19168552506102aa92151560051b8201602001905061029e565b90505f9291925260205f20905f915b81831061092357505090602061026d9282010185610260565b602091935080600191548385890101520191019091849261090a565b60ff191686525061026d93151560051b83016020019150869050610260565b6006610230565b346102095760403660031901126102095761097e611215565b61098661122b565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b34610209575f366003190112610209576040515f6008546109d581611241565b80845290600181169081156101e557506001146109fc576101838361017781850382611279565b60085f9081527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3939250905b808210610a4057509091508101602001610177610167565b919260018160209254838588010152019101909291610a28565b34610209575f366003190112610209576040515f600b54610a7a81611241565b80845290600181169081156101e55750600114610aa1576101838361017781850382611279565b600b5f9081527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9939250905b808210610ae557509091508101602001610177610167565b919260018160209254838588010152019101909291610acd565b34610209575f3660031901126102095760206040517f000000000000000000000000000000000000000000108b2a2c280290940000008152f35b3461020957604036600319011261020957610b5f610b55611215565b60243590336113a4565b602060405160018152f35b34610209575f3660031901126102095760206040517f0000000000000000000000000000000000000000000000000000000001850b4c8152f35b34610209575f366003190112610209576040515f600454610bc481611241565b80845290600181169081156101e55750600114610beb576101838361017781850382611279565b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b808210610c2f57509091508101602001610177610167565b919260018160209254838588010152019101909291610c17565b34610209575f3660031901126102095760206040515f8152f35b3461020957604036600319011261020957610c93610c7f611215565b60243590610c8e823383611301565b6114ea565b005b34610209576020366003190112610209576001600160a01b03610cb6611215565b165f525f602052602060405f2054604051908152f35b34610209575f366003190112610209576040515f600754610cec81611241565b80845290600181169081156101e55750600114610d13576101838361017781850382611279565b60075f9081527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688939250905b808210610d5757509091508101602001610177610167565b919260018160209254838588010152019101909291610d3f565b34610209575f366003190112610209576040515f600954610d9181611241565b80845290600181169081156101e55750600114610db8576101838361017781850382611279565b60095f9081527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af939250905b808210610dfc57509091508101602001610177610167565b919260018160209254838588010152019101909291610de4565b3461020957602036600319011261020957610c93600435336114ea565b3461020957604036600319011261020957610e4c611215565b60243590811515809203610209577f0000000000000000000000002224b9b6b7224b14ceffa2c4c4076e3321af87a76001600160a01b03163303610ed85760207f4aed8b8a26c8d87da818b50361f1273864d5b7008289379caa0aa8b7be56a3669160018060a01b031692835f526005825260405f2060ff1981541660ff8316179055604051908152a2005b63236deb5b60e01b5f5260045ffd5b34610209575f366003190112610209576040515f600654610f0781611241565b80845290600181169081156101e55750600114610f2e576101838361017781850382611279565b60065f9081527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f939250905b808210610f7257509091508101602001610177610167565b919260018160209254838588010152019101909291610f5a565b34610209575f36600319011261020957602060405160128152f35b3461020957606036600319011261020957610b5f610fc3611215565b610fcb61122b565b60443591610fda833383611301565b6113a4565b34610209576020366003190112610209576001600160a01b03611000611215565b165f526005602052602060ff60405f2054166040519015158152f35b34610209575f366003190112610209576020600254604051908152f35b34610209575f3660031901126102095760206110536112af565b6040519015158152f35b3461020957604036600319011261020957611076611215565b6024359033156110f2576001600160a01b03169081156110df57335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b34610209575f366003190112610209576040515f60035461112581611241565b80845290600181169081156101e5575060011461114c576101838361017781850382611279565b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b80821061119057509091508101602001610177610167565b919260018160209254838588010152019101909291611178565b34610209575f366003190112610209577f0000000000000000000000002224b9b6b7224b14ceffa2c4c4076e3321af87a76001600160a01b03168152602090f35b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361020957565b602435906001600160a01b038216820361020957565b90600182811c9216801561126f575b602083101461125b57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691611250565b90601f8019910116810190811067ffffffffffffffff82111761129b57604052565b634e487b7160e01b5f52604160045260245ffd5b7f000000000000000000000000000000000000000000108b2a2c280290940000001515806112da5790565b507f0000000000000000000000000000000000000000000000000000000001850b4c431090565b6001600160a01b039081165f818152600160209081526040808320948616835293905291909120549291905f19841061133b575b50505050565b8284106113815780156110f2576001600160a01b038216156110df575f52600160205260405f209060018060a01b03165f5260205260405f20910390555f808080611335565b508290637dc7a0d960e11b5f5260018060a01b031660045260245260445260645ffd5b6001600160a01b03169081156114d7576001600160a01b03169182156114c4576113cc6112af565b806114bc575b806114a5575b80611468575b61145957815f525f60205260405f205481811061144057817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b6357af6af560e11b5f5260045ffd5b50825f525f60205261147e8160405f2054611604565b7f000000000000000000000000000000000000000000108b2a2c28029094000000106113de565b50825f52600560205260ff60405f205416156113d8565b5060016113d2565b63ec442f0560e01b5f525f60045260245ffd5b634b637e8f60e11b5f525f60045260245ffd5b9091906001600160a01b031680156114d7576115046112af565b806115fd575b806115c9575b8061158c575b61145957805f525f60205260405f2054838110611572576020845f94957fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef938587528684520360408620558060025403600255604051908152a3565b915063391434e360e21b5f5260045260245260445260645ffd5b505f80525f6020526115a28360405f2054611604565b7f000000000000000000000000000000000000000000108b2a2c2802909400000010611516565b505f805260056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5460ff1615611510565b505f61150a565b9190820180921161161157565b634e487b7160e01b5f52601160045260245ffd5b90815115611744578151600281018091116116115760039004600281901b91906001600160fe1b0381160361161157604051917f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f603f52602083018480518101602081018051915f82525b80891061170857506020959697509060039291525106806001146116f3576002146116e6575b50808452830101604052565b603d905f1901535f6116da565b50603d90815f1982015360011901535f6116da565b939760036004910198603f8a51818160121c165183538181600c1c16516001840153818160061c165160028401531651600382015301936116b4565b90506040516020810181811067ffffffffffffffff82111761129b576040525f81529056fea26469706673582212206067273864f2e022484d2b775c18f8dfc69e7493e3f988a7a1e637a79744b39f64736f6c634300081c0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| DIH | 1 | $0.0000106 | $0 |
| 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 | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x7e6a9394…f31467 | Transfer | 18,592,153 | 22 days agoSat, 25 Jul 2026 00:48:56 UTC | 0xcaf7…5d11 | IN | 0x49c5…d84b | $0.001 DIH |
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xd3d7f3…4e662e | 8 days agoSat, 08 Aug 2026 01:03:30 UTC | Transfer | [0] 0x000000000000…a9f8e4bf [1] 0x000000000000…01e1f76a data: 0x000000000000000000…c2b2f8f1 |
| 0xd3d7f3…4e662e | 8 days agoSat, 08 Aug 2026 01:03:30 UTC | Approval | [0] 0x000000000000…a9f8e4bf [1] 0x000000000000…959e5cb2 data: 0x000000000000000000…c2b2f8f1 |
| 0xd3d7f3…4e662e | 8 days agoSat, 08 Aug 2026 01:03:30 UTC | Transfer | [0] 0x000000000000…a9869192 [1] 0x000000000000…a9f8e4bf data: 0x000000000000000000…c2b2f8f1 |
| 0x417d5c…c38852 | 8 days agoSat, 08 Aug 2026 01:00:07 UTC | Approval | [0] 0x000000000000…a9869192 [1] 0x000000000000…a9f8e4bf data: 0xffffffffffffffffff…ffffffff |
| 0x86a9d4…b07e23 | 8 days agoSat, 08 Aug 2026 00:59:51 UTC | Transfer | [0] 0x000000000000…a9f8e4bf [1] 0x000000000000…01e1f76a data: 0x000000000000000000…61dd72a8 |
| 0x86a9d4…b07e23 | 8 days agoSat, 08 Aug 2026 00:59:51 UTC | Approval | [0] 0x000000000000…a9f8e4bf [1] 0x000000000000…959e5cb2 data: 0x000000000000000000…61dd72a8 |
| 0x86a9d4…b07e23 | 8 days agoSat, 08 Aug 2026 00:59:51 UTC | Transfer | [0] 0x000000000000…464bab89 [1] 0x000000000000…a9f8e4bf data: 0x000000000000000000…61dd72a8 |
| 0x552552…11a165 | 8 days agoSat, 08 Aug 2026 00:59:50 UTC | Approval | [0] 0x000000000000…464bab89 [1] 0x000000000000…a9f8e4bf data: 0xffffffffffffffffff…ffffffff |
| 0x052e00…f268cd | 24 days agoWed, 22 Jul 2026 18:29:05 UTC | Transfer | [0] 0x000000000000…94624eff [1] 0x000000000000…01e1f76a data: 0x000000000000000000…61579a39 |
| 0x052e00…f268cd | 24 days agoWed, 22 Jul 2026 18:29:05 UTC | Transfer | [0] 0x000000000000…94624eff [1] 0x000000000000…10d09799 data: 0x000000000000000000…d3f92972 |
| 0x052e00…f268cd | 24 days agoWed, 22 Jul 2026 18:29:05 UTC | Transfer | [0] 0x000000000000…9db66b36 [1] 0x000000000000…94624eff data: 0x000000000000000000…3550c3ab |
| 0x35e2e3…617287 | 24 days agoWed, 22 Jul 2026 18:29:04 UTC | Approval | [0] 0x000000000000…9db66b36 [1] 0x000000000000…72c22734 data: 0x000000000000000000…3550c3ab |
| 0xa29c0a…9c3b75 | 25 days agoTue, 21 Jul 2026 20:55:45 UTC | Transfer | [0] 0x000000000000…43e40951 [1] 0x000000000000…9db66b36 data: 0x000000000000000000…e6305a2e |
| 0xbb4aa4…fd863a | 25 days agoTue, 21 Jul 2026 16:45:12 UTC | Transfer | [0] 0x000000000000…172bb7fe [1] 0x000000000000…01e1f76a data: 0x000000000000000000…27c5070a |
| 0xbb4aa4…fd863a | 25 days agoTue, 21 Jul 2026 16:45:12 UTC | Approval | [0] 0x000000000000…172bb7fe [1] 0x000000000000…959e5cb2 data: 0x000000000000000000…27c5070a |
| 0xbb4aa4…fd863a | 25 days agoTue, 21 Jul 2026 16:45:12 UTC | Transfer | [0] 0x000000000000…a9e9b3ef [1] 0x000000000000…172bb7fe data: 0x000000000000000000…27c5070a |
| 0xa692e0…ac12f1 | 25 days agoTue, 21 Jul 2026 16:45:10 UTC | Approval | [0] 0x000000000000…a9e9b3ef [1] 0x000000000000…172bb7fe data: 0xffffffffffffffffff…ffffffff |
| 0x07e555…ef19f8 | 26 days agoMon, 20 Jul 2026 16:42:20 UTC | Approval | [0] 0x000000000000…86645f80 [1] 0x000000000000…6b37503d data: 0x000000000000000000…00000000 |
| 0x889b12…5b6b52 | 31 days agoWed, 15 Jul 2026 20:03:51 UTC | Approval | [0] 0x000000000000…a5f72a4a [1] 0x000000000000…262c40dc data: 0x000000000000000000…00000000 |
| 0xf71ab2…b9a335 | 31 days agoWed, 15 Jul 2026 09:13:34 UTC | Transfer | [0] 0x000000000000…34442049 [1] 0x000000000000…01e1f76a data: 0x000000000000000000…e329309c |
| 0xf71ab2…b9a335 | 31 days agoWed, 15 Jul 2026 09:13:34 UTC | Approval | [0] 0x000000000000…34442049 [1] 0x000000000000…959e5cb2 data: 0x000000000000000000…e329309c |
| 0xf71ab2…b9a335 | 31 days agoWed, 15 Jul 2026 09:13:34 UTC | Transfer | [0] 0x000000000000…446c14c6 [1] 0x000000000000…34442049 data: 0x000000000000000000…e329309c |
| 0x138901…765b18 | 31 days agoWed, 15 Jul 2026 09:13:12 UTC | Approval | [0] 0x000000000000…446c14c6 [1] 0x000000000000…34442049 data: 0xffffffffffffffffff…ffffffff |
| 0xb3395c…f2ac8b | 32 days agoTue, 14 Jul 2026 17:29:41 UTC | Transfer | [0] 0x000000000000…cbdb50f4 [1] 0x000000000000…01e1f76a data: 0x000000000000000000…4ad64ba9 |
| 0x0ed237…03024b | 32 days agoTue, 14 Jul 2026 17:29:41 UTC | Approval | [0] 0x000000000000…cbdb50f4 [1] 0x000000000000…262c40dc data: 0xffffffffffffffffff…ffffffff |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x417d5c…c38852 | Approve | 30,661,450 | 8 days agoSat, 08 Aug 2026 01:00:07 UTC | 0x5638…9192 | IN | Bullboro | $0.000 ETH | 0.00000145 | |
| 0x552552…11a165 | Approve | 30,661,285 | 8 days agoSat, 08 Aug 2026 00:59:50 UTC | 0x3c86…ab89 | IN | Bullboro | $0.000 ETH | 0.00000146 | |
| 0x35e2e3…617287 | Approve | 16,641,485 | 24 days agoWed, 22 Jul 2026 18:29:04 UTC | 0xa691…6b36 | IN | Bullboro | $0.000 ETH | 0.00000397 | |
| 0xa692e0…ac12f1 | Approve | 15,716,874 | 25 days agoTue, 21 Jul 2026 16:45:10 UTC | 0xe0a1…b3ef | IN | Bullboro | $0.000 ETH | 0.00000298 | |
| 0x07e555…ef19f8 | Approve | 14,853,142 | 26 days agoMon, 20 Jul 2026 16:42:20 UTC | 0x352c…5f80 | IN | Bullboro | $0.000 ETH | 0.00000127 | |
| 0x889b12…5b6b52 | Approve | 10,667,092 | 31 days agoWed, 15 Jul 2026 20:03:51 UTC | 0x73ae…2a4a | IN | Bullboro | $0.000 ETH | 0.00000164 | |
| 0x138901…765b18 | Approve | 10,275,509 | 31 days agoWed, 15 Jul 2026 09:13:12 UTC | 0x46b3…14c6 | IN | Bullboro | $0.000 ETH | 0.00000246 | |
| 0x0ed237…03024b | Approve | 9,710,150 | 32 days agoTue, 14 Jul 2026 17:29:41 UTC | 0x915e…50f4 | IN | Bullboro | $0.000 ETH | 0.00000236 | |
| 0x4bbea2…7bac3b | Approve | 9,664,535 | 32 days agoTue, 14 Jul 2026 16:13:42 UTC | 0x27ce…b0a6 | IN | Bullboro | $0.000 ETH | 0.00000229 | |
| 0x6e26bc…e64df1 | Approve | 9,659,221 | 32 days agoTue, 14 Jul 2026 16:04:51 UTC | 0xcfbe…7a29 | IN | Bullboro | $0.000 ETH | 0.00000224 | |
| 0x1d49fd…00c3c2 | Approve | 8,855,251 | 33 days agoMon, 13 Jul 2026 17:42:07 UTC | 0xfce4…a29b | IN | Bullboro | $0.000 ETH | 0.00000239 | |
| 0x15278e…21e164 | Approve | 8,788,488 | 33 days agoMon, 13 Jul 2026 15:50:39 UTC | 0x7b9c…7a66 | IN | Bullboro | $0.000 ETH | 0.00000228 | |
| 0x718ac2…e2e2d7 | Approve | 8,784,764 | 33 days agoMon, 13 Jul 2026 15:44:27 UTC | 0x51c9…cfe9 | IN | Bullboro | $0.000 ETH | 0.00000231 | |
| 0x19f6aa…91926b | Approve | 8,784,764 | 33 days agoMon, 13 Jul 2026 15:44:27 UTC | 0xe6fb…ac43 | IN | Bullboro | $0.000 ETH | 0.00000231 | |
| 0xebaca6…1d8cd3 | Approve | 8,781,372 | 33 days agoMon, 13 Jul 2026 15:38:45 UTC | 0xda25…8b6c | IN | Bullboro | $0.000 ETH | 0.00000231 | |
| 0x217ada…fff024 | Approve | 7,027,123 | 35 days agoSat, 11 Jul 2026 14:49:13 UTC | 0x60fa…04cf | IN | Bullboro | $0.000 ETH | 0.00000264 | |
| 0x0b5250…caefba | Approve | 7,027,123 | 35 days agoSat, 11 Jul 2026 14:49:13 UTC | 0x1ef3…a5f1 | IN | Bullboro | $0.000 ETH | 0.00000264 | |
| 0xd15102…75630f | Approve | 7,017,414 | 35 days agoSat, 11 Jul 2026 14:33:02 UTC | 0x2072…af46 | IN | Bullboro | $0.000 ETH | 0.00000265 | |
| 0x555318…dc7767 | Approve | 7,012,305 | 35 days agoSat, 11 Jul 2026 14:24:30 UTC | 0x6792…5495 | IN | Bullboro | $0.000 ETH | 0.00000264 | |
| 0x327d8f…2fa8fd | Approve | 6,984,816 | 35 days agoSat, 11 Jul 2026 13:38:36 UTC | 0x04bb…1dd6 | IN | Bullboro | $0.000 ETH | 0.00000259 | |
| 0x29225b…0c2d37 | Approve | 6,959,415 | 35 days agoSat, 11 Jul 2026 12:56:11 UTC | 0x0c78…9ad8 | IN | Bullboro | $0.000 ETH | 0.00000261 | |
| 0x85016e…922f1b | Approve | 6,955,193 | 35 days agoSat, 11 Jul 2026 12:49:08 UTC | 0x9064…3dd1 | IN | Bullboro | $0.000 ETH | 0.00000265 | |
| 0x8da236…b5af45 | Approve | 6,953,596 | 35 days agoSat, 11 Jul 2026 12:46:28 UTC | 0x0c78…9ad8 | IN | Bullboro | $0.000 ETH | 0.00000263 | |
| 0x07593d…15e4f3 | Approve | 6,953,322 | 35 days agoSat, 11 Jul 2026 12:46:00 UTC | 0xb77c…64ae | IN | Bullboro | $0.000 ETH | 0.00000262 | |
| 0x9ea428…8506b1 | Approve | 6,343,776 | 36 days agoFri, 10 Jul 2026 19:48:54 UTC | 0xf5c4…6157 | IN | Bullboro | $0.000 ETH | 0.00000218 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 5,339,106 | 37 days agoThu, 09 Jul 2026 15:51:50 UTC | 0x125bb3…d952a9 | CREATE2 | createAndBuy | 0x2224…87a7 | IN | 0x49c5…d84b | 0 ETH |