// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
import {ReentrancyGuardTransient} from "@openzeppelin/contracts/utils/ReentrancyGuardTransient.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol";
import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol";
import {IUnlockCallback} from "@uniswap/v4-core/src/interfaces/callback/IUnlockCallback.sol";
import {IHooks} from "@uniswap/v4-core/src/interfaces/IHooks.sol";
import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol";
import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol";
import {Currency} from "@uniswap/v4-core/src/types/Currency.sol";
import {BalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol";
import {SwapParams} from "@uniswap/v4-core/src/types/PoolOperation.sol";
import {TickMath} from "@uniswap/v4-core/src/libraries/TickMath.sol";
import {IPositionManager} from "v4-periphery/interfaces/IPositionManager.sol";
import {Actions} from "v4-periphery/libraries/Actions.sol";
import {IAllowanceTransfer} from "permit2/src/interfaces/IAllowanceTransfer.sol";
import {BogaConstants} from "./libraries/BogaConstants.sol";
/// @notice Router-facing surface of the hook (ADR-0019 + 2026-07-22 amendment):
/// the creator payout registry (moved from the deleted distributor) and the
/// router-only realization the launch initial-buy triggers so launch fees settle
/// atomically in the same tx.
interface IBogaCreatorRegistry {
function registerCreator(address token, address creator) external;
function realizeForRouter(address token) external;
}
/// @notice atomic launch executor (spec §3, ADR-0014/0019): the flow
/// generalized to a configurable quote, with LP fee 0 and the official position
/// burned to `0xdead`. The quote is ALWAYS currency0 and the token currency1
/// (mined ordering — asserted here as defense in depth), so the initial buy is
/// always zeroForOne and `amount0` is always the quote side. Native quotes keep
/// native semantics verbatim (msg.value budget, native settle, native refund);
/// ERC-20 quotes pull the budget from the launcher via Permit2, settle with
/// sync+transfer+settle and refund by transfer — all amounts from accounting,
/// never from balances.
///
/// @dev ADR-0019 initial-buy skim (2026-07-22 amendment): the hook ACCRUES its
/// quote-side fee inside afterSwap as an ERC-6909 claim (a mint, not a reserve-
/// dependent take); the router settles the total cost (pool input + skim), then
/// triggers the hook's realization in the SAME unlock so the launch fee is paid
/// atomically, and refunds the unspent budget from accounting.
contract BogaLaunchRouter is ReentrancyGuardTransient, IUnlockCallback {
using PoolIdLibrary for PoolKey;
using SafeERC20 for IERC20;
error NotFactory();
error NotPoolManager();
error UnexpectedUnlock();
error AlreadyWired();
error NotWired();
error ZeroAddress();
error BadOrdering();
error ValueMismatch();
error MaxQuoteInExceeded(uint256 required, uint256 available);
error InitialBuyUnderfilled();
error CustodyVerificationFailed();
error ResidualTokensLeft();
error RefundFailed();
address public immutable factory;
IPoolManager public immutable poolManager;
IPositionManager public immutable positionManager;
IAllowanceTransfer public immutable permit2;
IHooks public hook;
/// @dev Commitment to the payload of the unlock we initiated; guards the
/// callback against spoofed or reentrant unlocks (the launch pattern).
bytes32 private _pendingUnlock;
/// @notice Launch order fully computed by the factory: the curve is
/// derived there (constants for native, launch-time feeds otherwise) and
/// executed here without re-derivation.
struct LaunchOrder {
address token;
address launcher;
address creator;
address quote;
uint256 initialBuyTokens;
uint256 maxQuoteIn;
uint160 sqrtPriceX96;
int24 tickLower;
int24 tickUpper;
uint128 liquidity;
/// @dev Per-pool Bullseye threshold (ADR-0015); the hook copies it into
/// its own storage at beforeInitialize via {pendingPool}.
uint256 bullseyeThresholdQuoteRaw;
}
/// @notice In-flight launch exposed to the hook: beforeInitialize and
/// beforeAddLiquidity validate the exact pool/position being created
/// against this record (the native constants generalized to launch-time
/// values). Active only between pool initialization and the official
/// mint, within a single launch transaction.
struct PendingPool {
address token;
address quote;
uint160 sqrtPriceX96;
int24 tickLower;
int24 tickUpper;
uint128 liquidity;
uint256 bullseyeThresholdQuoteRaw;
bool active;
}
PendingPool private _pendingPool;
struct UnlockPlan {
PoolKey key;
address buyRecipient;
uint256 initialBuyTokens;
uint256 maxQuoteIn;
bool nativeQuote;
}
struct LaunchResult {
bytes32 poolId;
uint256 positionTokenId;
uint256 quoteSpent;
uint256 tokensBought;
}
event LaunchExecuted(
address indexed token,
PoolId indexed poolId,
address indexed quote,
uint256 positionTokenId,
uint256 initialBuyTokens,
uint256 initialBuyQuoteSpent,
uint256 dustBurned
);
constructor(IPoolManager poolManager_, IPositionManager positionManager_, IAllowanceTransfer permit2_) {
if (
address(poolManager_) == address(0) || address(positionManager_) == address(0)
|| address(permit2_) == address(0)
) revert ZeroAddress();
factory = msg.sender;
poolManager = poolManager_;
positionManager = positionManager_;
permit2 = permit2_;
}
/// @notice The launch currently in flight (hook validation window).
function pendingPool() external view returns (PendingPool memory) {
return _pendingPool;
}
/// @notice One-shot hook wiring by the factory (ADR 0003).
function wireHook(IHooks hook_) external {
if (msg.sender != factory) revert NotFactory();
if (address(hook) != address(0)) revert AlreadyWired();
if (address(hook_) == address(0)) revert ZeroAddress();
hook = hook_;
}
/// @notice Atomic launch. For a native quote `msg.value` must equal
/// `order.maxQuoteIn` (native semantics); for an ERC-20 quote `msg.value` must
/// be zero and the budget is pulled from the launcher via Permit2 exactly
/// when an initial buy exists.
function executeLaunch(LaunchOrder calldata order)
external
payable
nonReentrant
returns (LaunchResult memory result)
{
if (msg.sender != factory) revert NotFactory();
if (address(hook) == address(0)) revert NotWired();
// Mined-ordering invariant: token strictly after quote (currency1).
if (uint160(order.token) <= uint160(order.quote)) revert BadOrdering();
bool nativeQuote = order.quote == address(0);
if (nativeQuote ? msg.value != order.maxQuoteIn : msg.value != 0) revert ValueMismatch();
PoolKey memory key = PoolKey({
currency0: Currency.wrap(order.quote),
currency1: Currency.wrap(order.token),
fee: BogaConstants.POOL_FEE,
tickSpacing: BogaConstants.TICK_SPACING,
hooks: hook
});
result.poolId = PoolId.unwrap(key.toId());
// 1. Publish the in-flight launch for the hook's guards, then
// initialize the pool at the factory-derived price (hook-gated).
_pendingPool = PendingPool({
token: order.token,
quote: order.quote,
sqrtPriceX96: order.sqrtPriceX96,
tickLower: order.tickLower,
tickUpper: order.tickUpper,
liquidity: order.liquidity,
bullseyeThresholdQuoteRaw: order.bullseyeThresholdQuoteRaw,
active: true
});
// slither-disable-next-line unused-return
poolManager.initialize(key, order.sqrtPriceX96);
// 2. Mint the official single-sided position directly to `0xdead`
// (token = currency1 side only; the quote side is always zero). The
// LP is irremovably burned: no locker, no fee collection (LP fee 0).
IERC20(order.token).forceApprove(address(permit2), BogaConstants.TOTAL_SUPPLY);
permit2.approve(
order.token, address(positionManager), uint160(BogaConstants.TOTAL_SUPPLY), uint48(block.timestamp)
);
result.positionTokenId = positionManager.nextTokenId();
bytes memory actions = abi.encodePacked(uint8(Actions.MINT_POSITION), uint8(Actions.SETTLE_PAIR));
bytes[] memory params = new bytes[](2);
params[0] = abi.encode(
key,
order.tickLower,
order.tickUpper,
uint256(order.liquidity),
uint128(0),
uint128(BogaConstants.TOTAL_SUPPLY),
BogaConstants.DEAD,
bytes("")
);
params[1] = abi.encode(key.currency0, key.currency1);
positionManager.modifyLiquidities(abi.encode(actions, params), block.timestamp);
// The official mint happened; close the hook-validation window.
delete _pendingPool;
// 3. Register the creator on the hook before any fee can ever accrue.
IBogaCreatorRegistry(address(hook)).registerCreator(order.token, order.creator);
// 4. Optional exact-output initial buy in a single unlock; ERC-20
// budgets are pulled up front and refunded from accounting below.
if (order.initialBuyTokens > 0) {
if (!nativeQuote) {
permit2.transferFrom(order.launcher, address(this), uint160(order.maxQuoteIn), order.quote);
}
UnlockPlan memory plan = UnlockPlan({
key: key,
buyRecipient: order.launcher,
initialBuyTokens: order.initialBuyTokens,
maxQuoteIn: order.maxQuoteIn,
nativeQuote: nativeQuote
});
bytes memory payload = abi.encode(plan);
_pendingUnlock = keccak256(payload);
bytes memory unlockResult = poolManager.unlock(payload);
(result.quoteSpent, result.tokensBought) = abi.decode(unlockResult, (uint256, uint256));
}
// 5. Mint-rounding dust of the launched token: burned to `0xdead`.
uint256 dust = IERC20(order.token).balanceOf(address(this));
if (dust > 0) {
IERC20(order.token).safeTransfer(BogaConstants.DEAD, dust);
}
// 6. Refund strictly from accounting, never from balances. `quoteSpent`
// is the TOTAL cost (pool input + hook skim) the launcher paid.
uint256 refund = nativeQuote
? msg.value - result.quoteSpent
: (order.initialBuyTokens > 0 ? order.maxQuoteIn : 0) - result.quoteSpent;
if (refund > 0) {
if (nativeQuote) {
(bool ok,) = order.launcher.call{value: refund}("");
if (!ok) revert RefundFailed();
} else {
IERC20(order.quote).safeTransfer(order.launcher, refund);
}
}
// 7. Final-state verification: the position is burned, no token dust
// remains in custody (replaces the locker-custody check).
if (IERC721(address(positionManager)).ownerOf(result.positionTokenId) != BogaConstants.DEAD) {
revert CustodyVerificationFailed();
}
if (IERC20(order.token).balanceOf(address(this)) != 0) revert ResidualTokensLeft();
emit LaunchExecuted(
order.token,
key.toId(),
order.quote,
result.positionTokenId,
order.initialBuyTokens,
result.quoteSpent,
dust
);
}
/// @notice PoolManager unlock callback: exact-output initial buy. The quote
/// side is ALWAYS amount0 (mined ordering). The hook ACCRUES its afterSwap
/// skim as an ERC-6909 claim during the swap (no reserve dependency, ADR-0019
/// amendment); the router settles the TOTAL cost (pool input + skim) it owes.
/// Now that the PoolManager holds the settled quote, the router triggers the
/// hook's realization ({realizeForRouter}) so the launch fee is redeemed,
/// split and paid ATOMICALLY in this same tx; the rest is refunded above.
function unlockCallback(bytes calldata data) external returns (bytes memory) {
if (msg.sender != address(poolManager)) revert NotPoolManager();
if (_pendingUnlock == bytes32(0) || keccak256(data) != _pendingUnlock) revert UnexpectedUnlock();
_pendingUnlock = bytes32(0);
UnlockPlan memory plan = abi.decode(data, (UnlockPlan));
BalanceDelta delta = poolManager.swap(
plan.key,
SwapParams({
zeroForOne: true,
amountSpecified: int256(plan.initialBuyTokens), // positive = exact output
sqrtPriceLimitX96: TickMath.MIN_SQRT_PRICE + 1
}),
bytes("")
);
// amount0 already folds in the hook's afterSwap skim (the return-delta is
// identical whether the hook mints or takes), so this is the TOTAL quote
// cost (pool input + fee). amount1 is the tokens out.
uint256 tokensBought = uint256(uint128(delta.amount1()));
uint256 totalQuoteCost = uint256(uint128(-delta.amount0()));
if (tokensBought != plan.initialBuyTokens) revert InitialBuyUnderfilled();
if (totalQuoteCost > plan.maxQuoteIn) revert MaxQuoteInExceeded(totalQuoteCost, plan.maxQuoteIn);
// Settle exactly what the router owes; the fee portion now backs the
// hook's claim inside the PoolManager.
if (plan.nativeQuote) {
// slither-disable-next-line unused-return
poolManager.settle{value: totalQuoteCost}();
} else {
poolManager.sync(plan.key.currency0);
IERC20(Currency.unwrap(plan.key.currency0)).safeTransfer(address(poolManager), totalQuoteCost);
// slither-disable-next-line unused-return
poolManager.settle();
}
poolManager.take(plan.key.currency1, plan.buyRecipient, tokensBought);
// The PoolManager now holds the settled quote: realize the launch fee in
// this same unlock (burn the hook's claim → take → split → push). The
// hook borrows THIS lock; its redeem nets to zero delta on the hook.
IBogaCreatorRegistry(address(hook)).realizeForRouter(Currency.unwrap(plan.key.currency1));
return abi.encode(totalQuoteCost, tokensBought);
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "poolManager_",
"type": "address",
"internalType": "contract IPoolManager"
},
{
"name": "positionManager_",
"type": "address",
"internalType": "contract IPositionManager"
},
{
"name": "permit2_",
"type": "address",
"internalType": "contract IAllowanceTransfer"
}
],
"stateMutability": "nonpayable"
},
{
"name": "AlreadyWired",
"type": "error",
"inputs": []
},
{
"name": "BadOrdering",
"type": "error",
"inputs": []
},
{
"name": "CustodyVerificationFailed",
"type": "error",
"inputs": []
},
{
"name": "InitialBuyUnderfilled",
"type": "error",
"inputs": []
},
{
"name": "MaxQuoteInExceeded",
"type": "error",
"inputs": [
{
"name": "required",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "available",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "NotFactory",
"type": "error",
"inputs": []
},
{
"name": "NotPoolManager",
"type": "error",
"inputs": []
},
{
"name": "NotWired",
"type": "error",
"inputs": []
},
{
"name": "ReentrancyGuardReentrantCall",
"type": "error",
"inputs": []
},
{
"name": "RefundFailed",
"type": "error",
"inputs": []
},
{
"name": "ResidualTokensLeft",
"type": "error",
"inputs": []
},
{
"name": "SafeERC20FailedOperation",
"type": "error",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "UnexpectedUnlock",
"type": "error",
"inputs": []
},
{
"name": "ValueMismatch",
"type": "error",
"inputs": []
},
{
"name": "ZeroAddress",
"type": "error",
"inputs": []
},
{
"name": "LaunchExecuted",
"type": "event",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "poolId",
"type": "bytes32",
"indexed": true,
"internalType": "PoolId"
},
{
"name": "quote",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "positionTokenId",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "initialBuyTokens",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "initialBuyQuoteSpent",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "dustBurned",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "executeLaunch",
"type": "function",
"inputs": [
{
"name": "order",
"type": "tuple",
"components": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "launcher",
"type": "address",
"internalType": "address"
},
{
"name": "creator",
"type": "address",
"internalType": "address"
},
{
"name": "quote",
"type": "address",
"internalType": "address"
},
{
"name": "initialBuyTokens",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "maxQuoteIn",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "sqrtPriceX96",
"type": "uint160",
"internalType": "uint160"
},
{
"name": "tickLower",
"type": "int24",
"internalType": "int24"
},
{
"name": "tickUpper",
"type": "int24",
"internalType": "int24"
},
{
"name": "liquidity",
"type": "uint128",
"internalType": "uint128"
},
{
"name": "bullseyeThresholdQuoteRaw",
"type": "uint256",
"internalType": "uint256"
}
],
"internalType": "struct BogaLaunchRouter.LaunchOrder"
}
],
"outputs": [
{
"name": "result",
"type": "tuple",
"components": [
{
"name": "poolId",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "positionTokenId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "quoteSpent",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "tokensBought",
"type": "uint256",
"internalType": "uint256"
}
],
"internalType": "struct BogaLaunchRouter.LaunchResult"
}
],
"stateMutability": "payable"
},
{
"name": "factory",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "hook",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IHooks"
}
],
"stateMutability": "view"
},
{
"name": "pendingPool",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "tuple",
"components": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "quote",
"type": "address",
"internalType": "address"
},
{
"name": "sqrtPriceX96",
"type": "uint160",
"internalType": "uint160"
},
{
"name": "tickLower",
"type": "int24",
"internalType": "int24"
},
{
"name": "tickUpper",
"type": "int24",
"internalType": "int24"
},
{
"name": "liquidity",
"type": "uint128",
"internalType": "uint128"
},
{
"name": "bullseyeThresholdQuoteRaw",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "active",
"type": "bool",
"internalType": "bool"
}
],
"internalType": "struct BogaLaunchRouter.PendingPool"
}
],
"stateMutability": "view"
},
{
"name": "permit2",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IAllowanceTransfer"
}
],
"stateMutability": "view"
},
{
"name": "poolManager",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IPoolManager"
}
],
"stateMutability": "view"
},
{
"name": "positionManager",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IPositionManager"
}
],
"stateMutability": "view"
},
{
"name": "unlockCallback",
"type": "function",
"inputs": [
{
"name": "data",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "",
"type": "bytes",
"internalType": "bytes"
}
],
"stateMutability": "nonpayable"
},
{
"name": "wireHook",
"type": "function",
"inputs": [
{
"name": "hook_",
"type": "address",
"internalType": "contract IHooks"
}
],
"outputs": [],
"stateMutability": "nonpayable"
}
]0x610160806040526004361015610013575f80fd5b5f905f3560e01c90816312261ee7146121ad57508063513e77b21461205e578063791b98bc14611ff05780637f5a7c7b14611fa057806391dd734614611856578063af9840e5146116de578063c45a01551461166f578063dc4c90d3146116005763dd53398114610082575f80fd5b6101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126115fd57604051610100526080610100510161010051811067ffffffffffffffff8211176115d057604052806101005152602061010051018181526040610100510160805281608051526060610100510160c0528160c051527f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c6115a85760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000ff9ad4b598bae8cf66f8b19b7b71fcb486113c51633036115805773ffffffffffffffffffffffffffffffffffffffff82541680156115585773ffffffffffffffffffffffffffffffffffffffff6101c4612340565b1673ffffffffffffffffffffffffffffffffffffffff6101e2612363565b1610156115305773ffffffffffffffffffffffffffffffffffffffff610206612363565b16159283156115285760a4353414155b6115005773ffffffffffffffffffffffffffffffffffffffff610237612363565b1673ffffffffffffffffffffffffffffffffffffffff610255612340565b1692604051916102648361227d565b82526020820193845282604083015260c86060830152608082015260a081206101005152610290612340565b610298612363565b906102a16123a9565b6102a96123cc565b906102b26123dc565b906102bb6123ed565b906101443595600160e06fffffffffffffffffffffffffffffffff73ffffffffffffffffffffffffffffffffffffffff80806040519b6102fa8d612299565b1695868c5216958660208c015216958660408b01528860020b60608b01528760020b60808b015216978860a08201528960c082015201527fffffffffffffffffffffffff000000000000000000000000000000000000000060025416176002557fffffffffffffffffffffffff000000000000000000000000000000000000000060035416176003557fffffffffffffffffffffffff000000000000000000000000000000000000000060045416176004557fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff76ffffff00000000000000000000000000000000000000006004549260b81b79ffffff0000000000000000000000000000000000000000000000169360a01b16911617176004557fffffffffffffffffffffffffffffffff00000000000000000000000000000000600554161760055560065560017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600754161760075573ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e4095116946104ab6123a9565b73ffffffffffffffffffffffffffffffffffffffff604051917f6276cbbe00000000000000000000000000000000000000000000000000000000835261053e600484018673ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b1660a482015260208160c481878b5af180156114f5576114bb575b5073ffffffffffffffffffffffffffffffffffffffff610577612340565b169073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba316916040517f095ea7b3000000000000000000000000000000000000000000000000000000008652836004526b033b2e3c9fd0803ce800000060245260208660448180865af19060018751148216156114ac575b604052156113a0575b50610615612340565b9173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000058daec3116aae6d93017baaea7749052e8a04fa71692813b156112125773ffffffffffffffffffffffffffffffffffffffff604051917f87517c450000000000000000000000000000000000000000000000000000000083521660048201528360248201526b033b2e3c9fd0803ce8000000604482015265ffffffffffff42166064820152858160848183865af180156112bc5790869161138b575b50506040517f75794a3c000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156112bc578691611359575b5087526040517f020000000000000000000000000000000000000000000000000000000000000060208201527f0d000000000000000000000000000000000000000000000000000000000000006021820152600281526107746022826122b6565b60606101408190526040519061078a90826122b6565b600281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101405101875b8181106113465750506107c76123cc565b97866107d16123dc565b6107d96123ed565b6fffffffffffffffffffffffffffffffff169a60209b8c92604051926107ff85856122b6565b8d8452604051958695860161085d9173ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b60020b60c085015260020b60e08401526101008301528a61012083015261014082016b033b2e3c9fd0803ce80000009052610160820161dead9052610180820161018090526101a082016108b09161223a565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810182526108e090826122b6565b6108e98361240d565b526108f38261240d565b50865173ffffffffffffffffffffffffffffffffffffffff16905173ffffffffffffffffffffffffffffffffffffffff16604051918a8301526040820152604081526101405161094390826122b6565b61094c82612447565b5261095681612447565b506040518092898201604090526101405182016109729161223a565b918183037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001604083015280518084528a8401938b808360051b8301019301948b915b8d8484106112f95750505050506109f39250037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826122b6565b833b156112125785610a3a91604051809381927fdd46508f00000000000000000000000000000000000000000000000000000000835260406004840152604483019061223a565b426024830152038183885af180156112bc579086916112e4575b50600255846003558460045584600555846006558460075573ffffffffffffffffffffffffffffffffffffffff855416610a8c612340565b6044359173ffffffffffffffffffffffffffffffffffffffff8316928381036112e05750803b156112c757604488928373ffffffffffffffffffffffffffffffffffffffff9360405196879586947f26c0d1c800000000000000000000000000000000000000000000000000000000865216600485015260248401525af180156112bc579086916112cb575b505060843515159081610ff7575b50602497508573ffffffffffffffffffffffffffffffffffffffff610b49612340565b16604051998a80927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa978815610fec578598610fbb575b5090849188610ef6575b8115610ed15750610ba86080515134612457565b905b81610e26575b5050508385516024604051809481937f6352211e00000000000000000000000000000000000000000000000000000000835260048301525afa908115610d91578391610dc4575b5073ffffffffffffffffffffffffffffffffffffffff61dead911603610d9c5760248373ffffffffffffffffffffffffffffffffffffffff610c37612340565b16604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa908115610d91578391610d60575b50610d385760809460a0610c8a612340565b9220907f194bcffc93ac5bacc352cdf84a45cafc4b2df791ebe296a4f1334bd866923f3e8773ffffffffffffffffffffffffffffffffffffffff80610ccd612363565b8a51958451516040519788526084358c89015260408801526101405187015216951692a47f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d60405191610100515183525190820152815151604082015260c0515161014051820152f35b6004827f5011cfa5000000000000000000000000000000000000000000000000000000008152fd5b90508381813d8311610d8a575b610d7781836122b6565b81010312610d8657515f610c78565b5f80fd5b503d610d6d565b6040513d85823e3d90fd5b6004827f35559c8d000000000000000000000000000000000000000000000000000000008152fd5b90508381813d8311610e1f575b610ddb81836122b6565b81010312610e1b575173ffffffffffffffffffffffffffffffffffffffff81168103610e1b5773ffffffffffffffffffffffffffffffffffffffff610bf7565b8280fd5b503d610dd1565b15610e9b5781808092610e37612386565b5af13d15610e96573d610e49816122f7565b90610e5760405192836122b6565b815284863d92013e5b15610e6e575b825f80610bb0565b6004837ff0c49d44000000000000000000000000000000000000000000000000000000008152fd5b610e60565b610ecc915073ffffffffffffffffffffffffffffffffffffffff610ebd612363565b16610ec6612386565b90612464565b610e66565b15610eed57610ee760a4355b6080515190612457565b90610baa565b610ee782610edd565b90915073ffffffffffffffffffffffffffffffffffffffff610f16612340565b166040517fa9059cbb00000000000000000000000000000000000000000000000000000000875261dead60045289602452878760448180865af1906001885114821615610f9a575b60405215610f6f5750908491610b94565b7f5274afe7000000000000000000000000000000000000000000000000000000008652600452602485fd5b906001811516610fb257823b15153d15161690610f5e565b503d87823e3d90fd5b919097508582813d8311610fe5575b610fd481836122b6565b81010312610d865790519684610b8a565b503d610fca565b6040513d87823e3d90fd5b8215611216575b50611007612386565b610120526040516110178161227d565b84815286810160e05273ffffffffffffffffffffffffffffffffffffffff610120511660e051526040810190608435825260806101405182019160a4358352019084825260405160a0528860a05101926110bb848973ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b73ffffffffffffffffffffffffffffffffffffffff60e051511660c060a05101525160e060a05101525161010060a051015251151561012060a051015261012060a0515261110d61014060a0516122b6565b60a0515190206001558460405180997f48c894910000000000000000000000000000000000000000000000000000000082528860048301528183816111576024820160a05161223a565b03925af1978815610fec578598611195575b50604088805181010312611191578760408760249a015191015160c05152608051525f610b26565b8480fd5b9097503d8086833e6111a781836122b6565b81019086818303126112125780519067ffffffffffffffff821161120e570181601f82011215611212578051906111dd826122f7565b926111eb60405194856122b6565b82845288838301011161120e57818792898093018386015e83010152965f611169565b8680fd5b8580fd5b61121e612386565b611226612363565b91803b156112c757608488928373ffffffffffffffffffffffffffffffffffffffff938460405197889687957f36c785160000000000000000000000000000000000000000000000000000000087521660048601523060248601528160a4351660448601521660648401525af180156112bc579086916112a7575b50610ffe565b816112b1916122b6565b61119157845f6112a1565b6040513d88823e3d90fd5b8780fd5b816112d5916122b6565b61119157845f610b18565b8880fd5b816112ee916122b6565b61119157845f610a54565b600192949650611334867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848495979903018752895161223a565b970193019301909286949295936109b5565b60209061014051828286010152016107b6565b90506020813d602011611383575b81611374602093836122b6565b81010312610d8657515f610713565b3d9150611367565b81611395916122b6565b61119157845f6106d4565b6040517f095ea7b3000000000000000000000000000000000000000000000000000000008652836004528560245260208660448180865af1906001875114821615611494575b60405215611448576040517f095ea7b3000000000000000000000000000000000000000000000000000000008652836004526b033b2e3c9fd0803ce800000060245260208660448180865af1906001875114821615611473575b60405261060c575b7f5274afe7000000000000000000000000000000000000000000000000000000008552600452602484fd5b90600181151661148b57823b15153d15161690611440565b503d86823e3d90fd5b90600181151661148b57823b15153d151616906113e6565b90823b15153d15161690610603565b6020813d6020116114ed575b816114d4602093836122b6565b810103126114e957518060020b810315610559575b8380fd5b3d91506114c7565b6040513d86823e3d90fd5b807fdd8e4af70000000000000000000000000000000000000000000000000000000060049252fd5b341515610216565b6004837feca51329000000000000000000000000000000000000000000000000000000008152fd5b6004837f3fcbf498000000000000000000000000000000000000000000000000000000008152fd5b6004827f32cc7236000000000000000000000000000000000000000000000000000000008152fd5b6004827f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80fd5b50346115fd57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126115fd57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e40951168152f35b50346115fd57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126115fd57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000ff9ad4b598bae8cf66f8b19b7b71fcb486113c5168152f35b50346115fd57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126115fd5760e060405161171b81612299565b8281528260208201528260408201528260608201528260808201528260a08201528260c0820152015261010060405161175381612299565b73ffffffffffffffffffffffffffffffffffffffff600254169081815273ffffffffffffffffffffffffffffffffffffffff60035416602082019081526fffffffffffffffffffffffffffffffff600454604084019073ffffffffffffffffffffffffffffffffffffffff81168252606085018160a01c60020b8152608086019160b81c60020b825273ffffffffffffffffffffffffffffffffffffffff84600554169360a08801948552816006549760c08a0198895260e060ff600754169a019915158a526040519a8b52511660208a0152511660408801525160020b60608701525160020b6080860152511660a08401525160c083015251151560e0820152f35b5034610d865760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d86576004359067ffffffffffffffff8211610d865736602383011215610d8657816004013567ffffffffffffffff8111610d86576024830191818401366024820111610d865773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e409511692833303611f78576001548015918215611f41575b5050611f19575f6001558490036101208112610d865760a06040519161193b8361227d565b12610d8657611955604051946119508661227d565b612219565b845261196360448601612219565b6020850152606485013562ffffff81168103610d8657604085015260848501358060020b8103610d8657606085015261199e60a48601612219565b60808501528381526119b260c48601612219565b926020820193845260e4860135936040830196858852610124606085019161010481013583520135908115158203610d865760808501918252604051966060880188811067ffffffffffffffff821117611eec5773ffffffffffffffffffffffffffffffffffffffff99611ad39160405260018a5260208a01928352611afc60408b01936401000276a4855260209c8d9560405192611a5188856122b6565b5f84526040519e8f9788977ff3cd914c000000000000000000000000000000000000000000000000000000008952600489019073ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b51151560a48701525160c4860152511660e484015261012061010484015261012483019061223a565b03815f885af1968715611e2e575f97611ebd575b506fffffffffffffffffffffffffffffffff87169660801d600f0b7fffffffffffffffffffffffffffffffff800000000000000000000000000000008114611e90576fffffffffffffffffffffffffffffffff905f031698518703611e685751808911611e3957505115611d38576040517f11da60b400000000000000000000000000000000000000000000000000000000815286816004818b875af18015610fec57611d0b575b505b73ffffffffffffffffffffffffffffffffffffffff8087855101511691511690823b156111915790606485928360405195869485937f0b0d9c09000000000000000000000000000000000000000000000000000000008552600485015260248401528960448401525af18015610d9157908391611cf2575b508473ffffffffffffffffffffffffffffffffffffffff809254169251015116813b15610e1b5782916024839260405194859384927fa881ede500000000000000000000000000000000000000000000000000000000845260048401525af18015611ce757611cd2575b50506040519282840152604083015260408252611cba6060836122b6565b611cce60405192828493845283019061223a565b0390f35b611cdd8280926122b6565b6115fd5780611c9c565b6040513d84823e3d90fd5b81611cfc916122b6565b611d0757815f611c32565b5080fd5b611d2a90873d8911611d31575b611d2281836122b6565b810190612331565b505f611bb8565b503d611d18565b73ffffffffffffffffffffffffffffffffffffffff83515116823b15610d8657604051907fa584119400000000000000000000000000000000000000000000000000000000825260048201525f8160248183875af18015611e2e57611e19575b50611dbc878373ffffffffffffffffffffffffffffffffffffffff86515116612464565b6040517f11da60b4000000000000000000000000000000000000000000000000000000008152868160048188875af18015610fec57611dfc575b50611bba565b611e1290873d8911611d3157611d2281836122b6565b505f611df6565b611e269194505f906122b6565b5f925f611d98565b6040513d5f823e3d90fd5b887fa5126dd8000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b7ff6930426000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9096508781813d8311611ee5575b611ed581836122b6565b81010312610d865751955f611b10565b503d611ecb565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7ffed3ca24000000000000000000000000000000000000000000000000000000005f5260045ffd5b909150611f4d816122f7565b611f5a60405191826122b6565b8181525f602080830193808a86378301015251902014155f80611916565b7fae18210a000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610d86575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d8657602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b34610d86575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d8657602060405173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000058daec3116aae6d93017baaea7749052e8a04fa7168152f35b34610d865760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d865760043573ffffffffffffffffffffffffffffffffffffffff8116809103610d865773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000ff9ad4b598bae8cf66f8b19b7b71fcb486113c5163303612185575f5473ffffffffffffffffffffffffffffffffffffffff811661215d578115612135577fffffffffffffffffffffffff000000000000000000000000000000000000000016175f55005b7fd92e233d000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fda7c0e55000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f32cc7236000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610d86575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d865760209073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3168152f35b359073ffffffffffffffffffffffffffffffffffffffff82168203610d8657565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b60a0810190811067ffffffffffffffff821117611eec57604052565b610100810190811067ffffffffffffffff821117611eec57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611eec57604052565b67ffffffffffffffff8111611eec57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b90816020910312610d86575190565b60043573ffffffffffffffffffffffffffffffffffffffff81168103610d865790565b60643573ffffffffffffffffffffffffffffffffffffffff81168103610d865790565b60243573ffffffffffffffffffffffffffffffffffffffff81168103610d865790565b60c43573ffffffffffffffffffffffffffffffffffffffff81168103610d865790565b60e4358060020b8103610d865790565b610104358060020b8103610d865790565b610124356fffffffffffffffffffffffffffffffff81168103610d865790565b80511561241a5760200190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b80516001101561241a5760400190565b91908203918211611e9057565b9173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af19060015f511482161561250d575b604052156124cb5750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90600181151661252557823b15153d151616906124c0565b503d5f823e3d90fdfea26469706673582212200120ead3eadb8a4e9d75a6cf425ef6a8285a71cf2e3a4b782f6cefd99b479fa464736f6c634300081a0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| Global Dollar (USDG) | USDG | 2 | $1 | $2 |
| 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 | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| No direct transactions — this address is only ever reached via internal calls (common for a contract only invoked through a router or proxy). View Internal Transactions → | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xe42563…385804 | 20 days agoTue, 28 Jul 2026 17:34:33 UTC | 0x194bcf…3f3e | [0] 0x000000000000…dbcb5470 [1] 0xfe8238625c01…34a80b5b [2] 0x000000000000…1c003b2d data: 0x000000000000000000…000000df |
| 0xc95fb7…8bbb50 | 21 days agoTue, 28 Jul 2026 01:09:55 UTC | 0x194bcf…3f3e | [0] 0x000000000000…7622f4ed [1] 0xaae2e12bd7d5…fbc65967 [2] 0x000000000000…ef09e7aa data: 0x000000000000000000…0000017f |
| 0xfa0078…744d9f | 21 days agoTue, 28 Jul 2026 01:09:25 UTC | 0x194bcf…3f3e | [0] 0x000000000000…02a036ed [1] 0x5d4d6e441060…f3a9614e [2] 0x000000000000…58ef86a6 data: 0x000000000000000000…000000d5 |
| 0x40d071…756b15 | 21 days agoTue, 28 Jul 2026 01:08:22 UTC | 0x194bcf…3f3e | [0] 0x000000000000…21769766 [1] 0x6ff09b1d5979…86af4bb8 [2] 0x000000000000…4d56d344 data: 0x000000000000000000…00000909 |
| 0x7e4879…f41ce6 | 21 days agoTue, 28 Jul 2026 00:59:57 UTC | 0x194bcf…3f3e | [0] 0x000000000000…864e8b4f [1] 0xb15f9b62b34f…981d708c [2] 0x000000000000…8f8a93f9 data: 0x000000000000000000…00001d89 |
| 0xe3064f…d97322 | 21 days agoTue, 28 Jul 2026 00:40:34 UTC | 0x194bcf…3f3e | [0] 0x000000000000…2b384b2a [1] 0x633e3839e0b1…dcfa2933 [2] 0x000000000000…320d9eec data: 0x000000000000000000…00001ba7 |
| 0x7a6462…b98f6e | 21 days agoTue, 28 Jul 2026 00:39:48 UTC | 0x194bcf…3f3e | [0] 0x000000000000…7c04ccbe [1] 0x7d64f05ddb14…20b726b3 [2] 0x000000000000…00000000 data: 0x000000000000000000…00002fe8 |
| 0x8a8182…26c77b | 21 days agoTue, 28 Jul 2026 00:39:05 UTC | 0x194bcf…3f3e | [0] 0x000000000000…e78c26dc [1] 0x7ac89be5bccc…e925dbc6 [2] 0x000000000000…16f1d168 data: 0x000000000000000000…14b04a90 |
| 0x0e240e…b0f190 | 21 days agoTue, 28 Jul 2026 00:38:26 UTC | 0x194bcf…3f3e | [0] 0x000000000000…5d11a751 [1] 0xde7d96a9af3f…c1c8c138 [2] 0x000000000000…16f1d168 data: 0x000000000000000000…14b04a90 |
| 0xcefae7…ff9ef7 | 21 days agoTue, 28 Jul 2026 00:23:29 UTC | 0x194bcf…3f3e | [0] 0x000000000000…20e0f2af [1] 0x047e19449fa9…6bda5aaf [2] 0x000000000000…00000000 data: 0x000000000000000000…00002fe8 |
| 0x3468c2…a4fb60 | 21 days agoTue, 28 Jul 2026 00:22:17 UTC | 0x194bcf…3f3e | [0] 0x000000000000…06b4b7f6 [1] 0x741d59365370…894b14aa [2] 0x000000000000…d2023fdc data: 0x000000000000000000…00001e47 |
| 0xd9317e…9ea86b | 21 days agoTue, 28 Jul 2026 00:13:07 UTC | 0x194bcf…3f3e | [0] 0x000000000000…a76e1634 [1] 0x58ff77180d87…79e8ac11 [2] 0x000000000000…8f8a93f9 data: 0x000000000000000000…00001d89 |
| 0x388c83…463e5b | 21 days agoMon, 27 Jul 2026 22:58:39 UTC | 0x194bcf…3f3e | [0] 0x000000000000…ff614611 [1] 0xa38d28cd0802…115f391b [2] 0x000000000000…8f8a93f9 data: 0x000000000000000000…00001d89 |
| 0x7cbf2d…4851ef | 21 days agoMon, 27 Jul 2026 22:57:37 UTC | 0x194bcf…3f3e | [0] 0x000000000000…8bd6d201 [1] 0x3389386619f4…94b10ee2 [2] 0x000000000000…00000000 data: 0x000000000000000000…00002fe8 |
| 0x2525b2…321bec | 21 days agoMon, 27 Jul 2026 20:18:02 UTC | 0x194bcf…3f3e | [0] 0x000000000000…b3fe727f [1] 0x34ab83c56bad…a2154f75 [2] 0x000000000000…00000000 data: 0x000000000000000000…00002fe8 |
| 0x2ec69b…1c8d73 | 21 days agoMon, 27 Jul 2026 20:14:20 UTC | 0x194bcf…3f3e | [0] 0x000000000000…f389551e [1] 0x0ac80bd33b11…0f9d7959 [2] 0x000000000000…00000000 data: 0x000000000000000000…00002fe8 |
| 0xeb6bec…e8e5ee | 21 days agoMon, 27 Jul 2026 20:05:57 UTC | 0x194bcf…3f3e | [0] 0x000000000000…d7203f9d [1] 0xc9cacd01ad2f…9a2e9586 [2] 0x000000000000…911c153e data: 0x000000000000000000…0000048f |
| 0xdb8129…ceb9ac | 21 days agoMon, 27 Jul 2026 20:01:13 UTC | 0x194bcf…3f3e | [0] 0x000000000000…7d1fc540 [1] 0x6c48d04c609a…aa6a080b [2] 0x000000000000…16f1d168 data: 0x000000000000000000…059f1560 |
| 0x848c2a…c405bd | 21 days agoMon, 27 Jul 2026 19:56:33 UTC | 0x194bcf…3f3e | [0] 0x000000000000…89b5b524 [1] 0xea2302baf23b…bdab4bc7 [2] 0x000000000000…00000000 data: 0x000000000000000000…00002fe8 |
| 0x0a005f…818c85 | 21 days agoMon, 27 Jul 2026 17:02:06 UTC | 0x194bcf…3f3e | [0] 0x000000000000…454e747d [1] 0xe732b5d422bd…b73e210a [2] 0x000000000000…8f8a93f9 data: 0x000000000000000000…00001726 |
| 0xa6d3b4…9e2060 | 22 days agoMon, 27 Jul 2026 01:42:30 UTC | 0x194bcf…3f3e | [0] 0x000000000000…c6699175 [1] 0xbf7273001a4a…b8bf0da5 [2] 0x000000000000…16f1d168 data: 0x000000000000000000…057444d3 |
| 0xd22861…ed6d59 | 22 days agoMon, 27 Jul 2026 01:30:06 UTC | 0x194bcf…3f3e | [0] 0x000000000000…692a1eaa [1] 0xde82ff41727a…0c144534 [2] 0x000000000000…00000000 data: 0x000000000000000000…00002fe8 |
| 0xc52462…c84075 | 22 days agoMon, 27 Jul 2026 00:08:42 UTC | 0x194bcf…3f3e | [0] 0x000000000000…e39a873b [1] 0x82379068b701…2ae828f1 [2] 0x000000000000…fae35eea data: 0x000000000000000000…00000507 |
| 0x352ef6…f1e70d | 22 days agoMon, 27 Jul 2026 00:04:12 UTC | 0x194bcf…3f3e | [0] 0x000000000000…632d6a9a [1] 0x0b12fff58d1e…a0058ae0 [2] 0x000000000000…16f1d168 data: 0x000000000000000000…059f1560 |
| 0x882631…b4df88 | 23 days agoSun, 26 Jul 2026 03:04:06 UTC | 0x194bcf…3f3e | [0] 0x000000000000…9f3e641e [1] 0xb126e08a5cd0…5bc60777 [2] 0x000000000000…00000000 data: 0x000000000000000000…00002fe8 |
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xe42563e3…385804 | Transfer | 21,775,176 | 20 days agoTue, 28 Jul 2026 17:34:33 UTC | 0xe77e…1516 | OUT | 0x459a…69dd | $8.820.025866 TSLA | Tesla • Robinhood Token (TSLA) | |
| 0xe42563e3…385804 | Transfer | 21,775,176 | 20 days agoTue, 28 Jul 2026 17:34:33 UTC | 0xe77e…1516 | OUT | 0x0000…dead | 0.000000 TDOGE | Doge in Tesla (TDOGE) | |
| 0xe42563e3…385804 | Transfer | 21,775,176 | 20 days agoTue, 28 Jul 2026 17:34:33 UTC | 0xe77e…1516 | OUT | 0x8366…0951 | $58.790.172445 TSLA | Tesla • Robinhood Token (TSLA) | |
| 0xe42563e3…385804 | Transfer | 21,775,176 | 20 days agoTue, 28 Jul 2026 17:34:33 UTC | 0x459a…69dd | IN | 0xe77e…1516 | $67.610.198312 TSLA | Tesla • Robinhood Token (TSLA) | |
| 0xe42563e3…385804 | Transfer | 21,775,176 | 20 days agoTue, 28 Jul 2026 17:34:33 UTC | 0xe77e…1516 | OUT | 0x8366…0951 | 1,000,000,000.000000 TDOGE | Doge in Tesla (TDOGE) | |
| 0xe42563e3…385804 | Transfer | 21,775,176 | 20 days agoTue, 28 Jul 2026 17:34:33 UTC | 0x0000…0000 | IN | 0xe77e…1516 | 1,000,000,000.000000 TDOGE | Doge in Tesla (TDOGE) | |
| 0xc95fb798…8bbb50 | Transfer | 21,186,533 | 21 days agoTue, 28 Jul 2026 01:09:55 UTC | 0xe77e…1516 | OUT | 0x0000…dead | 0.000000 TSM | TSM (TSM) | |
| 0xc95fb798…8bbb50 | Transfer | 21,186,533 | 21 days agoTue, 28 Jul 2026 01:09:55 UTC | 0xe77e…1516 | OUT | 0x8366…0951 | 1,000,000,000.000000 TSM | TSM (TSM) | |
| 0xc95fb798…8bbb50 | Transfer | 21,186,533 | 21 days agoTue, 28 Jul 2026 01:09:55 UTC | 0x0000…0000 | IN | 0xe77e…1516 | 1,000,000,000.000000 TSM | TSM (TSM) | |
| 0xfa0078e9…744d9f | Transfer | 21,186,235 | 21 days agoTue, 28 Jul 2026 01:09:25 UTC | 0xe77e…1516 | OUT | 0x0000…dead | 0.000000 USAR | USAR (USAR) | |
| 0xfa0078e9…744d9f | Transfer | 21,186,235 | 21 days agoTue, 28 Jul 2026 01:09:25 UTC | 0xe77e…1516 | OUT | 0x8366…0951 | 1,000,000,000.000000 USAR | USAR (USAR) | |
| 0xfa0078e9…744d9f | Transfer | 21,186,235 | 21 days agoTue, 28 Jul 2026 01:09:25 UTC | 0x0000…0000 | IN | 0xe77e…1516 | 1,000,000,000.000000 USAR | USAR (USAR) | |
| 0x40d071b0…756b15 | Transfer | 21,185,607 | 21 days agoTue, 28 Jul 2026 01:08:22 UTC | 0xe77e…1516 | OUT | 0x0000…dead | 0.000000 USO | USO (USO) | |
| 0x40d071b0…756b15 | Transfer | 21,185,607 | 21 days agoTue, 28 Jul 2026 01:08:22 UTC | 0xe77e…1516 | OUT | 0x8366…0951 | 1,000,000,000.000000 USO | USO (USO) | |
| 0x40d071b0…756b15 | Transfer | 21,185,607 | 21 days agoTue, 28 Jul 2026 01:08:22 UTC | 0x0000…0000 | IN | 0xe77e…1516 | 1,000,000,000.000000 USO | USO (USO) | |
| 0x7e4879cf…f41ce6 | Transfer | 21,180,571 | 21 days agoTue, 28 Jul 2026 00:59:57 UTC | 0xe77e…1516 | OUT | 0x0000…dead | 0.000000 AAPL | AAPL (AAPL) | |
| 0x7e4879cf…f41ce6 | Transfer | 21,180,571 | 21 days agoTue, 28 Jul 2026 00:59:57 UTC | 0xe77e…1516 | OUT | 0x8366…0951 | 1,000,000,000.000000 AAPL | AAPL (AAPL) | |
| 0x7e4879cf…f41ce6 | Transfer | 21,180,571 | 21 days agoTue, 28 Jul 2026 00:59:57 UTC | 0x0000…0000 | IN | 0xe77e…1516 | 1,000,000,000.000000 AAPL | AAPL (AAPL) | |
| 0xe3064ffd…d97322 | Transfer | 21,168,969 | 21 days agoTue, 28 Jul 2026 00:40:34 UTC | 0xe77e…1516 | OUT | 0x0000…dead | 0.000000 BOGAFUN | bogafun (BOGAFUN) | |
| 0xe3064ffd…d97322 | Transfer | 21,168,969 | 21 days agoTue, 28 Jul 2026 00:40:34 UTC | 0xe77e…1516 | OUT | 0x8366…0951 | 1,000,000,000.000000 BOGAFUN | bogafun (BOGAFUN) | |
| 0xe3064ffd…d97322 | Transfer | 21,168,969 | 21 days agoTue, 28 Jul 2026 00:40:34 UTC | 0x0000…0000 | IN | 0xe77e…1516 | 1,000,000,000.000000 BOGAFUN | bogafun (BOGAFUN) | |
| 0x7a64625d…b98f6e | Transfer | 21,168,507 | 21 days agoTue, 28 Jul 2026 00:39:48 UTC | 0xe77e…1516 | OUT | 0x0000…dead | 0.000000 BOGA | boga (BOGA) | |
| 0x7a64625d…b98f6e | Transfer | 21,168,507 | 21 days agoTue, 28 Jul 2026 00:39:48 UTC | 0xe77e…1516 | OUT | 0x8366…0951 | 1,000,000,000.000000 BOGA | boga (BOGA) | |
| 0x7a64625d…b98f6e | Transfer | 21,168,507 | 21 days agoTue, 28 Jul 2026 00:39:48 UTC | 0x0000…0000 | IN | 0xe77e…1516 | 1,000,000,000.000000 BOGA | boga (BOGA) | |
| 0x8a8182fe…26c77b | Transfer | 21,168,085 | 21 days agoTue, 28 Jul 2026 00:39:05 UTC | 0xe77e…1516 | OUT | 0x0000…dead | 0.000000 TESTT1 | testtest (TESTT1) |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 21,107,368 | 21 days agoMon, 27 Jul 2026 22:57:37 UTC | 0x7cbf2d…4851ef | CALL | launchToken | 0xe77e…1516 | OUT | 0xe1f4…70a4 | 0.00027 ETH |
| 21,107,368 | 21 days agoMon, 27 Jul 2026 22:57:37 UTC | 0x7cbf2d…4851ef | CALL | launchToken | 0xe77e…1516 | OUT | 0x8366…0951 | 0.01383 ETH |
| 21,107,368 | 21 days agoMon, 27 Jul 2026 22:57:37 UTC | 0x7cbf2d…4851ef | CALL | launchToken | 0x0ff9…13c5 | IN | 0xe77e…1516 | 0.01410 ETH |
| 21,011,882 | 21 days agoMon, 27 Jul 2026 20:18:02 UTC | 0x2525b2…321bec | CALL | launchToken | 0xe77e…1516 | OUT | 0xe1f4…70a4 | 0.00055 ETH |
| 21,011,882 | 21 days agoMon, 27 Jul 2026 20:18:02 UTC | 0x2525b2…321bec | CALL | launchToken | 0xe77e…1516 | OUT | 0x8366…0951 | 0.02794 ETH |
| 21,011,882 | 21 days agoMon, 27 Jul 2026 20:18:02 UTC | 0x2525b2…321bec | CALL | launchToken | 0x0ff9…13c5 | IN | 0xe77e…1516 | 0.02850 ETH |
| 21,009,676 | 21 days agoMon, 27 Jul 2026 20:14:20 UTC | 0x2ec69b…1c8d73 | CALL | launchToken | 0xe77e…1516 | OUT | 0xe1f4…70a4 | 0.00027 ETH |
| 21,009,676 | 21 days agoMon, 27 Jul 2026 20:14:20 UTC | 0x2ec69b…1c8d73 | CALL | launchToken | 0xe77e…1516 | OUT | 0x8366…0951 | 0.01383 ETH |
| 21,009,676 | 21 days agoMon, 27 Jul 2026 20:14:20 UTC | 0x2ec69b…1c8d73 | CALL | launchToken | 0x0ff9…13c5 | IN | 0xe77e…1516 | 0.01410 ETH |
| 20,338,598 | 22 days agoMon, 27 Jul 2026 01:30:06 UTC | 0xd22861…ed6d59 | CALL | launchToken | 0xe77e…1516 | OUT | 0x5917…1ac7 | 0.00027 ETH |
| 20,338,598 | 22 days agoMon, 27 Jul 2026 01:30:06 UTC | 0xd22861…ed6d59 | CALL | launchToken | 0xe77e…1516 | OUT | 0x8366…0951 | 0.01383 ETH |
| 20,338,598 | 22 days agoMon, 27 Jul 2026 01:30:06 UTC | 0xd22861…ed6d59 | CALL | launchToken | 0x0ff9…13c5 | IN | 0xe77e…1516 | 0.01410 ETH |
| 19,303,231 | 23 days agoSat, 25 Jul 2026 20:39:10 UTC | 0x9deac8…de0877 | CREATE | 0x61016080 | 0x0ff9…13c5 | IN | 0xe77e…1516 | 0 ETH |