// SPDX-License-Identifier: MIT
pragma solidity 0.8.35;
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/token/ERC721/IERC721.sol";
import "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
import "./PCATCompanionNFT.sol";
import "./PCATNFTStaking.sol";
import "./PCATRewardsPool.sol";
import "./PCATRewardsController.sol";
contract PCAT is ERC20, Ownable {
bytes32 public constant launchFingerprint = 0x445621e73fb2858abb1dc73df5baca6b5161ab761ab7427257d32ddfd97ac67c;
error AlreadyInitialized();
error EmptyTokenName();
error EmptyTokenSymbol();
error InvalidOwner();
error ZeroTokenSupply();
error InvalidFunding();
error UnauthorizedController();
error UnauthorizedInitializer();
error InvalidFundingRoute();
PCATCompanionNFT public immutable nftCollection;
PCATNFTStaking public immutable nftStaking;
PCATRewardsPool public immutable rewardsPool;
PCATRewardsController public immutable rewardsController;
address public immutable launcher;
bool public rewardsInitialized;
uint256 private pendingInitialRewardsFunding;
uint256 private pendingRewardRatePerNftPerSecond;
uint64 private pendingRewardDuration;
uint64 private pendingRewardEpochDuration;
constructor(
string memory name_,
string memory symbol_,
uint256 totalSupply_,
address graphOwner_,
string memory nftName_,
string memory nftSymbol_,
string memory nftBaseURI_,
PCATCompanionNFT.MintPolicy mintPolicy_,
uint256 mintPrice_,
uint256 maxNftSupply_,
uint256 maxNftPerWallet_,
uint256 initialRewardsFunding_,
uint256 rewardRatePerNftPerSecond_,
uint64 rewardDuration_,
uint64 rewardEpochDuration_
) ERC20(name_, symbol_) Ownable(graphOwner_) {
if (bytes(name_).length == 0) revert EmptyTokenName();
if (bytes(symbol_).length == 0) revert EmptyTokenSymbol();
if (graphOwner_ == address(0)) revert InvalidOwner();
if (totalSupply_ == 0) revert ZeroTokenSupply();
if (initialRewardsFunding_ == 0 || initialRewardsFunding_ > totalSupply_) revert InvalidFunding();
launcher = msg.sender;
pendingInitialRewardsFunding = initialRewardsFunding_;
pendingRewardRatePerNftPerSecond = rewardRatePerNftPerSecond_;
pendingRewardDuration = rewardDuration_;
pendingRewardEpochDuration = rewardEpochDuration_;
_mint(msg.sender, totalSupply_);
address paymentToken = mintPolicy_ == PCATCompanionNFT.MintPolicy.PublicProjectToken
? address(this)
: address(0);
nftCollection = new PCATCompanionNFT(
nftName_,
nftSymbol_,
graphOwner_,
paymentToken,
mintPolicy_,
mintPrice_,
maxNftSupply_,
maxNftPerWallet_,
nftBaseURI_
);
rewardsPool = new PCATRewardsPool(address(this), address(this));
nftStaking = new PCATNFTStaking(
address(nftCollection),
address(rewardsPool),
address(this)
);
rewardsController = new PCATRewardsController(
address(this),
address(nftCollection),
address(nftStaking),
address(rewardsPool),
address(this),
graphOwner_
);
rewardsPool.initializeRoles(address(rewardsController), address(nftStaking));
nftStaking.initializeController(address(rewardsController));
_transfer(msg.sender, address(rewardsPool), initialRewardsFunding_);
// The pool verifies funding with rewardToken.balanceOf. The root token
// runtime is not installed until this constructor returns.
}
function initializeAfterDeployment() external {
if (msg.sender != launcher) revert UnauthorizedInitializer();
if (rewardsInitialized) revert AlreadyInitialized();
rewardsInitialized = true;
rewardsController.initializeSchedule(
pendingInitialRewardsFunding,
pendingRewardRatePerNftPerSecond,
pendingRewardDuration,
pendingRewardEpochDuration
);
}
function transferRewardsFromOwner(
address owner_,
address recipient,
uint256 amount
) external {
if (msg.sender != address(rewardsController)) revert UnauthorizedController();
if (owner_ != owner() || recipient != address(rewardsPool)) revert InvalidFundingRoute();
_transfer(owner_, recipient, amount);
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "totalSupply_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "graphOwner_",
"type": "address",
"internalType": "address"
},
{
"name": "nftName_",
"type": "string",
"internalType": "string"
},
{
"name": "nftSymbol_",
"type": "string",
"internalType": "string"
},
{
"name": "nftBaseURI_",
"type": "string",
"internalType": "string"
},
{
"name": "mintPolicy_",
"type": "uint8",
"internalType": "enum PCATCompanionNFT.MintPolicy"
},
{
"name": "mintPrice_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "maxNftSupply_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "maxNftPerWallet_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "initialRewardsFunding_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "rewardRatePerNftPerSecond_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "rewardDuration_",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "rewardEpochDuration_",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "nonpayable"
},
{
"name": "AlreadyInitialized",
"type": "error",
"inputs": []
},
{
"name": "ERC20InsufficientAllowance",
"type": "error",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "allowance",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "needed",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC20InsufficientBalance",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
},
{
"name": "balance",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "needed",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC20InvalidApprover",
"type": "error",
"inputs": [
{
"name": "approver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidReceiver",
"type": "error",
"inputs": [
{
"name": "receiver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidSender",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidSpender",
"type": "error",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "EmptyTokenName",
"type": "error",
"inputs": []
},
{
"name": "EmptyTokenSymbol",
"type": "error",
"inputs": []
},
{
"name": "InvalidFunding",
"type": "error",
"inputs": []
},
{
"name": "InvalidFundingRoute",
"type": "error",
"inputs": []
},
{
"name": "InvalidOwner",
"type": "error",
"inputs": []
},
{
"name": "OwnableInvalidOwner",
"type": "error",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "OwnableUnauthorizedAccount",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "UnauthorizedController",
"type": "error",
"inputs": []
},
{
"name": "UnauthorizedInitializer",
"type": "error",
"inputs": []
},
{
"name": "ZeroTokenSupply",
"type": "error",
"inputs": []
},
{
"name": "Approval",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "OwnershipTransferred",
"type": "event",
"inputs": [
{
"name": "previousOwner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "Transfer",
"type": "event",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "allowance",
"type": "function",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "approve",
"type": "function",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "balanceOf",
"type": "function",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "decimals",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "view"
},
{
"name": "initializeAfterDeployment",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "launchFingerprint",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "launcher",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "nftCollection",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract PCATCompanionNFT"
}
],
"stateMutability": "view"
},
{
"name": "nftStaking",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract PCATNFTStaking"
}
],
"stateMutability": "view"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "renounceOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "rewardsController",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract PCATRewardsController"
}
],
"stateMutability": "view"
},
{
"name": "rewardsInitialized",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "rewardsPool",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract PCATRewardsPool"
}
],
"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": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "transferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "newOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "transferRewardsFromOwner",
"type": "function",
"inputs": [
{
"name": "owner_",
"type": "address",
"internalType": "address"
},
{
"name": "recipient",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
}
]0x6080806040526004361015610012575f80fd5b5f905f3560e01c9081630359fea9146109b557508063048345e51461089457806306fdde03146107d7578063095ea7b31461072c57806316eebd1e146106e757806318160ddd146106c957806323b872dd146105fb5780632aedc7b7146105c0578063313ce567146105a45780636588103b1461055f5780636bb65f531461051a5780636bd8f493146104f457806370a08231146104bc578063715018a61461045f5780638da5cb5b1461043657806395d89b411461032d578063a9059cbb146102fb578063a94283c914610239578063c4408c8a146101f4578063dd62ed3e146101905763f2fde38b14610105575f80fd5b3461018d57602036600319011261018d5761011e610a20565b610126610b63565b6001600160a01b0316801561017957600580546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b631e4fbdf760e01b82526004829052602482fd5b80fd5b503461018d57604036600319011261018d576101aa610a20565b60243591906001600160a01b03831683036101f0579060409160018060a01b031681526001602052209060018060a01b03165f52602052602060405f2054604051908152f35b5080fd5b503461018d578060031936011261018d576040517f0000000000000000000000001db06e580585f5523e9cd1831cc4e6960d96e9266001600160a01b03168152602090f35b503461018d5761024836610a36565b919291907f0000000000000000000000009627bf435b8ce42b57a07dc15734aa83919e6b1a6001600160a01b031633036102ec576005546001600160a01b038581169116148015906102b5575b6102a6576102a39293610aa6565b80f35b637698fb9b60e11b8352600483fd5b506001600160a01b038181167f000000000000000000000000e889e9a3f811214409624508b1506c3f3be1f06b9091161415610295565b632b06fb3960e21b8352600483fd5b503461018d57604036600319011261018d57610322610318610a20565b6024359033610aa6565b602060405160018152f35b503461018d578060031936011261018d576040519080600454908160011c9160018116801561042c575b602084108114610418578386529081156103f15750600114610394575b6103908461038481860382610a70565b604051918291826109f6565b0390f35b600481527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b8082106103d75750909150810160200161038482610374565b9192600181602092548385880101520191019092916103be565b60ff191660208087019190915292151560051b850190920192506103849150839050610374565b634e487b7160e01b83526022600452602483fd5b92607f1692610357565b503461018d578060031936011261018d576005546040516001600160a01b039091168152602090f35b503461018d578060031936011261018d57610478610b63565b600580546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461018d57602036600319011261018d576020906040906001600160a01b036104e4610a20565b1681528083522054604051908152f35b503461018d578060031936011261018d57602060ff60055460a01c166040519015158152f35b503461018d578060031936011261018d576040517f0000000000000000000000009627bf435b8ce42b57a07dc15734aa83919e6b1a6001600160a01b03168152602090f35b503461018d578060031936011261018d576040517f0000000000000000000000003f04063203e34aa5277ec44b4c49b07b641668596001600160a01b03168152602090f35b503461018d578060031936011261018d57602060405160128152f35b503461018d578060031936011261018d5760206040517f445621e73fb2858abb1dc73df5baca6b5161ab761ab7427257d32ddfd97ac67c8152f35b503461018d5761060a36610a36565b6001600160a01b038316808552600160209081526040808720335f9081529252902054919391905f198210610646575b50506103229350610aa6565b8482106106ae57801561069a5733156106865785604091610322975260016020522060018060a01b0333165f526020528360405f20910390555f8061063a565b634a1406b160e11b86526004869052602486fd5b63e602df0560e01b86526004869052602486fd5b6064868684637dc7a0d960e11b835233600452602452604452fd5b503461018d578060031936011261018d576020600254604051908152f35b503461018d578060031936011261018d576040517f000000000000000000000000766170d1fdc1966df15d07a3030eac090263c20c6001600160a01b03168152602090f35b503461018d57604036600319011261018d57610746610a20565b6024359033156107c3576001600160a01b03169182156107af57604090338152600160205220825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b634a1406b160e11b81526004819052602490fd5b63e602df0560e01b83526004839052602483fd5b503461018d578060031936011261018d576040519080600354908160011c9160018116801561088a575b602084108114610418578386529081156103f1575060011461082d576103908461038481860382610a70565b600381527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b8082106108705750909150810160200161038482610374565b919260018160209254838588010152019101909291610857565b92607f1692610801565b5034610994575f366003190112610994577f000000000000000000000000766170d1fdc1966df15d07a3030eac090263c20c6001600160a01b031633036109a65760055460ff8160a01c166109985760ff60a01b1916600160a01b1760055560065460075460085491907f0000000000000000000000009627bf435b8ce42b57a07dc15734aa83919e6b1a6001600160a01b0316803b15610994575f928360849267ffffffffffffffff604051978896879563270779ed60e21b875260048701526024860152818116604486015260401c1660648401525af180156109895761097b575080f35b61098791505f90610a70565b005b6040513d5f823e3d90fd5b5f80fd5b62dc149f60e41b5f5260045ffd5b630d622feb60e01b5f5260045ffd5b34610994575f366003190112610994577f000000000000000000000000e889e9a3f811214409624508b1506c3f3be1f06b6001600160a01b03168152602090f35b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361099457565b6060906003190112610994576004356001600160a01b038116810361099457906024356001600160a01b0381168103610994579060443590565b90601f8019910116810190811067ffffffffffffffff821117610a9257604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0316908115610b50576001600160a01b0316918215610b3d57815f525f60205260405f2054818110610b2457817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b63ec442f0560e01b5f525f60045260245ffd5b634b637e8f60e11b5f525f60045260245ffd5b6005546001600160a01b03163303610b7757565b63118cdaa760e01b5f523360045260245ffdfea2646970667358221220520fb9216e3184d3cc9054c3cc81e8ac10f4fa1ef73f73e5012f3f14851d164a64736f6c63430008230033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xe40901…24f2cb | 22 days agoSun, 26 Jul 2026 13:24:51 UTC | Transfer | [0] 0x000000000000…638de0d3 [1] 0x000000000000…58d0fde0 data: 0x000000000000000000…1ffd5f6a |
| 0xe40901…24f2cb | 22 days agoSun, 26 Jul 2026 13:24:51 UTC | Transfer | [0] 0x000000000000…857064f1 [1] 0x000000000000…638de0d3 data: 0x000000000000000000…e7fffe7e |
| 0xe40901…24f2cb | 22 days agoSun, 26 Jul 2026 13:24:51 UTC | Transfer | [0] 0x000000000000…857064f1 [1] 0x000000000000…638de0d3 data: 0x000000000000000000…57ffe691 |
| 0xe40901…24f2cb | 22 days agoSun, 26 Jul 2026 13:24:51 UTC | Transfer | [0] 0x000000000000…857064f1 [1] 0x000000000000…638de0d3 data: 0x000000000000000000…4fffb53e |
| 0xe40901…24f2cb | 22 days agoSun, 26 Jul 2026 13:24:51 UTC | Transfer | [0] 0x000000000000…857064f1 [1] 0x000000000000…638de0d3 data: 0x000000000000000000…4fff0824 |
| 0xe40901…24f2cb | 22 days agoSun, 26 Jul 2026 13:24:51 UTC | Transfer | [0] 0x000000000000…857064f1 [1] 0x000000000000…638de0d3 data: 0x000000000000000000…3ffebcf9 |
| 0x04fad2…3ad15f | 22 days agoSun, 26 Jul 2026 13:24:47 UTC | Transfer | [0] 0x000000000000…638de0d3 [1] 0x000000000000…58d0fde0 data: 0x000000000000000000…32b8ab3c |
| 0x04fad2…3ad15f | 22 days agoSun, 26 Jul 2026 13:24:47 UTC | Transfer | [0] 0x000000000000…857064f1 [1] 0x000000000000…638de0d3 data: 0x000000000000000000…dbb2a37b |
| 0x04fad2…3ad15f | 22 days agoSun, 26 Jul 2026 13:24:47 UTC | Transfer | [0] 0x000000000000…857064f1 [1] 0x000000000000…638de0d3 data: 0x000000000000000000…570607c1 |
| 0x4cc197…ea3c09 | 22 days agoSun, 26 Jul 2026 13:24:13 UTC | Transfer | [0] 0x000000000000…58d0fde0 [1] 0x000000000000…857064f1 data: 0x000000000000000000…659d23da |
| 0xb7c06f…afcfdc | 22 days agoSun, 26 Jul 2026 13:24:13 UTC | Approval | [0] 0x000000000000…fadd6f05 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…ffffffff |
| 0x8d1805…40e2f0 | 22 days agoSun, 26 Jul 2026 13:24:13 UTC | Approval | [0] 0x000000000000…58d0fde0 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…ffffffff |
| 0x09824e…b2ba91 | 22 days agoSun, 26 Jul 2026 13:24:13 UTC | Approval | [0] 0x000000000000…6e1b6bb9 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…ffffffff |
| 0x192dc9…7fd337 | 22 days agoSun, 26 Jul 2026 13:24:12 UTC | Transfer | [0] 0x000000000000…f9eefd6e [1] 0x000000000000…857064f1 data: 0x000000000000000000…b28e4566 |
| 0x8e1618…aca60e | 22 days agoSun, 26 Jul 2026 13:24:12 UTC | Transfer | [0] 0x000000000000…d7b00412 [1] 0x000000000000…857064f1 data: 0x000000000000000000…43c5ddc8 |
| 0xe108cc…df3e46 | 22 days agoSun, 26 Jul 2026 13:24:12 UTC | Transfer | [0] 0x000000000000…0f4ee532 [1] 0x000000000000…857064f1 data: 0x000000000000000000…c3903093 |
| 0x3aacf1…9e4e90 | 22 days agoSun, 26 Jul 2026 13:24:12 UTC | Approval | [0] 0x000000000000…f9eefd6e [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…ffffffff |
| 0xba1680…0acc99 | 22 days agoSun, 26 Jul 2026 13:24:12 UTC | Approval | [0] 0x000000000000…d7b00412 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…ffffffff |
| 0x3d9858…cdd2d7 | 22 days agoSun, 26 Jul 2026 13:24:12 UTC | Approval | [0] 0x000000000000…0f4ee532 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…ffffffff |
| 0xd277b5…4bb0d2 | 22 days agoSun, 26 Jul 2026 13:23:42 UTC | Transfer | [0] 0x000000000000…4ebfae40 [1] 0x000000000000…857064f1 data: 0x000000000000000000…b79bcbb5 |
| 0x9d57f8…641d98 | 22 days agoSun, 26 Jul 2026 13:23:42 UTC | Approval | [0] 0x000000000000…4ebfae40 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…ffffffff |
| 0x7c908f…1cf9a0 | 22 days agoSun, 26 Jul 2026 13:23:41 UTC | Transfer | [0] 0x000000000000…b1c2af68 [1] 0x000000000000…857064f1 data: 0x000000000000000000…31b40333 |
| 0xaef18b…69719e | 22 days agoSun, 26 Jul 2026 13:23:41 UTC | Approval | [0] 0x000000000000…b1c2af68 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…ffffffff |
| 0x01166c…416012 | 22 days agoSun, 26 Jul 2026 13:23:40 UTC | Transfer | [0] 0x000000000000…c5ce8ac2 [1] 0x000000000000…857064f1 data: 0x000000000000000000…274d3b7b |
| 0xf7c631…a424c4 | 22 days agoSun, 26 Jul 2026 13:23:40 UTC | Approval | [0] 0x000000000000…c5ce8ac2 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…ffffffff |
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| 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 ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x8d1805…40e2f0 | Approve | 19,904,030 | 22 days agoSun, 26 Jul 2026 13:24:13 UTC | 0x8d05…fde0 | IN | Pump Cat | $0.000 ETH | 0.00000242 | |
| 0x09824e…b2ba91 | Approve | 19,904,030 | 22 days agoSun, 26 Jul 2026 13:24:13 UTC | 0xf6b0…6bb9 | IN | Pump Cat | $0.000 ETH | 0.00000242 | |
| 0xb7c06f…afcfdc | Approve | 19,904,030 | 22 days agoSun, 26 Jul 2026 13:24:13 UTC | 0xd217…6f05 | IN | Pump Cat | $0.000 ETH | 0.00000242 | |
| 0x3aacf1…9e4e90 | Approve | 19,904,021 | 22 days agoSun, 26 Jul 2026 13:24:12 UTC | 0xd1d0…fd6e | IN | Pump Cat | $0.000 ETH | 0.00000242 | |
| 0x3d9858…cdd2d7 | Approve | 19,904,020 | 22 days agoSun, 26 Jul 2026 13:24:12 UTC | 0x578a…e532 | IN | Pump Cat | $0.000 ETH | 0.00000242 | |
| 0xba1680…0acc99 | Approve | 19,904,020 | 22 days agoSun, 26 Jul 2026 13:24:12 UTC | 0xadd7…0412 | IN | Pump Cat | $0.000 ETH | 0.00000242 | |
| 0x9d57f8…641d98 | Approve | 19,903,708 | 22 days agoSun, 26 Jul 2026 13:23:42 UTC | 0x777f…ae40 | IN | Pump Cat | $0.000 ETH | 0.00000242 | |
| 0xaef18b…69719e | Approve | 19,903,700 | 22 days agoSun, 26 Jul 2026 13:23:41 UTC | 0x5e65…af68 | IN | Pump Cat | $0.000 ETH | 0.00000242 | |
| 0xf7c631…a424c4 | Approve | 19,903,692 | 22 days agoSun, 26 Jul 2026 13:23:40 UTC | 0x6184…8ac2 | IN | Pump Cat | $0.000 ETH | 0.00000243 | |
| 0x296442…43c913 | Approve | 19,903,682 | 22 days agoSun, 26 Jul 2026 13:23:39 UTC | 0xe36c…d652 | IN | Pump Cat | $0.000 ETH | 0.00000245 | |
| 0x28e452…2904d3 | Approve | 19,903,672 | 22 days agoSun, 26 Jul 2026 13:23:38 UTC | 0xafaa…7132 | IN | Pump Cat | $0.000 ETH | 0.00000244 | |
| 0xf33e08…7a31d0 | Approve | 19,903,591 | 22 days agoSun, 26 Jul 2026 13:23:30 UTC | 0x28e9…c5ae | IN | Pump Cat | $0.000 ETH | 0.00000243 | |
| 0x035cee…47470e | Approve | 19,903,578 | 22 days agoSun, 26 Jul 2026 13:23:29 UTC | 0x9b19…832c | IN | Pump Cat | $0.000 ETH | 0.00000242 | |
| 0x1586c3…c069ca | Approve | 19,903,575 | 22 days agoSun, 26 Jul 2026 13:23:28 UTC | 0x4b46…79a6 | IN | Pump Cat | $0.000 ETH | 0.00000245 | |
| 0xb045aa…85497a | Approve | 19,903,566 | 22 days agoSun, 26 Jul 2026 13:23:28 UTC | 0x4348…8547 | IN | Pump Cat | $0.000 ETH | 0.00000244 | |
| 0xa1a84b…ebb8a8 | Approve | 19,903,561 | 22 days agoSun, 26 Jul 2026 13:23:27 UTC | 0x1b3f…9824 | IN | Pump Cat | $0.000 ETH | 0.00000243 | |
| 0xc105f4…3c68a2 | Approve | 19,903,539 | 22 days agoSun, 26 Jul 2026 13:23:25 UTC | 0xb313…fd0a | IN | Pump Cat | $0.000 ETH | 0.00000242 | |
| 0xee782f…5cbf9e | Approve | 19,903,537 | 22 days agoSun, 26 Jul 2026 13:23:25 UTC | 0x49b3…5ddd | IN | Pump Cat | $0.000 ETH | 0.00000242 | |
| 0x066c8a…f7963d | Approve | 19,903,532 | 22 days agoSun, 26 Jul 2026 13:23:24 UTC | 0xc9f8…a474 | IN | Pump Cat | $0.000 ETH | 0.00000243 | |
| 0xd3f900…d49514 | Approve | 19,903,523 | 22 days agoSun, 26 Jul 2026 13:23:23 UTC | 0x862a…8c39 | IN | Pump Cat | $0.000 ETH | 0.00000246 | |
| 0x9b76c7…58d2ed | Approve | 19,903,511 | 22 days agoSun, 26 Jul 2026 13:23:22 UTC | 0x0a57…63e5 | IN | Pump Cat | $0.000 ETH | 0.00000243 | |
| 0x9c223c…3de773 | Approve | 19,903,496 | 22 days agoSun, 26 Jul 2026 13:23:21 UTC | 0x1d19…a8fa | IN | Pump Cat | $0.000 ETH | 0.00000248 | |
| 0x1eff60…912657 | Approve | 19,903,480 | 22 days agoSun, 26 Jul 2026 13:23:19 UTC | 0xad3a…529a | IN | Pump Cat | $0.000 ETH | 0.00000243 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 19,903,323 | 22 days agoSun, 26 Jul 2026 13:23:03 UTC | 0x5978d2…a44b08 | CREATE | launch | 0x057c…7841 | OUT | 0x9627…6b1a | 0 ETH |
| 19,903,323 | 22 days agoSun, 26 Jul 2026 13:23:03 UTC | 0x5978d2…a44b08 | CREATE | launch | 0x057c…7841 | OUT | 0x1db0…e926 | 0 ETH |
| 19,903,323 | 22 days agoSun, 26 Jul 2026 13:23:03 UTC | 0x5978d2…a44b08 | CREATE | launch | 0x057c…7841 | OUT | 0xe889…f06b | 0 ETH |
| 19,903,323 | 22 days agoSun, 26 Jul 2026 13:23:03 UTC | 0x5978d2…a44b08 | CREATE | launch | 0x057c…7841 | OUT | 0x3f04…6859 | 0 ETH |
| 19,903,323 | 22 days agoSun, 26 Jul 2026 13:23:03 UTC | 0x5978d2…a44b08 | CREATE2 | launch | 0x7661…c20c | IN | 0x057c…7841 | 0 ETH |