// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
/*
──────────────────────────────────────────────────────────────────────────────
4 - 6 - 6 - 3 . f u n · POOL LAUNCH · Robinhood Chain (4663)
Noxa/Clanker-style: every token launches DIRECTLY into a real Uniswap V3
pool with single-sided concentrated liquidity. Visible on DexScreener from
the first trade. No bonding curve, no graduation.
• 1,000,000,000 fixed supply · NO creator premine (nobody gets free tokens)
• Entire supply seeded single-sided into a token/WETH V3 pool (1% fee tier)
• Pool opens at ~$5K FDV (1.69 gwei/token); buyers supply the WETH side
• Liquidity is PERMANENTLY LOCKED: this contract owns the position and has
no function to withdraw principal, only to collect swap fees
• The 1% pool fees are collectable to the feeWallet by anyone (collectFees)
• Built-in router: buy()/sell() swap through the pool AND track Feather
(traderVolume) on-chain, 10 per 1 ETH volume
• CREATE2 vanity token addresses ending in 4663 (pre-mined salts), with a
salt=0 fallback so launches never block
web https://4-6-6-3.fun · x community 1993064047185420340
──────────────────────────────────────────────────────────────────────────────
*/
interface IUniV3Factory { function createPool(address, address, uint24) external returns (address); }
interface IUniV3Pool {
function initialize(uint160 sqrtPriceX96) external;
function mint(address recipient, int24 tickLower, int24 tickUpper, uint128 amount, bytes calldata data) external returns (uint256, uint256);
function swap(address recipient, bool zeroForOne, int256 amountSpecified, uint160 sqrtPriceLimitX96, bytes calldata data) external returns (int256 amount0, int256 amount1);
function burn(int24 tickLower, int24 tickUpper, uint128 amount) external returns (uint256, uint256);
function collect(address recipient, int24 tickLower, int24 tickUpper, uint128 amount0Requested, uint128 amount1Requested) external returns (uint128, uint128);
function slot0() external view returns (uint160 sqrtPriceX96, int24 tick, uint16, uint16, uint16, uint8, bool);
}
interface IWETH {
function deposit() external payable;
function withdraw(uint256) external;
function transfer(address, uint256) external returns (bool);
function balanceOf(address) external view returns (uint256);
}
interface IFactoryMeta {
function pendingName() external view returns (string memory);
function pendingSymbol() external view returns (string memory);
}
contract VanityToken {
string public name;
string public symbol;
uint8 public constant decimals = 18;
uint256 public immutable totalSupply;
mapping(address => uint256) public balanceOf;
mapping(address => mapping(address => uint256)) public allowance;
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
constructor() {
name = IFactoryMeta(msg.sender).pendingName();
symbol = IFactoryMeta(msg.sender).pendingSymbol();
totalSupply = 1_000_000_000e18;
balanceOf[msg.sender] = totalSupply;
emit Transfer(address(0), msg.sender, totalSupply);
}
function transfer(address to, uint256 v) external returns (bool) { return _t(msg.sender, to, v); }
function transferFrom(address f, address to, uint256 v) external returns (bool) {
uint256 a = allowance[f][msg.sender];
if (a != type(uint256).max) { require(a >= v, "allowance"); unchecked { allowance[f][msg.sender] = a - v; } }
return _t(f, to, v);
}
function approve(address s, uint256 v) external returns (bool) { allowance[msg.sender][s] = v; emit Approval(msg.sender, s, v); return true; }
function _t(address f, address to, uint256 v) internal returns (bool) {
require(to != address(0), "zero to");
uint256 b = balanceOf[f]; require(b >= v, "balance");
unchecked { balanceOf[f] = b - v; balanceOf[to] += v; }
emit Transfer(f, to, v); return true;
}
}
contract Launchpad4663Pool {
uint256 public constant SUPPLY_TOTAL = 1_000_000_000e18;
uint24 public constant FEE_TIER = 10000; // 1% pool
// launching is COMPLETELY FREE for the user. The platform sponsors the
// automatic first buy below from this contract's ETH float.
uint256 public constant INITIAL_BUY = 0.001 ether; // sponsored first swap at launch:
// creates the pool's first transaction so DexScreener and other terminals index
// the token immediately. The launcher pays it and receives the tokens at the
// exact market price (a real swap, NOT a free premine).
uint256 public constant VP_PER_ETH = 10;
// ── pool constants (precomputed off-chain; see repo notes) ──────────────
// CASE A: token < weth (token is token0). price = 1.6667e-9 WETH/token.
uint160 internal constant SQRT_PRICE_A = 3234476190304153087556629;
int24 internal constant TICK_LOWER_A = -202000;
int24 internal constant TICK_UPPER_A = 887200;
uint128 internal constant LIQ_A = 41096194225741735395328;
// CASE B: weth < token (token is token1). price = 6e8 token/WETH.
uint160 internal constant SQRT_PRICE_B = 1940685714182491852533977682922057;
int24 internal constant TICK_LOWER_B = -887200;
int24 internal constant TICK_UPPER_B = 202000;
uint128 internal constant LIQ_B = 41096194225741743783936;
uint160 internal constant MIN_SQRT_PLUS1 = 4295128740;
uint160 internal constant MAX_SQRT_MINUS1 = 1461446703485210103287273052203988822378723970341;
address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
address public immutable feeWallet;
address public immutable uniFactory;
address public immutable weth;
string public pendingName;
string public pendingSymbol;
struct TokenInfo {
address token; address pool; address creator;
bool tokenIsToken0;
uint256 createdAt; uint256 volumeEth;
}
uint256 public tokenCount;
mapping(uint256 => TokenInfo) public tokens;
mapping(address => uint256) public idOfToken;
mapping(address => uint256) public idOfPool;
mapping(address => uint256) public traderVolume;
uint256 public totalVolumeEth;
uint256 public platformFeesEth;
uint256 private _lock = 1;
modifier nonReentrant() { require(_lock == 1, "reentrancy"); _lock = 2; _; _lock = 1; }
event TokenCreated(uint256 indexed id, address indexed token, address indexed creator, string name, string symbol);
event PoolCreated(uint256 indexed id, address indexed pool, bool tokenIsToken0);
event Bought(uint256 indexed id, address indexed buyer, uint256 ethIn, uint256 tokensOut, uint256 newSold, uint256 newReserve, uint256 spot);
event Sold(uint256 indexed id, address indexed seller, uint256 tokensIn, uint256 ethOut, uint256 newSold, uint256 newReserve, uint256 spot);
event FeesCollected(uint256 indexed id, uint256 wethAmount, uint256 tokenAmount);
event InitialBuySkipped(uint256 indexed id);
constructor(address feeWallet_, address uniFactory_, address weth_) {
require(feeWallet_ != address(0) && uniFactory_ != address(0) && weth_ != address(0), "zero addr");
feeWallet = feeWallet_; uniFactory = uniFactory_; weth = weth_;
}
receive() external payable {} // for WETH.withdraw
function tokenInitCodeHash() external pure returns (bytes32) {
return keccak256(type(VanityToken).creationCode);
}
function predictToken(bytes32 salt) external view returns (address) {
bytes32 h = keccak256(abi.encodePacked(bytes1(0xff), address(this), salt, keccak256(type(VanityToken).creationCode)));
return address(uint160(uint256(h)));
}
// ── launch: deploy token + create pool + seed single-sided liquidity ────
function createToken(string calldata n, string calldata s, bytes32 salt)
external payable nonReentrant returns (uint256 id, address token, address pool)
{
require(bytes(n).length >= 1 && bytes(n).length <= 32, "name");
require(bytes(s).length >= 1 && bytes(s).length <= 10, "symbol");
bytes32 useSalt = salt == bytes32(0)
? keccak256(abi.encodePacked(block.timestamp, msg.sender, tokenCount))
: salt;
pendingName = n; pendingSymbol = s;
VanityToken t = new VanityToken{salt: useSalt}();
token = address(t);
require(idOfToken[token] == 0, "salt used");
delete pendingName; delete pendingSymbol;
bool tokenIs0 = token < weth;
pool = IUniV3Factory(uniFactory).createPool(token, weth, FEE_TIER);
IUniV3Pool(pool).initialize(tokenIs0 ? SQRT_PRICE_A : SQRT_PRICE_B);
id = ++tokenCount;
tokens[id] = TokenInfo(token, pool, msg.sender, tokenIs0, block.timestamp, 0);
idOfToken[token] = id;
idOfPool[pool] = id;
// single-sided mint: entire supply into the range; callback pays tokens
if (tokenIs0) IUniV3Pool(pool).mint(address(this), TICK_LOWER_A, TICK_UPPER_A, LIQ_A, abi.encode(id));
else IUniV3Pool(pool).mint(address(this), TICK_LOWER_B, TICK_UPPER_B, LIQ_B, abi.encode(id));
// burn the rounding dust so the factory holds nothing
uint256 dust = t.balanceOf(address(this));
if (dust > 0) t.transfer(DEAD, dust);
emit TokenCreated(id, token, msg.sender, n, s);
emit PoolCreated(id, pool, tokenIs0);
// sponsored first buy: the pool's first transaction, so terminals index it.
// Paid from this contract's ETH float (top up by sending ETH here);
// the sponsored tokens go to the feeWallet. Skipped if the float is dry
// so a launch can never fail for lack of sponsor funds.
if (address(this).balance - msg.value >= INITIAL_BUY) {
_buyInternal(id, INITIAL_BUY, feeWallet);
} else {
emit InitialBuySkipped(id);
}
if (msg.value > 0) _pay(msg.sender, msg.value); // nothing to pay: full refund
}
function launchCost() external pure returns (uint256) { return 0; }
function sponsorFloat() external view returns (uint256) { return address(this).balance; }
function uniswapV3MintCallback(uint256 amount0Owed, uint256 amount1Owed, bytes calldata data) external {
uint256 id = abi.decode(data, (uint256));
TokenInfo storage t = tokens[id];
require(msg.sender == t.pool, "bad pool");
if (t.tokenIsToken0) {
require(amount1Owed == 0, "weth owed"); // strictly single-sided
require(amount0Owed <= SUPPLY_TOTAL, "over supply");
VanityToken(t.token).transfer(msg.sender, amount0Owed);
} else {
require(amount0Owed == 0, "weth owed");
require(amount1Owed <= SUPPLY_TOTAL, "over supply");
VanityToken(t.token).transfer(msg.sender, amount1Owed);
}
}
// ── built-in router: swaps through the pool, tracks Feather on-chain ────
function buy(uint256 id, uint256 minTokensOut) external payable nonReentrant returns (uint256 out) {
require(msg.value > 0, "zero ETH");
out = _buyInternal(id, msg.value, msg.sender);
require(out >= minTokensOut, "slippage");
}
function _buyInternal(uint256 id, uint256 ethIn, address recipient) internal returns (uint256 out) {
TokenInfo storage t = tokens[id];
require(t.pool != address(0), "unknown");
IWETH(weth).deposit{value: ethIn}();
bool zeroForOne = !t.tokenIsToken0; // WETH in
(int256 a0, int256 a1) = IUniV3Pool(t.pool).swap(
recipient, zeroForOne, int256(ethIn),
zeroForOne ? MIN_SQRT_PLUS1 : MAX_SQRT_MINUS1,
abi.encode(id, address(this))
);
out = uint256(-(t.tokenIsToken0 ? a0 : a1));
require(out > 0, "zero out");
t.volumeEth += ethIn;
traderVolume[recipient] += ethIn;
totalVolumeEth += ethIn;
(uint256 sold, uint256 reserve, uint256 spot) = _stats(t);
emit Bought(id, recipient, ethIn, out, sold, reserve, spot);
}
function sell(uint256 id, uint256 tokensIn, uint256 minEthOut) external nonReentrant returns (uint256 ethOut) {
TokenInfo storage t = tokens[id];
require(t.pool != address(0), "unknown");
require(tokensIn > 0, "zero in");
bool zeroForOne = t.tokenIsToken0; // TOKEN in
(int256 a0, int256 a1) = IUniV3Pool(t.pool).swap(
address(this), zeroForOne, int256(tokensIn),
zeroForOne ? MIN_SQRT_PLUS1 : MAX_SQRT_MINUS1,
abi.encode(id, msg.sender)
);
ethOut = uint256(-(t.tokenIsToken0 ? a1 : a0));
require(ethOut >= minEthOut && ethOut > 0, "slippage");
IWETH(weth).withdraw(ethOut);
t.volumeEth += ethOut;
traderVolume[msg.sender] += ethOut;
totalVolumeEth += ethOut;
(uint256 sold, uint256 reserve, uint256 spot) = _stats(t);
emit Sold(id, msg.sender, tokensIn, ethOut, sold, reserve, spot);
_pay(msg.sender, ethOut);
}
function uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes calldata data) external {
(uint256 id, address payer) = abi.decode(data, (uint256, address));
TokenInfo storage t = tokens[id];
require(msg.sender == t.pool, "bad pool");
// pay the positive delta in the owed token
if (amount0Delta > 0) {
if (t.tokenIsToken0) VanityToken(t.token).transferFrom(payer, msg.sender, uint256(amount0Delta));
else IWETH(weth).transfer(msg.sender, uint256(amount0Delta));
}
if (amount1Delta > 0) {
if (t.tokenIsToken0) IWETH(weth).transfer(msg.sender, uint256(amount1Delta));
else VanityToken(t.token).transferFrom(payer, msg.sender, uint256(amount1Delta));
}
}
// ── fee collection: anyone can trigger; proceeds → feeWallet ────────────
// The position principal is UNTOUCHABLE: burn(…, 0) only poke-updates fees.
function collectFees(uint256 id) external nonReentrant returns (uint256 wethAmt, uint256 tokenAmt) {
TokenInfo storage t = tokens[id];
require(t.pool != address(0), "unknown");
(int24 lo, int24 hi) = t.tokenIsToken0 ? (TICK_LOWER_A, TICK_UPPER_A) : (TICK_LOWER_B, TICK_UPPER_B);
IUniV3Pool(t.pool).burn(lo, hi, 0); // poke: updates tokensOwed, removes nothing
(uint128 c0, uint128 c1) = IUniV3Pool(t.pool).collect(feeWallet, lo, hi, type(uint128).max, type(uint128).max);
(wethAmt, tokenAmt) = t.tokenIsToken0 ? (uint256(c1), uint256(c0)) : (uint256(c0), uint256(c1));
platformFeesEth += wethAmt; // running total of collected pool fees
emit FeesCollected(id, wethAmt, tokenAmt);
}
// ── views (dashboard-compatible tuple) ──────────────────────────────────
function _stats(TokenInfo storage t) internal view returns (uint256 sold, uint256 reserve, uint256 spot) {
sold = SUPPLY_TOTAL - VanityToken(t.token).balanceOf(t.pool);
reserve = IWETH(weth).balanceOf(t.pool);
(uint160 sqrtP, , , , , , ) = IUniV3Pool(t.pool).slot0();
if (t.tokenIsToken0) {
spot = uint256(sqrtP) * uint256(sqrtP) / (1 << 96) * 1e18 >> 96;
} else {
spot = (uint256(1) << 192) / uint256(sqrtP) * 1e18 / uint256(sqrtP);
}
}
struct TokenView {
address token; string name; string symbol; address creator;
uint256 curveSold; uint256 reserve; bool graduated; bool liquidityClaimed;
uint256 spot; uint256 curveProgressBps; uint256 marketCapWei; uint256 volumeEth; uint256 createdAt;
}
function getToken(uint256 id) external view returns (TokenView memory v) {
TokenInfo storage t = tokens[id];
if (t.token == address(0)) return v;
(uint256 sold, uint256 reserve, uint256 spot) = _stats(t);
v.token = t.token;
v.name = VanityToken(t.token).name();
v.symbol = VanityToken(t.token).symbol();
v.creator = t.creator;
v.curveSold = sold;
v.reserve = reserve;
v.graduated = true; // live on Uniswap from block one
v.liquidityClaimed = true;
v.spot = spot;
v.curveProgressBps = sold * 10_000 / SUPPLY_TOTAL;
v.marketCapWei = spot * SUPPLY_TOTAL / 1e18;
v.volumeEth = t.volumeEth;
v.createdAt = t.createdAt;
}
function poolOf(uint256 id) external view returns (address) { return tokens[id].pool; }
function vpOf(address who) external view returns (uint256) { return traderVolume[who] * VP_PER_ETH / 1e18; }
function platformStats() external view returns (uint256 tokens_, uint256 volume, uint256 fees, uint256 vpIssued) {
return (tokenCount, totalVolumeEth, platformFeesEth, totalVolumeEth * VP_PER_ETH / 1e18);
}
function _pay(address to, uint256 amount) internal { (bool ok, ) = to.call{value: amount}(""); require(ok, "eth send"); }
}[
{
"type": "constructor",
"inputs": [],
"stateMutability": "nonpayable"
},
{
"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": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "approve",
"type": "function",
"inputs": [
{
"name": "s",
"type": "address",
"internalType": "address"
},
{
"name": "v",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "balanceOf",
"type": "function",
"inputs": [
{
"name": "",
"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": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "symbol",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "totalSupply",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "transfer",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "v",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "transferFrom",
"type": "function",
"inputs": [
{
"name": "f",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "v",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
}
]0x608060405234801561000f575f80fd5b5060043610610090575f3560e01c8063313ce56711610063578063313ce5671461011d57806370a082311461013757806395d89b4114610156578063a9059cbb1461015e578063dd62ed3e14610171575f80fd5b806306fdde0314610094578063095ea7b3146100b257806318160ddd146100d557806323b872dd1461010a575b5f80fd5b61009c61019b565b6040516100a9919061045e565b60405180910390f35b6100c56100c03660046104ae565b610226565b60405190151581526020016100a9565b6100fc7f0000000000000000000000000000000000000000033b2e3c9fd0803ce800000081565b6040519081526020016100a9565b6100c56101183660046104d6565b610291565b610125601281565b60405160ff90911681526020016100a9565b6100fc610145366004610510565b60026020525f908152604090205481565b61009c610339565b6100c561016c3660046104ae565b610346565b6100fc61017f366004610529565b600360209081525f928352604080842090915290825290205481565b5f80546101a79061055a565b80601f01602080910402602001604051908101604052809291908181526020018280546101d39061055a565b801561021e5780601f106101f55761010080835404028352916020019161021e565b820191905f5260205f20905b81548152906001019060200180831161020157829003601f168201915b505050505081565b335f8181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102809086815260200190565b60405180910390a350600192915050565b6001600160a01b0383165f9081526003602090815260408083203384529091528120545f19811461032557828110156102fd5760405162461bcd60e51b8152602060048201526009602482015268616c6c6f77616e636560b81b60448201526064015b60405180910390fd5b6001600160a01b0385165f908152600360209081526040808320338452909152902083820390555b610330858585610359565b95945050505050565b600180546101a79061055a565b5f610352338484610359565b9392505050565b5f6001600160a01b03831661039a5760405162461bcd60e51b81526020600482015260076024820152667a65726f20746f60c81b60448201526064016102f4565b6001600160a01b0384165f90815260026020526040902054828110156103ec5760405162461bcd60e51b815260206004820152600760248201526662616c616e636560c81b60448201526064016102f4565b6001600160a01b038086165f8181526002602052604080822087860390559287168082529083902080548701905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061044b9087815260200190565b60405180910390a3506001949350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146104a9575f80fd5b919050565b5f80604083850312156104bf575f80fd5b6104c883610493565b946020939093013593505050565b5f805f606084860312156104e8575f80fd5b6104f184610493565b92506104ff60208501610493565b929592945050506040919091013590565b5f60208284031215610520575f80fd5b61035282610493565b5f806040838503121561053a575f80fd5b61054383610493565b915061055160208401610493565b90509250929050565b600181811c9082168061056e57607f821691505b60208210810361058c57634e487b7160e01b5f52602260045260245ffd5b5091905056fea2646970667358221220f823b4b0295392960d5d10fb5f41e6e965381e9cc480a9816761a738483b7ff264736f6c634300081a0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xa25125…e30460 | 31 days agoTue, 14 Jul 2026 19:11:27 UTC | Transfer | [0] 0x000000000000…679eadf5 [1] 0x000000000000…28b0aab8 data: 0x000000000000000000…ba539353 |
| 0xea9b5f…b40ea4 | 31 days agoTue, 14 Jul 2026 19:11:09 UTC | Transfer | [0] 0x000000000000…679eadf5 [1] 0x000000000000…9494fac6 data: 0x000000000000000000…ba539354 |
| 0xea9b5f…b40ea4 | 31 days agoTue, 14 Jul 2026 19:11:09 UTC | Transfer | [0] 0x000000000000…ab8bf384 [1] 0x000000000000…679eadf5 data: 0x000000000000000000…74a726a7 |
| 0xb9e7af…6b34a7 | 32 days agoTue, 14 Jul 2026 15:06:02 UTC | Transfer | [0] 0x000000000000…992e76a5 [1] 0x000000000000…ab8bf384 data: 0x000000000000000000…c670f7a0 |
| 0x869599…a27592 | 32 days agoTue, 14 Jul 2026 15:05:57 UTC | Approval | [0] 0x000000000000…992e76a5 [1] 0x000000000000…83a0fc98 data: 0xffffffffffffffffff…ffffffff |
| 0xbefa14…602281 | 32 days agoTue, 14 Jul 2026 15:04:53 UTC | Transfer | [0] 0x000000000000…aa0f33a0 [1] 0x000000000000…ab8bf384 data: 0x000000000000000000…cada21ee |
| 0x4ae83f…9e332c | 32 days agoTue, 14 Jul 2026 15:04:52 UTC | Approval | [0] 0x000000000000…aa0f33a0 [1] 0x000000000000…262c40dc data: 0xffffffffffffffffff…ffffffff |
| 0xc3bb5a…de49d8 | 32 days agoTue, 14 Jul 2026 15:03:27 UTC | Transfer | [0] 0x000000000000…992e76a5 [1] 0x000000000000…ffbeb546 data: 0x000000000000000000…63100000 |
| 0x0aa3ed…9bc7a0 | 32 days agoTue, 14 Jul 2026 15:02:05 UTC | Transfer | [0] 0x000000000000…ab8bf384 [1] 0x000000000000…992e76a5 data: 0x000000000000000000…2980f7a0 |
| 0xb99ca1…037d21 | 32 days agoTue, 14 Jul 2026 14:54:13 UTC | Transfer | [0] 0x000000000000…ab8bf384 [1] 0x000000000000…aa0f33a0 data: 0x000000000000000000…cada21ee |
| 0x914604…bff1e6 | 32 days agoTue, 14 Jul 2026 14:53:07 UTC | Transfer | [0] 0x000000000000…ab8bf384 [1] 0x000000000000…28b0aab8 data: 0x000000000000000000…537f194a |
| 0x914604…bff1e6 | 32 days agoTue, 14 Jul 2026 14:53:07 UTC | Transfer | [0] 0x000000000000…679eadf5 [1] 0x000000000000…0000dead data: 0x000000000000000000…00005de9 |
| 0x914604…bff1e6 | 32 days agoTue, 14 Jul 2026 14:53:07 UTC | Transfer | [0] 0x000000000000…679eadf5 [1] 0x000000000000…ab8bf384 data: 0x000000000000000000…e7ffa217 |
| 0x914604…bff1e6 | 32 days agoTue, 14 Jul 2026 14:53:07 UTC | Transfer | [0] 0x000000000000…83a0fc98 [1] 0x000000000000…679eadf5 data: 0x000000000000000000…e8000000 |
| 0x914604…bff1e6 | 32 days agoTue, 14 Jul 2026 14:53:07 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…83a0fc98 data: 0x000000000000000000…e8000000 |
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x869599…a27592 | Approve | 9,623,840 | 32 days agoTue, 14 Jul 2026 15:05:57 UTC | 0x910e…76a5 | IN | tst | $0.000 ETH | 0.00000217 | |
| 0x4ae83f…9e332c | Approve | 9,623,201 | 32 days agoTue, 14 Jul 2026 15:04:52 UTC | 0x00ee…33a0 | IN | tst | $0.000 ETH | 0.00000220 | |
| 0xc3bb5a…de49d8 | Transfer | 9,622,353 | 32 days agoTue, 14 Jul 2026 15:03:27 UTC | 0x910e…76a5 | IN | tst | $0.000 ETH | 0.00000241 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 9,616,158 | 32 days agoTue, 14 Jul 2026 14:53:07 UTC | 0x914604…bff1e6 | CREATE2 | createToken | 0x53a2…fc98 | IN | 0xeb56…4663 | 0 ETH |