// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import {ERC20CloneBase} from "./base/ERC20CloneBase.sol";
interface IERC20BalanceView {
function balanceOf(address account) external view returns (uint256);
}
/// @notice The launch factory callback the token constructor reads its params
/// from. Deployer-callback pattern (same trick as UniswapV3Pool): the
/// constructor takes NO arguments, so the CREATE2 init-code hash is a
/// CONSTANT — the in-browser vanity salt miner only ever needs the
/// creation-code hash, independent of name/symbol/metadata.
interface IStoxesFunSimpleTokenDeployer {
function launchParams()
external
view
returns (
string memory name,
string memory symbol,
string memory metaURI,
address devBuyer,
address weth
);
}
/// @title StoxesFunSimpleToken — the stoxes.fun NON-taxed launch token
/// @author stoxes.fun
/// @notice Immutable, plain ERC-20 launched straight into a Uniswap V3 pool
/// (bow.fun model). NO tax, NO owner, NO mint path, NO blacklist:
/// the full fixed supply is minted once to the launch factory, which
/// locks it single-sided into the V3 position held forever by the
/// Locker. Platform + creator revenue is the pool's 1% swap fee only.
///
/// The only transfer-time logic, both temporary or inert:
/// - Anti-snipe max-wallet: for a short window after launch, a
/// non-exempt wallet cannot hold more than 2% of supply. The
/// window expires by timestamp; after that the check is dead code.
/// The dev buy (launch creator) is exempt, like bow.fun.
/// - `declareMigrated()`: a PERMISSIONLESS, purely cosmetic latch
/// that flips `migrated` once the V3 pool holds >= 3.7 WETH.
/// It gates nothing on-chain — it exists so UIs/scanners can show
/// a "graduated" badge, mirroring bow.fun's latch.
///
/// Ownership is renounced from birth: `owner()` returns address(0)
/// forever. The immutable launch factory can wire the pool address +
/// max-wallet exemptions ONLY during the launch transaction (before
/// `setPool` finalizes the wiring) — afterwards nothing can change.
contract StoxesFunSimpleToken is ERC20CloneBase {
/// @notice Fixed launch supply: 1 billion tokens (matches the taxed side).
uint256 public constant MAX_SUPPLY = 1e9 ether;
/// @notice Anti-snipe max wallet: 2% of supply while the window is open.
uint256 public constant MAX_WALLET_BPS = 200;
/// @notice Anti-snipe window length after deploy.
uint256 public constant ANTI_SNIPE_DURATION = 10 minutes;
/// @notice V3 pool WETH depth at which the cosmetic `migrated` latch opens.
uint256 public constant GRADUATION_WETH = 3.7 ether;
/// @notice The stoxes.fun V3 launch factory that deployed this token.
/// Its ONLY power is one-shot wiring during the launch tx.
address public immutable factory;
/// @notice WETH on Robinhood Chain (read from the factory at deploy).
address public immutable WETH;
/// @notice Timestamp when the anti-snipe max-wallet check stops applying.
uint256 public immutable antiSnipeEndsAt;
/// @notice The token's Uniswap V3 pool (set once by the factory at launch).
address public pool;
/// @notice Cosmetic graduation latch (see `declareMigrated`).
bool public migrated;
/// @notice Off-chain metadata URI (socials, logo) — "stoxes.fun" branded.
string public metaURI;
/// @notice Wallets exempt from the anti-snipe max-wallet check (factory,
/// pool, locker, position manager, dev buyer, dead address).
mapping(address => bool) public maxWalletExempt;
event PoolSet(address indexed pool);
event MaxWalletExemptSet(address indexed account, bool exempt);
event Migrated(uint256 poolWethBalance);
error NotFactory();
error PoolAlreadySet();
error PoolNotSet();
error NotYetMigratable();
error AlreadyMigrated();
error MaxWalletExceeded(address account, uint256 wouldHold, uint256 cap);
error WiringFinalized();
error InvalidParams();
modifier onlyFactory() {
if (msg.sender != factory) revert NotFactory();
_;
}
/// @dev No constructor args (constant init-code hash for vanity mining):
/// everything comes from the deployer callback.
constructor() {
factory = msg.sender;
(
string memory name_,
string memory symbol_,
string memory metaURI_,
address devBuyer,
address weth_
) = IStoxesFunSimpleTokenDeployer(msg.sender).launchParams();
if (weth_ == address(0)) revert InvalidParams();
_initERC20(name_, symbol_);
metaURI = metaURI_;
WETH = weth_;
antiSnipeEndsAt = block.timestamp + ANTI_SNIPE_DURATION;
// Launch-infrastructure exemptions. The dev buy lands in the same
// transaction and is exempt from the max wallet, like bow.fun.
maxWalletExempt[msg.sender] = true;
if (devBuyer != address(0)) {
maxWalletExempt[devBuyer] = true;
emit MaxWalletExemptSet(devBuyer, true);
}
maxWalletExempt[address(0xdead)] = true;
_mint(msg.sender, MAX_SUPPLY);
}
/// @notice Ownership is renounced from birth: there is no owner, ever.
/// @dev Explicit view so explorers/scanners that probe `owner()` read
/// the token as renounced from block one.
function owner() public pure returns (address) {
return address(0);
}
// ------------------------------------------------------------------
// One-shot factory wiring (launch transaction only)
// ------------------------------------------------------------------
/// @notice Marks launch-infrastructure addresses max-wallet exempt.
/// Callable only by the factory and only BEFORE `setPool`
/// finalizes the wiring — after launch nothing can change.
function setMaxWalletExempt(address account, bool exempt) external onlyFactory {
if (pool != address(0)) revert WiringFinalized();
maxWalletExempt[account] = exempt;
emit MaxWalletExemptSet(account, exempt);
}
/// @notice Sets the V3 pool address ONCE. This is the LAST wiring call:
/// it permanently freezes the exemption list too.
function setPool(address pool_) external onlyFactory {
if (pool != address(0)) revert PoolAlreadySet();
if (pool_ == address(0)) revert InvalidParams();
pool = pool_;
maxWalletExempt[pool_] = true;
emit MaxWalletExemptSet(pool_, true);
emit PoolSet(pool_);
}
// ------------------------------------------------------------------
// Cosmetic graduation latch (permissionless)
// ------------------------------------------------------------------
/// @notice Latches `migrated` once the pool holds >= 3.7 WETH. Anyone can
/// call it; it changes NO transfer/economic behavior — it is a
/// badge for UIs, mirroring bow.fun's graduation latch.
function declareMigrated() external {
if (migrated) revert AlreadyMigrated();
address p = pool;
if (p == address(0)) revert PoolNotSet();
uint256 depth = IERC20BalanceView(WETH).balanceOf(p);
if (depth < GRADUATION_WETH) revert NotYetMigratable();
migrated = true;
emit Migrated(depth);
}
// ------------------------------------------------------------------
// Transfer hook: anti-snipe max wallet during the launch window only
// ------------------------------------------------------------------
function _transfer(address from, address to, uint256 amount) internal override {
if (block.timestamp < antiSnipeEndsAt && !maxWalletExempt[to]) {
uint256 cap = (MAX_SUPPLY * MAX_WALLET_BPS) / 10_000;
uint256 wouldHold = balanceOf(to) + amount;
if (wouldHold > cap) revert MaxWalletExceeded(to, wouldHold, cap);
}
_rawTransfer(from, to, amount);
}
}[
{
"type": "constructor",
"inputs": [],
"stateMutability": "nonpayable"
},
{
"name": "AlreadyMigrated",
"type": "error",
"inputs": []
},
{
"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": "from",
"type": "address",
"internalType": "address"
},
{
"name": "balance",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "needed",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC20InvalidReceiver",
"type": "error",
"inputs": [
{
"name": "receiver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidSender",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "InvalidParams",
"type": "error",
"inputs": []
},
{
"name": "MaxWalletExceeded",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "wouldHold",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "cap",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "NotFactory",
"type": "error",
"inputs": []
},
{
"name": "NotYetMigratable",
"type": "error",
"inputs": []
},
{
"name": "PoolAlreadySet",
"type": "error",
"inputs": []
},
{
"name": "PoolNotSet",
"type": "error",
"inputs": []
},
{
"name": "WiringFinalized",
"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": "MaxWalletExemptSet",
"type": "event",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "exempt",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"anonymous": false
},
{
"name": "Migrated",
"type": "event",
"inputs": [
{
"name": "poolWethBalance",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "PoolSet",
"type": "event",
"inputs": [
{
"name": "pool",
"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": "ANTI_SNIPE_DURATION",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "GRADUATION_WETH",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "MAX_SUPPLY",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "MAX_WALLET_BPS",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "WETH",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"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": "antiSnipeEndsAt",
"type": "function",
"inputs": [],
"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": "declareMigrated",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "factory",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "maxWalletExempt",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "metaURI",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "migrated",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"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": "pool",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "setMaxWalletExempt",
"type": "function",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "exempt",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setPool",
"type": "function",
"inputs": [
{
"name": "pool_",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"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"
}
]0x608060405234801561000f575f80fd5b5060043610610153575f3560e01c806370a08231116100bf578063ad5c464811610079578063ad5c4648146102ca578063b6efaa75146102f1578063b77107c9146102f9578063c45a015514610308578063c901f8e91461032f578063dd62ed3e14610356575f80fd5b806370a08231146102655780637537ccb61461028d5780638da5cb5b146102a057806395d89b41146102a657806395eae396146102ae578063a9059cbb146102b7575f80fd5b80632de156d6116101105780632de156d6146101fc578063313ce5671461020657806332cb6b0c146102155780634437152a146102285780634f0aad4e1461023b578063676057871461025d575f80fd5b806306fdde0314610157578063095ea7b31461017557806316f0115b1461019857806318160ddd146101c357806323b872dd146101d55780632c678c64146101e8575b5f80fd5b61015f61038e565b60405161016c9190610b53565b60405180910390f35b610188610183366004610ba3565b61041d565b604051901515815260200161016c565b6005546101ab906001600160a01b031681565b6040516001600160a01b03909116815260200161016c565b6002545b60405190815260200161016c565b6101886101e3366004610bcb565b610433565b60055461018890600160a01b900460ff1681565b6102046104d2565b005b6040516012815260200161016c565b6101c76b033b2e3c9fd0803ce800000081565b610204610236366004610c05565b61062f565b610188610249366004610c05565b60076020525f908152604090205460ff1681565b61015f61076c565b6101c7610273366004610c05565b6001600160a01b03165f9081526003602052604090205490565b61020461029b366004610c25565b6107f8565b5f6101ab565b61015f6108c9565b6101c761025881565b6101886102c5366004610ba3565b6108d8565b6101ab7f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad7381565b6101c760c881565b6101c76733590a6584f2000081565b6101ab7f000000000000000000000000f612b37d684b3eca3583121172764ab0ef8417fc81565b6101c77f000000000000000000000000000000000000000000000000000000006a57d75381565b6101c7610364366004610c5e565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b60605f805461039c90610c8f565b80601f01602080910402602001604051908101604052809291908181526020018280546103c890610c8f565b80156104135780601f106103ea57610100808354040283529160200191610413565b820191905f5260205f20905b8154815290600101906020018083116103f657829003601f168201915b5050505050905090565b5f6104293384846108e4565b5060015b92915050565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f1981146104bc578281101561049457604051637dc7a0d960e11b815233600482015260248101829052604481018490526064015b60405180910390fd5b6001600160a01b0385165f908152600460209081526040808320338452909152902083820390555b6104c7858585610944565b506001949350505050565b600554600160a01b900460ff16156104fd576040516332870f2f60e21b815260040160405180910390fd5b6005546001600160a01b03168061052757604051633c67586360e01b815260040160405180910390fd5b6040516370a0823160e01b81526001600160a01b0382811660048301525f917f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad73909116906370a0823190602401602060405180830381865afa15801561058f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b39190610cc7565b90506733590a6584f200008110156105de576040516316c70d7160e21b815260040160405180910390fd5b6005805460ff60a01b1916600160a01b1790556040517fe4a25c0c2cbe89d6ad8b64c61a7dbdd20d1f781f6023f1ab94ebb7fe0aef6ab8906106239083815260200190565b60405180910390a15050565b336001600160a01b037f000000000000000000000000f612b37d684b3eca3583121172764ab0ef8417fc161461067857604051631966391b60e11b815260040160405180910390fd5b6005546001600160a01b0316156106a257604051632fc00d1f60e11b815260040160405180910390fd5b6001600160a01b0381166106c957604051635435b28960e11b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091555f81815260076020908152604091829020805460ff1916600190811790915591519182527fb6dc23005e717e1eda12837f11302b77ea2fdec3262f4ff8c059ac691b4a16ac910160405180910390a26040516001600160a01b038216907f025f89b99c8ce32af8da7624f4575b920a86ebf07870d85a9fb545fee349ddce905f90a250565b6006805461077990610c8f565b80601f01602080910402602001604051908101604052809291908181526020018280546107a590610c8f565b80156107f05780601f106107c7576101008083540402835291602001916107f0565b820191905f5260205f20905b8154815290600101906020018083116107d357829003601f168201915b505050505081565b336001600160a01b037f000000000000000000000000f612b37d684b3eca3583121172764ab0ef8417fc161461084157604051631966391b60e11b815260040160405180910390fd5b6005546001600160a01b03161561086b5760405163957cdddf60e01b815260040160405180910390fd5b6001600160a01b0382165f81815260076020908152604091829020805460ff191685151590811790915591519182527fb6dc23005e717e1eda12837f11302b77ea2fdec3262f4ff8c059ac691b4a16ac910160405180910390a25050565b60606001805461039c90610c8f565b5f610429338484610944565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b7f000000000000000000000000000000000000000000000000000000006a57d7534210801561098b57506001600160a01b0382165f9081526007602052604090205460ff16155b15610a20575f6127106109ab60c86b033b2e3c9fd0803ce8000000610cf2565b6109b59190610d09565b90505f826109d7856001600160a01b03165f9081526003602052604090205490565b6109e19190610d28565b905081811115610a1d576040516304a43e8b60e51b81526001600160a01b0385166004820152602481018290526044810183905260640161048b565b50505b610a2b838383610a30565b505050565b6001600160a01b038316610a6257604051634b637e8f60e11b81526001600160a01b038416600482015260240161048b565b6001600160a01b038216610a945760405163ec442f0560e01b81526001600160a01b038316600482015260240161048b565b6001600160a01b0383165f9081526003602052604090205481811015610ae65760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161048b565b6001600160a01b038085165f8181526003602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b459086815260200190565b60405180910390a350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610b9e575f80fd5b919050565b5f8060408385031215610bb4575f80fd5b610bbd83610b88565b946020939093013593505050565b5f805f60608486031215610bdd575f80fd5b610be684610b88565b9250610bf460208501610b88565b929592945050506040919091013590565b5f60208284031215610c15575f80fd5b610c1e82610b88565b9392505050565b5f8060408385031215610c36575f80fd5b610c3f83610b88565b915060208301358015158114610c53575f80fd5b809150509250929050565b5f8060408385031215610c6f575f80fd5b610c7883610b88565b9150610c8660208401610b88565b90509250929050565b600181811c90821680610ca357607f821691505b602082108103610cc157634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215610cd7575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761042d5761042d610cde565b5f82610d2357634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561042d5761042d610cde56fea2646970667358221220c8f82db466a1e10ff2e3a882e621b9926a94d3b797c5d573c7f3ab326d0c2f4764736f6c634300081a0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| DIH | 1 | $0.0000123 | $0 |
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xc2193a…7d6a3a | 6 days agoSun, 09 Aug 2026 12:14:05 UTC | Transfer | [0] 0x000000000000…e5353338 [1] 0x000000000000…cdbf1c2a data: 0x000000000000000000…3f3489da |
| 0x7abb0e…a46329 | 7 days agoSat, 08 Aug 2026 13:55:05 UTC | Approval | [0] 0x000000000000…ecb16f76 [1] 0x000000000000…74568dd4 data: 0x000000000000000000…00000000 |
| 0x7abb0e…a46329 | 7 days agoSat, 08 Aug 2026 13:55:05 UTC | Transfer | [0] 0x000000000000…ecb16f76 [1] 0x000000000000…e5353338 data: 0x000000000000000000…bba49f85 |
| 0x7abb0e…a46329 | 7 days agoSat, 08 Aug 2026 13:55:05 UTC | Approval | [0] 0x000000000000…ecb16f76 [1] 0x000000000000…74568dd4 data: 0x000000000000000000…bba49f85 |
| 0x7abb0e…a46329 | 7 days agoSat, 08 Aug 2026 13:55:05 UTC | Transfer | [0] 0x000000000000…b820cf42 [1] 0x000000000000…ecb16f76 data: 0x000000000000000000…bba49f85 |
| 0x7233d7…9b6b7d | 9 days agoThu, 06 Aug 2026 15:51:49 UTC | Transfer | [0] 0x000000000000…732b8caa [1] 0x000000000000…e5353338 data: 0x000000000000000000…4f06e3a4 |
| 0x2b4cf4…e7f325 | 9 days agoThu, 06 Aug 2026 15:51:49 UTC | Approval | [0] 0x000000000000…732b8caa [1] 0x000000000000…262c40dc data: 0x000000000000000000…4f06e3a4 |
| 0x10ce18…345e5a | 27 days agoSun, 19 Jul 2026 19:03:37 UTC | Approval | [0] 0x000000000000…24c8fce5 [1] 0x000000000000…72c22734 data: 0xffffffffffffffffff…ffffffff |
| 0xd97979…7298c6 | 27 days agoSun, 19 Jul 2026 11:04:23 UTC | Transfer | [0] 0x000000000000…13b3e3c7 [1] 0x000000000000…e5353338 data: 0x000000000000000000…8531e014 |
| 0x84e201…f09688 | 27 days agoSun, 19 Jul 2026 11:04:23 UTC | Approval | [0] 0x000000000000…13b3e3c7 [1] 0x000000000000…e534ecb1 data: 0xffffffffffffffffff…ffffffff |
| 0x498765…9bdc40 | 27 days agoSun, 19 Jul 2026 06:59:51 UTC | Approval | [0] 0x000000000000…5f3cff2e [1] 0x000000000000…211389c7 data: 0xffffffffffffffffff…ffffffff |
| 0x7f92e5…9116e4 | 27 days agoSun, 19 Jul 2026 06:59:45 UTC | Transfer | [0] 0x000000000000…94624eff [1] 0x000000000000…5f3cff2e data: 0x000000000000000000…6f144b38 |
| 0x7f92e5…9116e4 | 27 days agoSun, 19 Jul 2026 06:59:45 UTC | Transfer | [0] 0x000000000000…94624eff [1] 0x000000000000…24c8fce5 data: 0x000000000000000000…0bb444d2 |
| 0x7f92e5…9116e4 | 27 days agoSun, 19 Jul 2026 06:59:45 UTC | Transfer | [0] 0x000000000000…e5353338 [1] 0x000000000000…94624eff data: 0x000000000000000000…7ac8900a |
| 0x0bb660…8d8eda | 28 days agoSat, 18 Jul 2026 03:27:03 UTC | Transfer | [0] 0x000000000000…459b81a1 [1] 0x000000000000…e5353338 data: 0x000000000000000000…74cc5301 |
| 0x16573f…50838e | 28 days agoSat, 18 Jul 2026 03:27:03 UTC | Approval | [0] 0x000000000000…459b81a1 [1] 0x000000000000…262c40dc data: 0xffffffffffffffffff…ffffffff |
| 0xf603ca…08d44e | 29 days agoFri, 17 Jul 2026 13:33:29 UTC | Approval | [0] 0x000000000000…ecb16f76 [1] 0x000000000000…74568dd4 data: 0x000000000000000000…00000000 |
| 0xf603ca…08d44e | 29 days agoFri, 17 Jul 2026 13:33:29 UTC | Transfer | [0] 0x000000000000…ecb16f76 [1] 0x000000000000…e5353338 data: 0x000000000000000000…a3124a9d |
| 0xf603ca…08d44e | 29 days agoFri, 17 Jul 2026 13:33:29 UTC | Approval | [0] 0x000000000000…ecb16f76 [1] 0x000000000000…74568dd4 data: 0x000000000000000000…a3124a9d |
| 0xf603ca…08d44e | 29 days agoFri, 17 Jul 2026 13:33:29 UTC | Transfer | [0] 0x000000000000…b820cf42 [1] 0x000000000000…ecb16f76 data: 0x000000000000000000…a3124a9d |
| 0xff4d51…30d8cd | 29 days agoFri, 17 Jul 2026 13:33:28 UTC | Approval | [0] 0x000000000000…ecb16f76 [1] 0x000000000000…74568dd4 data: 0x000000000000000000…00000000 |
| 0xff4d51…30d8cd | 29 days agoFri, 17 Jul 2026 13:33:28 UTC | Transfer | [0] 0x000000000000…ecb16f76 [1] 0x000000000000…e5353338 data: 0x000000000000000000…0a861a03 |
| 0xff4d51…30d8cd | 29 days agoFri, 17 Jul 2026 13:33:28 UTC | Approval | [0] 0x000000000000…ecb16f76 [1] 0x000000000000…74568dd4 data: 0x000000000000000000…0a861a03 |
| 0xff4d51…30d8cd | 29 days agoFri, 17 Jul 2026 13:33:28 UTC | Transfer | [0] 0x000000000000…b820cf42 [1] 0x000000000000…ecb16f76 data: 0x000000000000000000…0a861a03 |
| 0x0ba8a5…a774bb | 29 days agoFri, 17 Jul 2026 13:33:27 UTC | Approval | [0] 0x000000000000…ecb16f76 [1] 0x000000000000…74568dd4 data: 0x000000000000000000…00000000 |
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xb7b618e3…238ada | Transfer | 18,870,063 | 21 days agoSat, 25 Jul 2026 08:34:28 UTC | 0xcaf7…5d11 | IN | 0x92ee…5afe | $0.001 DIH |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x2b4cf4…e7f325 | Approve | 29,470,376 | 9 days agoThu, 06 Aug 2026 15:51:49 UTC | 0x4ec5…8caa | IN | STOXES.FUN | $0.000 ETH | 0.00000137 | |
| 0x10ce18…345e5a | Approve | 14,076,900 | 27 days agoSun, 19 Jul 2026 19:03:37 UTC | 0xad01…fce5 | IN | STOXES.FUN | $0.000 ETH | 0.00000262 | |
| 0x84e201…f09688 | Approve | 13,790,412 | 27 days agoSun, 19 Jul 2026 11:04:23 UTC | 0x7f30…e3c7 | IN | STOXES.FUN | $0.000 ETH | 0.00000260 | |
| 0x498765…9bdc40 | Approve | 13,644,584 | 27 days agoSun, 19 Jul 2026 06:59:51 UTC | 0x9462…ff2e | IN | STOXES.FUN | $0.000 ETH | 0.00000278 | |
| 0x16573f…50838e | Approve | 12,657,091 | 28 days agoSat, 18 Jul 2026 03:27:03 UTC | 0x5cbe…81a1 | IN | STOXES.FUN | $0.000 ETH | 0.00000359 | |
| 0xa40ac0…d21c10 | Approve | 12,099,572 | 29 days agoFri, 17 Jul 2026 11:55:33 UTC | 0x9070…cf42 | IN | STOXES.FUN | $0.000 ETH | 0.00000344 | |
| 0x0f259f…0e9bc5 | Approve | 11,378,030 | 30 days agoThu, 16 Jul 2026 15:49:58 UTC | 0x3a1d…5a34 | IN | STOXES.FUN | $0.000 ETH | 0.00000311 | |
| 0x6f5176…22869a | Approve | 11,351,778 | 30 days agoThu, 16 Jul 2026 15:06:08 UTC | 0xd3a6…f3b3 | IN | STOXES.FUN | $0.000 ETH | 0.00000300 | |
| 0x7059d8…9cca9f | Approve | 11,336,061 | 30 days agoThu, 16 Jul 2026 14:39:54 UTC | 0x9bde…294f | IN | STOXES.FUN | $0.000 ETH | 0.00000300 | |
| 0x525162…fd725a | Approve | 11,326,323 | 30 days agoThu, 16 Jul 2026 14:23:39 UTC | 0x0994…f4cd | IN | STOXES.FUN | $0.000 ETH | 0.00000301 | |
| 0xb2ea5d…35673f | Approve | 11,268,607 | 30 days agoThu, 16 Jul 2026 12:47:56 UTC | 0x445b…0ad1 | IN | STOXES.FUN | $0.000 ETH | 0.00000289 | |
| 0x7c0a5e…14db89 | Approve | 11,268,607 | 30 days agoThu, 16 Jul 2026 12:47:56 UTC | 0x67c5…aaae | IN | STOXES.FUN | $0.000 ETH | 0.00000289 | |
| 0xa1915f…a0ea03 | Approve | 11,268,607 | 30 days agoThu, 16 Jul 2026 12:47:56 UTC | 0x00d0…21d5 | IN | STOXES.FUN | $0.000 ETH | 0.00000289 | |
| 0x738fb9…0786d6 | Approve | 11,268,607 | 30 days agoThu, 16 Jul 2026 12:47:56 UTC | 0x2e4d…20d5 | IN | STOXES.FUN | $0.000 ETH | 0.00000289 | |
| 0x6b0099…dbcafa | Approve | 11,214,522 | 30 days agoThu, 16 Jul 2026 11:17:36 UTC | 0x48f0…5ea2 | IN | STOXES.FUN | $0.000 ETH | 0.00000291 | |
| 0x0f309d…05f1fc | Approve | 11,214,522 | 30 days agoThu, 16 Jul 2026 11:17:36 UTC | 0xd73c…b424 | IN | STOXES.FUN | $0.000 ETH | 0.00000291 | |
| 0x16c946…a98ffa | Approve | 11,214,522 | 30 days agoThu, 16 Jul 2026 11:17:36 UTC | 0xbc21…3264 | IN | STOXES.FUN | $0.000 ETH | 0.00000291 | |
| 0xa48c44…c4ece7 | Approve | 11,214,522 | 30 days agoThu, 16 Jul 2026 11:17:36 UTC | 0x608e…99c7 | IN | STOXES.FUN | $0.000 ETH | 0.00000291 | |
| 0xce0c33…88259a | Approve | 11,212,789 | 30 days agoThu, 16 Jul 2026 11:14:43 UTC | 0xa7ac…c457 | IN | STOXES.FUN | $0.000 ETH | 0.00000291 | |
| 0x6c42fe…294136 | Approve | 11,204,151 | 30 days agoThu, 16 Jul 2026 11:00:16 UTC | 0xca11…bb97 | IN | STOXES.FUN | $0.000 ETH | 0.00000293 | |
| 0xcf7410…ba7ef1 | Approve | 11,178,420 | 30 days agoThu, 16 Jul 2026 10:17:18 UTC | 0x86d7…118e | IN | STOXES.FUN | $0.000 ETH | 0.00000291 | |
| 0x28f0e0…217305 | Approve | 11,176,798 | 30 days agoThu, 16 Jul 2026 10:14:35 UTC | 0xccf0…678f | IN | STOXES.FUN | $0.000 ETH | 0.00000291 | |
| 0x3bfaa3…ffe8c3 | Approve | 11,174,741 | 30 days agoThu, 16 Jul 2026 10:11:09 UTC | 0xdf99…eb59 | IN | STOXES.FUN | $0.000 ETH | 0.00000293 | |
| 0x6a6294…eb28f5 | Approve | 11,174,255 | 30 days agoThu, 16 Jul 2026 10:10:20 UTC | 0x7f30…e3c7 | IN | STOXES.FUN | $0.000 ETH | 0.00000293 | |
| 0xdabd80…cb1af7 | Approve | 11,170,488 | 30 days agoThu, 16 Jul 2026 10:04:03 UTC | 0xa30a…eab2 | IN | STOXES.FUN | $0.000 ETH | 0.00000292 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 10,619,202 | 31 days agoWed, 15 Jul 2026 18:44:11 UTC | 0x57bcf8…a13da5 | CREATE2 | launch | 0xf612…17fc | IN | 0x92ee…5afe | 0 ETH |