ETH Price: $2,612.63 (-1.52%)

Contract

0x428dca9537116148616a5A3E44035Af17238Fe9d
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Approve208616802024-09-30 6:29:474 hrs ago1727677787IN
OxAI: OXAI Token
0 ETH0.00015666.46367466
Transfer207948652024-09-20 22:44:359 days ago1726872275IN
OxAI: OXAI Token
0 ETH0.0006857914.74121771
Approve206987842024-09-07 12:40:3522 days ago1725712835IN
OxAI: OXAI Token
0 ETH0.000187134.02333709
Approve206081082024-08-25 20:51:4735 days ago1724619107IN
OxAI: OXAI Token
0 ETH0.000024711.02261857
Transfer205259582024-08-14 9:24:5947 days ago1723627499IN
OxAI: OXAI Token
0 ETH0.000206214.43374376
Approve204889302024-08-09 5:24:1152 days ago1723181051IN
OxAI: OXAI Token
0 ETH0.000048752.01725309
Approve204504262024-08-03 20:32:2357 days ago1722717143IN
OxAI: OXAI Token
0 ETH0.000133952.89563424
Transfer203439142024-07-19 23:38:1172 days ago1721432291IN
OxAI: OXAI Token
0 ETH0.000096323.61833673
Approve200887712024-06-14 8:12:11108 days ago1718352731IN
OxAI: OXAI Token
0 ETH0.0002731611.30255528
Transfer199811692024-05-30 7:27:23123 days ago1717054043IN
OxAI: OXAI Token
0 ETH0.000438218.54458219
Transfer198538292024-05-12 12:05:59140 days ago1715515559IN
OxAI: OXAI Token
0 ETH0.00016333.5128955
Transfer197448182024-04-27 6:14:35156 days ago1714198475IN
OxAI: OXAI Token
0 ETH0.000258715.56112456
Approve196568672024-04-14 22:51:59168 days ago1713135119IN
OxAI: OXAI Token
0 ETH0.000240299.91793597
Approve196371372024-04-12 4:27:35171 days ago1712896055IN
OxAI: OXAI Token
0 ETH0.000450159.73100386
Transfer195861922024-04-05 1:12:59178 days ago1712279579IN
OxAI: OXAI Token
0 ETH0.0006123213.16206681
Transfer195714992024-04-02 23:53:35180 days ago1712102015IN
OxAI: OXAI Token
0 ETH0.0009438720.28883017
Permit195250102024-03-27 10:15:59187 days ago1711534559IN
OxAI: OXAI Token
0 ETH0.0012053322.16919429
Transfer195225182024-03-27 1:44:47187 days ago1711503887IN
OxAI: OXAI Token
0 ETH0.0010583222.74900147
Approve194971272024-03-23 11:53:35190 days ago1711194815IN
OxAI: OXAI Token
0 ETH0.0009781321.14427283
Approve194905372024-03-22 13:43:35191 days ago1711115015IN
OxAI: OXAI Token
0 ETH0.0006694127.69835849
Transfer194726622024-03-20 1:31:35194 days ago1710898295IN
OxAI: OXAI Token
0 ETH0.0014353930.86215182
Transfer194275662024-03-13 17:15:23200 days ago1710350123IN
OxAI: OXAI Token
0 ETH0.0029747863.94363678
Transfer193937192024-03-08 23:38:35205 days ago1709941115IN
OxAI: OXAI Token
0 ETH0.001305649.04238949
Approve193081682024-02-26 0:27:59217 days ago1708907279IN
OxAI: OXAI Token
0 ETH0.0013744829.55113404
Approve192902562024-02-23 12:21:23219 days ago1708690883IN
OxAI: OXAI Token
0 ETH0.0016844836.26301765
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
165906902023-02-09 10:46:11599 days ago1675939571
OxAI: OXAI Token
0.0020794 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OXAI

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 2 : OXAI.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;

import "solmate/tokens/ERC20.sol";

contract OXAI is ERC20 {
    address public minter;

    error NotMinter();

    constructor() ERC20("OxAI", "OXAI", 18) {
        minter = msg.sender;
    }

    function mint(address to, uint256 amount) external {
        if (msg.sender != minter) {
            revert NotMinter();
        }
        _mint(to, amount);
    }

    function transferMinter(address _newMinter) external {
        if (msg.sender != minter) {
            revert NotMinter();
        }
        minter = _newMinter;
    }
}

File 2 of 2 : ERC20.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)
/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.
abstract contract ERC20 {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 amount);

    event Approval(address indexed owner, address indexed spender, uint256 amount);

    /*//////////////////////////////////////////////////////////////
                            METADATA STORAGE
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    uint8 public immutable decimals;

    /*//////////////////////////////////////////////////////////////
                              ERC20 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 public totalSupply;

    mapping(address => uint256) public balanceOf;

    mapping(address => mapping(address => uint256)) public allowance;

    /*//////////////////////////////////////////////////////////////
                            EIP-2612 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 internal immutable INITIAL_CHAIN_ID;

    bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;

    mapping(address => uint256) public nonces;

    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;

        INITIAL_CHAIN_ID = block.chainid;
        INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();
    }

    /*//////////////////////////////////////////////////////////////
                               ERC20 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        allowance[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);

        return true;
    }

    function transfer(address to, uint256 amount) public virtual returns (bool) {
        balanceOf[msg.sender] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(msg.sender, to, amount);

        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.

        if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount;

        balanceOf[from] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(from, to, amount);

        return true;
    }

    /*//////////////////////////////////////////////////////////////
                             EIP-2612 LOGIC
    //////////////////////////////////////////////////////////////*/

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) public virtual {
        require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED");

        // Unchecked because the only math done is incrementing
        // the owner's nonce which cannot realistically overflow.
        unchecked {
            address recoveredAddress = ecrecover(
                keccak256(
                    abi.encodePacked(
                        "\x19\x01",
                        DOMAIN_SEPARATOR(),
                        keccak256(
                            abi.encode(
                                keccak256(
                                    "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"
                                ),
                                owner,
                                spender,
                                value,
                                nonces[owner]++,
                                deadline
                            )
                        )
                    )
                ),
                v,
                r,
                s
            );

            require(recoveredAddress != address(0) && recoveredAddress == owner, "INVALID_SIGNER");

            allowance[recoveredAddress][spender] = value;
        }

        emit Approval(owner, spender, value);
    }

    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {
        return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator();
    }

    function computeDomainSeparator() internal view virtual returns (bytes32) {
        return
            keccak256(
                abi.encode(
                    keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                    keccak256(bytes(name)),
                    keccak256("1"),
                    block.chainid,
                    address(this)
                )
            );
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 amount) internal virtual {
        totalSupply += amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(address(0), to, amount);
    }

    function _burn(address from, uint256 amount) internal virtual {
        balanceOf[from] -= amount;

        // Cannot underflow because a user's balance
        // will never be larger than the total supply.
        unchecked {
            totalSupply -= amount;
        }

        emit Transfer(from, address(0), amount);
    }
}

Settings
{
  "remappings": [
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/",
    "foundry-upgrades/=lib/foundry-upgrades/src/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "openzeppelin/=lib/foundry-upgrades/lib/openzeppelin-contracts/contracts/",
    "solmate/=lib/solmate/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"NotMinter","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newMinter","type":"address"}],"name":"transferMinter","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60e06040523480156200001157600080fd5b50604051806040016040528060048152602001634f78414960e01b815250604051806040016040528060048152602001634f58414960e01b815250601282600090816200005f9190620001e3565b5060016200006e8382620001e3565b5060ff81166080524660a05262000084620000a2565b60c0525050600680546001600160a01b03191633179055506200032d565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000d69190620002af565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200016957607f821691505b6020821081036200018a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001de57600081815260208120601f850160051c81016020861015620001b95750805b601f850160051c820191505b81811015620001da57828155600101620001c5565b5050505b505050565b81516001600160401b03811115620001ff57620001ff6200013e565b620002178162000210845462000154565b8462000190565b602080601f8311600181146200024f5760008415620002365750858301515b600019600386901b1c1916600185901b178555620001da565b600085815260208120601f198616915b8281101562000280578886015182559484019460019091019084016200025f565b50858210156200029f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354620002bf8162000154565b60018281168015620002da5760018114620002f05762000321565b60ff198416875282151583028701945062000321565b8760005260208060002060005b85811015620003185781548a820152908401908201620002fd565b50505082870194505b50929695505050505050565b60805160a05160c051610c166200035d60003960006104b801526000610483015260006101950152610c166000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806340c10f1911610097578063a9059cbb11610066578063a9059cbb1461022e578063d505accf14610241578063dd62ed3e14610254578063fe99ad5a1461027f57600080fd5b806340c10f19146101d157806370a08231146101e65780637ecebe001461020657806395d89b411461022657600080fd5b806318160ddd116100d357806318160ddd1461016657806323b872dd1461017d578063313ce567146101905780633644e515146101c957600080fd5b806306fdde03146100fa5780630754617214610118578063095ea7b314610143575b600080fd5b610102610292565b60405161010f9190610933565b60405180910390f35b60065461012b906001600160a01b031681565b6040516001600160a01b03909116815260200161010f565b61015661015136600461099d565b610320565b604051901515815260200161010f565b61016f60025481565b60405190815260200161010f565b61015661018b3660046109c7565b61038d565b6101b77f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161010f565b61016f61047f565b6101e46101df36600461099d565b6104da565b005b61016f6101f4366004610a03565b60036020526000908152604090205481565b61016f610214366004610a03565b60056020526000908152604090205481565b610102610513565b61015661023c36600461099d565b610520565b6101e461024f366004610a25565b610598565b61016f610262366004610a98565b600460209081526000928352604080842090915290825290205481565b6101e461028d366004610a03565b6107e1565b6000805461029f90610acb565b80601f01602080910402602001604051908101604052809291908181526020018280546102cb90610acb565b80156103185780601f106102ed57610100808354040283529160200191610318565b820191906000526020600020905b8154815290600101906020018083116102fb57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061037b9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001981146103e9576103c48382610b1b565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b03851660009081526003602052604081208054859290610411908490610b1b565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061046c9087815260200190565b60405180910390a3506001949350505050565b60007f000000000000000000000000000000000000000000000000000000000000000046146104b5576104b061082e565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b6006546001600160a01b0316331461050557604051633e34a41b60e21b815260040160405180910390fd5b61050f82826108c8565b5050565b6001805461029f90610acb565b33600090815260036020526040812080548391908390610541908490610b1b565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061037b9086815260200190565b428410156105ed5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064015b60405180910390fd5b600060016105f961047f565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610705573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061073b5750876001600160a01b0316816001600160a01b0316145b6107785760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b60448201526064016105e4565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6006546001600160a01b0316331461080c57604051633e34a41b60e21b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516108609190610b2e565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b80600260008282546108da9190610bcd565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600060208083528351808285015260005b8181101561096057858101830151858201604001528201610944565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461099857600080fd5b919050565b600080604083850312156109b057600080fd5b6109b983610981565b946020939093013593505050565b6000806000606084860312156109dc57600080fd5b6109e584610981565b92506109f360208501610981565b9150604084013590509250925092565b600060208284031215610a1557600080fd5b610a1e82610981565b9392505050565b600080600080600080600060e0888a031215610a4057600080fd5b610a4988610981565b9650610a5760208901610981565b95506040880135945060608801359350608088013560ff81168114610a7b57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610aab57600080fd5b610ab483610981565b9150610ac260208401610981565b90509250929050565b600181811c90821680610adf57607f821691505b602082108103610aff57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561038757610387610b05565b600080835481600182811c915080831680610b4a57607f831692505b60208084108203610b6957634e487b7160e01b86526022600452602486fd5b818015610b7d5760018114610b9257610bbf565b60ff1986168952841515850289019650610bbf565b60008a81526020902060005b86811015610bb75781548b820152908501908301610b9e565b505084890196505b509498975050505050505050565b8082018082111561038757610387610b0556fea264697066735822122073040dc5ad9f1315295c82c0d15b20bfebf47841d1771d06971681f3d21261d164736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806340c10f1911610097578063a9059cbb11610066578063a9059cbb1461022e578063d505accf14610241578063dd62ed3e14610254578063fe99ad5a1461027f57600080fd5b806340c10f19146101d157806370a08231146101e65780637ecebe001461020657806395d89b411461022657600080fd5b806318160ddd116100d357806318160ddd1461016657806323b872dd1461017d578063313ce567146101905780633644e515146101c957600080fd5b806306fdde03146100fa5780630754617214610118578063095ea7b314610143575b600080fd5b610102610292565b60405161010f9190610933565b60405180910390f35b60065461012b906001600160a01b031681565b6040516001600160a01b03909116815260200161010f565b61015661015136600461099d565b610320565b604051901515815260200161010f565b61016f60025481565b60405190815260200161010f565b61015661018b3660046109c7565b61038d565b6101b77f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff909116815260200161010f565b61016f61047f565b6101e46101df36600461099d565b6104da565b005b61016f6101f4366004610a03565b60036020526000908152604090205481565b61016f610214366004610a03565b60056020526000908152604090205481565b610102610513565b61015661023c36600461099d565b610520565b6101e461024f366004610a25565b610598565b61016f610262366004610a98565b600460209081526000928352604080842090915290825290205481565b6101e461028d366004610a03565b6107e1565b6000805461029f90610acb565b80601f01602080910402602001604051908101604052809291908181526020018280546102cb90610acb565b80156103185780601f106102ed57610100808354040283529160200191610318565b820191906000526020600020905b8154815290600101906020018083116102fb57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061037b9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001981146103e9576103c48382610b1b565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b03851660009081526003602052604081208054859290610411908490610b1b565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061046c9087815260200190565b60405180910390a3506001949350505050565b60007f000000000000000000000000000000000000000000000000000000000000000146146104b5576104b061082e565b905090565b507f4da90302579e99f2eb5e05b94a8a5ffaeb6d1c727a9f08bcb44fb93e4ef1c86c90565b6006546001600160a01b0316331461050557604051633e34a41b60e21b815260040160405180910390fd5b61050f82826108c8565b5050565b6001805461029f90610acb565b33600090815260036020526040812080548391908390610541908490610b1b565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061037b9086815260200190565b428410156105ed5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064015b60405180910390fd5b600060016105f961047f565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610705573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061073b5750876001600160a01b0316816001600160a01b0316145b6107785760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b60448201526064016105e4565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6006546001600160a01b0316331461080c57604051633e34a41b60e21b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516108609190610b2e565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b80600260008282546108da9190610bcd565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600060208083528351808285015260005b8181101561096057858101830151858201604001528201610944565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461099857600080fd5b919050565b600080604083850312156109b057600080fd5b6109b983610981565b946020939093013593505050565b6000806000606084860312156109dc57600080fd5b6109e584610981565b92506109f360208501610981565b9150604084013590509250925092565b600060208284031215610a1557600080fd5b610a1e82610981565b9392505050565b600080600080600080600060e0888a031215610a4057600080fd5b610a4988610981565b9650610a5760208901610981565b95506040880135945060608801359350608088013560ff81168114610a7b57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610aab57600080fd5b610ab483610981565b9150610ac260208401610981565b90509250929050565b600181811c90821680610adf57607f821691505b602082108103610aff57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561038757610387610b05565b600080835481600182811c915080831680610b4a57607f831692505b60208084108203610b6957634e487b7160e01b86526022600452602486fd5b818015610b7d5760018114610b9257610bbf565b60ff1986168952841515850289019650610bbf565b60008a81526020902060005b86811015610bb75781548b820152908501908301610b9e565b505084890196505b509498975050505050505050565b8082018082111561038757610387610b0556fea264697066735822122073040dc5ad9f1315295c82c0d15b20bfebf47841d1771d06971681f3d21261d164736f6c63430008120033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

OxAI offers Web3 infrastructure protocol for decentralized AI computation.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.