// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol";
import {IUnlockCallback} from "@uniswap/v4-core/src/interfaces/callback/IUnlockCallback.sol";
import {Currency} from "@uniswap/v4-core/src/types/Currency.sol";
import {IFactoryFeeSource} from "./interfaces/IPumpV4.sol";
/**
* @title CreatorFeeShare
* @notice Immutable per-token PoolManager-claim custody with a fixed 50/50 split.
* @dev The hook is the only depositor. Anyone may trigger claims, but creator
* funds always go to the constructor-fixed creator and protocol funds
* always go to the factory's current feeCollector.
*/
contract CreatorFeeShare is ReentrancyGuard, IUnlockCallback {
using SafeERC20 for IERC20;
uint256 public constant CREATOR_BPS = 5_000;
uint256 public constant BPS_DENOMINATOR = 10_000;
address public immutable factory;
address public immutable creator;
address public immutable hook;
address public immutable weth;
IPoolManager public immutable poolManager;
uint256 public creatorClaimable;
uint256 public protocolClaimable;
uint256 public totalDeposited;
uint256 public totalCreatorClaimed;
uint256 public totalProtocolClaimed;
uint256 private redeemingClaimAmount;
event Deposited(uint256 amount, uint256 creatorAmount, uint256 protocolAmount);
event CreatorClaimed(address indexed caller, address indexed creator, uint256 amount);
event ProtocolClaimed(address indexed caller, address indexed recipient, uint256 amount);
error ZeroAddressNotAllowed();
error ZeroValueNotAllowed();
error UnauthorizedDepositor();
error UnsupportedTransferBehavior();
error Insolvent();
error NothingToClaim();
error UnauthorizedUnlockCallback();
error UnexpectedClaimRedemption();
constructor(address factory_, address creator_, address hook_, address weth_, IPoolManager poolManager_) {
if (
factory_ == address(0) || creator_ == address(0) || hook_ == address(0) || weth_ == address(0)
|| address(poolManager_) == address(0)
) {
revert ZeroAddressNotAllowed();
}
factory = factory_;
creator = creator_;
hook = hook_;
weth = weth_;
poolManager = poolManager_;
}
function depositClaim(uint256 amount) external nonReentrant {
if (msg.sender != hook) revert UnauthorizedDepositor();
if (amount == 0) revert ZeroValueNotAllowed();
_recordDeposit(amount);
}
function unlockCallback(bytes calldata data) external returns (bytes memory) {
if (msg.sender != address(poolManager)) revert UnauthorizedUnlockCallback();
uint256 amount = abi.decode(data, (uint256));
if (amount == 0 || amount != redeemingClaimAmount) revert UnexpectedClaimRedemption();
redeemingClaimAmount = 0;
uint256 claimId = uint256(uint160(weth));
poolManager.burn(address(this), claimId, amount);
poolManager.take(Currency.wrap(weth), address(this), amount);
return abi.encode(amount);
}
function totalAssets() public view returns (uint256) {
return IERC20(weth).balanceOf(address(this)) + claimBalance();
}
function claimBalance() public view returns (uint256) {
return poolManager.balanceOf(address(this), uint256(uint160(weth)));
}
function _recordDeposit(uint256 amount) private {
uint256 creatorAmount = amount / 2;
uint256 protocolAmount = amount - creatorAmount;
creatorClaimable += creatorAmount;
protocolClaimable += protocolAmount;
totalDeposited += amount;
_assertClaimBacked();
emit Deposited(amount, creatorAmount, protocolAmount);
}
function claimCreator() external nonReentrant returns (uint256 amount) {
amount = _claimCreator(msg.sender);
}
function claimProtocol() external nonReentrant returns (uint256 amount) {
amount = _claimProtocol(msg.sender);
}
function claim() external nonReentrant returns (uint256 creatorAmount, uint256 protocolAmount) {
creatorAmount = creatorClaimable;
protocolAmount = protocolClaimable;
if (creatorAmount == 0 && protocolAmount == 0) revert NothingToClaim();
address recipient = IFactoryFeeSource(factory).feeCollector();
if (protocolAmount != 0 && recipient == address(0)) revert ZeroAddressNotAllowed();
creatorClaimable = 0;
protocolClaimable = 0;
totalCreatorClaimed += creatorAmount;
totalProtocolClaimed += protocolAmount;
_redeemClaims(creatorAmount + protocolAmount);
IERC20 token = IERC20(weth);
if (creatorAmount != 0) {
token.safeTransfer(creator, creatorAmount);
emit CreatorClaimed(msg.sender, creator, creatorAmount);
}
if (protocolAmount != 0) {
token.safeTransfer(recipient, protocolAmount);
emit ProtocolClaimed(msg.sender, recipient, protocolAmount);
}
_assertClaimBacked();
}
function outstanding() public view returns (uint256) {
return creatorClaimable + protocolClaimable;
}
function isSolvent() external view returns (bool) {
return claimBalance() >= outstanding();
}
function excessWeth() external view returns (uint256) {
return IERC20(weth).balanceOf(address(this));
}
function _claimCreator(address caller) private returns (uint256 amount) {
amount = creatorClaimable;
if (amount == 0) revert NothingToClaim();
creatorClaimable = 0;
totalCreatorClaimed += amount;
_payout(creator, amount);
_assertClaimBacked();
emit CreatorClaimed(caller, creator, amount);
}
function _claimProtocol(address caller) private returns (uint256 amount) {
amount = protocolClaimable;
if (amount == 0) revert NothingToClaim();
address recipient = IFactoryFeeSource(factory).feeCollector();
if (recipient == address(0)) revert ZeroAddressNotAllowed();
protocolClaimable = 0;
totalProtocolClaimed += amount;
_payout(recipient, amount);
_assertClaimBacked();
emit ProtocolClaimed(caller, recipient, amount);
}
function _payout(address recipient, uint256 amount) private {
_redeemClaims(amount);
IERC20(weth).safeTransfer(recipient, amount);
}
function _redeemClaims(uint256 amount) private {
if (redeemingClaimAmount != 0) revert UnexpectedClaimRedemption();
IERC20 token = IERC20(weth);
uint256 beforeBalance = token.balanceOf(address(this));
redeemingClaimAmount = amount;
bytes memory result = poolManager.unlock(abi.encode(amount));
if (redeemingClaimAmount != 0 || abi.decode(result, (uint256)) != amount) {
revert UnexpectedClaimRedemption();
}
if (token.balanceOf(address(this)) - beforeBalance != amount) revert UnsupportedTransferBehavior();
}
function _assertClaimBacked() private view {
if (claimBalance() < outstanding()) revert Insolvent();
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "factory_",
"type": "address",
"internalType": "address"
},
{
"name": "creator_",
"type": "address",
"internalType": "address"
},
{
"name": "hook_",
"type": "address",
"internalType": "address"
},
{
"name": "weth_",
"type": "address",
"internalType": "address"
},
{
"name": "poolManager_",
"type": "address",
"internalType": "contract IPoolManager"
}
],
"stateMutability": "nonpayable"
},
{
"name": "Insolvent",
"type": "error",
"inputs": []
},
{
"name": "NothingToClaim",
"type": "error",
"inputs": []
},
{
"name": "ReentrancyGuardReentrantCall",
"type": "error",
"inputs": []
},
{
"name": "SafeERC20FailedOperation",
"type": "error",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "UnauthorizedDepositor",
"type": "error",
"inputs": []
},
{
"name": "UnauthorizedUnlockCallback",
"type": "error",
"inputs": []
},
{
"name": "UnexpectedClaimRedemption",
"type": "error",
"inputs": []
},
{
"name": "UnsupportedTransferBehavior",
"type": "error",
"inputs": []
},
{
"name": "ZeroAddressNotAllowed",
"type": "error",
"inputs": []
},
{
"name": "ZeroValueNotAllowed",
"type": "error",
"inputs": []
},
{
"name": "CreatorClaimed",
"type": "event",
"inputs": [
{
"name": "caller",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "creator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "Deposited",
"type": "event",
"inputs": [
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "creatorAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "protocolAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "ProtocolClaimed",
"type": "event",
"inputs": [
{
"name": "caller",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "recipient",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "BPS_DENOMINATOR",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "CREATOR_BPS",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "claim",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "creatorAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "protocolAmount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "claimBalance",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "claimCreator",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "claimProtocol",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "creator",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "creatorClaimable",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "depositClaim",
"type": "function",
"inputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "excessWeth",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "factory",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "hook",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "isSolvent",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "outstanding",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "poolManager",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IPoolManager"
}
],
"stateMutability": "view"
},
{
"name": "protocolClaimable",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "totalAssets",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "totalCreatorClaimed",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "totalDeposited",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "totalProtocolClaimed",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "unlockCallback",
"type": "function",
"inputs": [
{
"name": "data",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "",
"type": "bytes",
"internalType": "bytes"
}
],
"stateMutability": "nonpayable"
},
{
"name": "weth",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
}
]0x6080806040526004361015610012575f80fd5b5f905f3560e01c90816301e1d11414610b8c5750806302d05d3f14610b48578063232adc6514610a6657806330509bca14610a4c5780633fc8cef314610a085780634292e96f14610968578063459045671461094c5780634e71d92d1461072a5780635ce23950146106f75780637f5a7c7b146106b35780639020a20d1461069657806391dd7346146104b55780639be04eda146103c45780639c8e80321461025b5780639e5f358a1461023d578063c45a0155146101f8578063c6023f6b146101da578063ce228ad2146101bc578063dc4c90d314610177578063e1a452181461015a578063e50d33e3146101305763ff50abdc14610110575f80fd5b3461012d578060031936011261012d576020600354604051908152f35b80fd5b503461012d578060031936011261012d57602061015260015460025490610c94565b604051908152f35b503461012d578060031936011261012d5760206040516127108152f35b503461012d578060031936011261012d576040517f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e409516001600160a01b03168152602090f35b503461012d578060031936011261012d576020600254604051908152f35b503461012d578060031936011261012d576020600454604051908152f35b503461012d578060031936011261012d576040517f000000000000000000000000519fd71f5df8242fb8bccaa346ea5b20c336273e6001600160a01b03168152602090f35b503461012d578060031936011261012d576020600154604051908152f35b503461012d578060031936011261012d57610274610d8b565b60025480156103b5576040516331056e5760e21b81526020816004817f000000000000000000000000519fd71f5df8242fb8bccaa346ea5b20c336273e6001600160a01b03165afa9081156103aa57839161037b575b506001600160a01b03811690811561036c579260019161033084602096846002556102f782600554610c94565b60055561030382610db6565b858060a01b037f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad7316610ff7565b610338611086565b6040518481527fc396d6660e29cc5cd9bfeb432be2167e1f5ba69247e54bb876e6f085ef072e31863392a355604051908152f35b6342bcdf7f60e11b8452600484fd5b61039d915060203d6020116103a3575b6103958183610c5e565b810190610d6c565b5f6102ca565b503d61038b565b6040513d85823e3d90fd5b6312d37ee560e31b8252600482fd5b503461012d57602036600319011261012d576004356103e1610d8b565b7f00000000000000000000000014bcc18fdb0e7a427122b9c2f1a40ff7d63eaacc6001600160a01b031633036104a6578015610497576060817f1ca606821992e3b34613b5b29c0bbade3a907b2969d7f9f2927f726fa4baccfb9260011c6104498183610da9565b9061045681600154610c94565b60015561046582600254610c94565b60025561047483600354610c94565b60035561047f611086565b60405192835260208301526040820152a16001815580f35b63273e150360e21b8252600482fd5b6302d80a7d60e11b8252600482fd5b50346106685760203660031901126106685760043567ffffffffffffffff8111610668573660238201121561066857806004013567ffffffffffffffff811161066857810190366024830111610668577f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e409516001600160a01b0316913383900361068757602090829003126106685760240135908115801561067b575b61066c575f6006557f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad736001600160a01b031690803b1561066857604051637a94c56560e11b81523060048201528260248201528360448201525f8160648183865af1801561065d57610646575b50908184923b1561064257606483926040519485938492630b0d9c0960e01b845260048401523060248401528760448401525af180156103aa57610629575b6106258260405190602082015260208152610619604082610c5e565b60405191829182610c34565b0390f35b610634838092610c5e565b61063e57816105fd565b5080fd5b8280fd5b610654919294505f90610c5e565b5f92905f6105be565b6040513d5f823e3d90fd5b5f80fd5b632a16090d60e11b5f5260045ffd5b50600654821415610551565b6314df2acb60e01b5f5260045ffd5b34610668575f366003190112610668576020600554604051908152f35b34610668575f366003190112610668576040517f00000000000000000000000014bcc18fdb0e7a427122b9c2f1a40ff7d63eaacc6001600160a01b03168152602090f35b34610668575f366003190112610668576020610711610cb5565b61072060015460025490610c94565b1115604051908152f35b34610668575f36600319011261066857610742610d8b565b600154600254811591908280610944575b610935576040516331056e5760e21b81526020816004817f000000000000000000000000519fd71f5df8242fb8bccaa346ea5b20c336273e6001600160a01b03165afa90811561065d575f91610916575b50811515938480610905575b6108f657826040955f6001555f6002556107cc86600454610c94565b6004556107db82600554610c94565b6005556107f06107eb8388610c94565b610db6565b7f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad736001600160a01b0316921561088c575b610841575b505050610831611086565b60015f5582519182526020820152f35b8261084b92610ff7565b83518281526001600160a01b039091169033907fc396d6660e29cc5cd9bfeb432be2167e1f5ba69247e54bb876e6f085ef072e3190602090a3838082610826565b7f000000000000000000000000113dea972d96076a0b521411a4fc3fd1216660a86108b8878286610ff7565b87518781526001600160a01b039091169033907f616fabaea8d0ae75f05cb4b3ef0b33a2a9899c9799693afa42f95307f75c0b1390602090a3610821565b6342bcdf7f60e11b5f5260045ffd5b506001600160a01b038216156107b0565b61092f915060203d6020116103a3576103958183610c5e565b846107a4565b6312d37ee560e31b5f5260045ffd5b508015610753565b34610668575f3660031901126106685760206040516113888152f35b34610668575f366003190112610668576040516370a0823160e01b81523060048201526020816024817f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad736001600160a01b03165afa801561065d575f906109d5575b602090604051908152f35b506020813d602011610a00575b816109ef60209383610c5e565b8101031261066857602090516109ca565b3d91506109e2565b34610668575f366003190112610668576040517f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad736001600160a01b03168152602090f35b34610668575f366003190112610668576020610152610cb5565b34610668575f36600319011261066857610a7e610d8b565b6001548015610935576020905f600155610a9a81600454610c94565b6004557f000000000000000000000000113dea972d96076a0b521411a4fc3fd1216660a8610ac782610db6565b610afb82827f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad736001600160a01b0316610ff7565b610b03611086565b6040518281526001600160a01b039091169033907f616fabaea8d0ae75f05cb4b3ef0b33a2a9899c9799693afa42f95307f75c0b13908590a360015f55604051908152f35b34610668575f366003190112610668576040517f000000000000000000000000113dea972d96076a0b521411a4fc3fd1216660a86001600160a01b03168152602090f35b34610668575f366003190112610668576370a0823160e01b81523060048201526020816024817f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad736001600160a01b03165afa90811561065d575f91610c00575b602061015283610bfa610cb5565b90610c94565b90506020813d602011610c2c575b81610c1b60209383610c5e565b810103126106685751610152610bec565b3d9150610c0e565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b90601f8019910116810190811067ffffffffffffffff821117610c8057604052565b634e487b7160e01b5f52604160045260245ffd5b91908201809211610ca157565b634e487b7160e01b5f52601160045260245ffd5b604051627eeac760e11b81523060048201527f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad736001600160a01b03166024820152602081806044810103817f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e409516001600160a01b03165afa90811561065d575f91610d3d575090565b90506020813d602011610d64575b81610d5860209383610c5e565b81010312610668575190565b3d9150610d4b565b9081602091031261066857516001600160a01b03811681036106685790565b60025f5414610d9a5760025f55565b633ee5aeb560e01b5f5260045ffd5b91908203918211610ca157565b60065461066c576040516370a0823160e01b81523060048201527f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad736001600160a01b031690602081602481855afa90811561065d575f91610fc5575b5082600655610e4d5f60405185602082015260208152610e33604082610c5e565b604051809381926348c8949160e01b835260048301610c34565b0381837f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e409516001600160a01b03165af190811561065d575f91610f3b575b506006541590811591610f1c575b5061066c576020602492604051938480926370a0823160e01b82523060048301525afa801561065d575f90610ee8575b610ed29250610da9565b03610ed957565b63700a856d60e11b5f5260045ffd5b506020823d602011610f14575b81610f0260209383610c5e565b8101031261066857610ed29151610ec8565b3d9150610ef5565b805160208083019350908201919091031261066857518314155f610e98565b90503d805f833e610f4c8183610c5e565b8101906020818303126106685780519067ffffffffffffffff8211610668570181601f820112156106685780519067ffffffffffffffff8211610c805760405192610fa1601f8401601f191660200185610c5e565b8284526020838301011161066857815f9260208093018386015e830101525f610e8a565b90506020813d602011610fef575b81610fe060209383610c5e565b8101031261066857515f610e12565b3d9150610fd3565b60405163a9059cbb60e01b60208083019182526001600160a01b0394909416602483015260448083019590955293815290925f91611036606482610c5e565b519082855af11561065d575f513d61107d57506001600160a01b0381163b155b61105d5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b60011415611056565b61108e610cb5565b61109d60015460025490610c94565b116110a457565b631f84400760e31b5f5260045ffdfea2646970667358221220238708a0511832581d16f2faa89bedda455b0728c0a53020197f3f5a742b507764736f6c634300081a0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x4dd0f6…e6da85 | 31 days agoFri, 17 Jul 2026 12:49:02 UTC | 0xc396d6…2e31 | [0] 0x000000000000…3976ca11 [1] 0x000000000000…b386e587 data: 0x000000000000000000…7cf0adff |
| 0xbdf000…b09a24 | 34 days agoTue, 14 Jul 2026 17:01:29 UTC | 0x616fab…0b13 | [0] 0x000000000000…216660a8 [1] 0x000000000000…216660a8 data: 0x000000000000000000…9a73e800 |
| 0xeea174…32f1ad | 34 days agoTue, 14 Jul 2026 16:04:42 UTC | 0x1ca606…ccfb | data: 0x000000000000000000…9a73e800 |
| 0x3ae77f…78e3e7 | 34 days agoTue, 14 Jul 2026 15:55:26 UTC | 0x616fab…0b13 | [0] 0x000000000000…216660a8 [1] 0x000000000000…216660a8 data: 0x000000000000000000…e27cc5fd |
| 0x64475c…88d309 | 34 days agoTue, 14 Jul 2026 15:14:21 UTC | 0x1ca606…ccfb | data: 0x000000000000000000…4a5c7000 |
| 0x91c82c…1994b2 | 34 days agoTue, 14 Jul 2026 15:13:55 UTC | 0x1ca606…ccfb | data: 0x000000000000000000…5653e000 |
| 0x249afa…6c585c | 34 days agoTue, 14 Jul 2026 15:11:07 UTC | 0x1ca606…ccfb | data: 0x000000000000000000…6798d48c |
| 0x44ce4b…c64234 | 34 days agoTue, 14 Jul 2026 15:08:31 UTC | 0x1ca606…ccfb | data: 0x000000000000000000…9e606cb3 |
| 0xc3d05e…852d84 | 34 days agoTue, 14 Jul 2026 15:08:31 UTC | 0x1ca606…ccfb | data: 0x000000000000000000…25813a6a |
| 0x130d10…ea3d65 | 34 days agoTue, 14 Jul 2026 14:56:29 UTC | 0x1ca606…ccfb | data: 0x000000000000000000…fbda9400 |
| 0x394c9a…0909fa | 34 days agoTue, 14 Jul 2026 14:56:20 UTC | 0x1ca606…ccfb | data: 0x000000000000000000…36266451 |
| 0xc0ba9e…4574cd | 34 days agoTue, 14 Jul 2026 14:55:28 UTC | 0x1ca606…ccfb | data: 0x000000000000000000…b37f9000 |
| 0xfeb562…c4ef81 | 34 days agoTue, 14 Jul 2026 14:55:28 UTC | 0x1ca606…ccfb | data: 0x000000000000000000…b37f9000 |
| 0x7da8ac…2fda02 | 34 days agoTue, 14 Jul 2026 14:55:12 UTC | 0x1ca606…ccfb | data: 0x000000000000000000…70eea205 |
| 0xb5686d…e15ede | 34 days agoTue, 14 Jul 2026 14:54:01 UTC | 0x1ca606…ccfb | data: 0x000000000000000000…5653e000 |
| 0xf633e8…ae47a8 | 34 days agoTue, 14 Jul 2026 14:52:47 UTC | 0x1ca606…ccfb | data: 0x000000000000000000…133b1000 |
| 0xf23630…bfeabb | 34 days agoTue, 14 Jul 2026 14:52:45 UTC | 0x1ca606…ccfb | data: 0x000000000000000000…77aa6000 |
| 0x4ce58a…2b6265 | 34 days agoTue, 14 Jul 2026 14:52:37 UTC | 0x1ca606…ccfb | data: 0x000000000000000000…2b29f000 |
| 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 | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xbdf000…b09a24 | claimCreator | 9,693,226 | 34 days agoTue, 14 Jul 2026 17:01:29 UTC | 0x113d…60a8 | IN | CreatorFeeShare | $0.000 ETH | 0.00000540 | |
| 0x3ae77f…78e3e7 | claimCreator | 9,653,529 | 34 days agoTue, 14 Jul 2026 15:55:26 UTC | 0x113d…60a8 | IN | CreatorFeeShare | $0.000 ETH | 0.00000740 |
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x4dd0f63c…e6da85 | Transfer | 12,131,535 | 31 days agoFri, 17 Jul 2026 12:49:02 UTC | 0xb1c7…a05b | OUT | 0x981d…e587 | 0.007776 WETH | WETH (WETH) | |
| 0x4dd0f63c…e6da85 | Transfer | 12,131,535 | 31 days agoFri, 17 Jul 2026 12:49:02 UTC | 0x8366…0951 | IN | 0xb1c7…a05b | 0.007776 WETH | WETH (WETH) | |
| 0xbdf00034…b09a24 | Transfer | 9,693,226 | 34 days agoTue, 14 Jul 2026 17:01:29 UTC | 0xb1c7…a05b | OUT | 0x113d…60a8 | 0.000679 WETH | WETH (WETH) | |
| 0xbdf00034…b09a24 | Transfer | 9,693,226 | 34 days agoTue, 14 Jul 2026 17:01:29 UTC | 0x8366…0951 | IN | 0xb1c7…a05b | 0.000679 WETH | WETH (WETH) | |
| 0x3ae77fdc…78e3e7 | Transfer | 9,653,529 | 34 days agoTue, 14 Jul 2026 15:55:26 UTC | 0xb1c7…a05b | OUT | 0x113d…60a8 | 0.007096 WETH | WETH (WETH) | |
| 0x3ae77fdc…78e3e7 | Transfer | 9,653,529 | 34 days agoTue, 14 Jul 2026 15:55:26 UTC | 0x8366…0951 | IN | 0xb1c7…a05b | 0.007096 WETH | WETH (WETH) |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 9,614,800 | 34 days agoTue, 14 Jul 2026 14:50:50 UTC | 0xfa9d3c…c083fc | CREATE | createToken | 0x519f…273e | IN | 0xb1c7…a05b | 0 ETH |