Blockwell

Metal

ERC20

This contract is an ERC20 token.

Name Metal
Symbol MTL
Decimals 8
Total Supply 66,588,888 MTL

About link description

Metal (MTL) is the native currency of Metal products and an essential part of the Metal ecosystem. Sending and receiving any crypto to friends on Metal Pay is, according to the team, instant and feeless. Designed to make cryptocurrency payments fast and easy, users pay zero fees when sending, receiving, buying, or selling MTL. Additionally, Metal Pay users pay substantially less fees when buying other cryptocurrencies if they also hold MTL, with 0% fees offered to anyone who holds 10,000 MTL. Created with the goal of being highly useful and advantageous to hold, MTL has fueled Metal Pay and allowed it to become one of the few FDIC-insured on-ramps to cryptocurrency in the United States. On the Metal X exchange, users can reduce fees by paying the fee in MTL. Additionally, users can receive loyalty benefits for holding MTL inside the exchange. Metal (MTL) is currently a cryptocurrency token that operates on the Ethereum platform but it will become available on the native Metal blockchain: Proton. Launching MTL on Proton will open new on-chain utility possibilities for MTL

Stats

Public Functions 5
Event Types 2
Code Size 5,921 bytes

Approval Event

Parameters help
owner
address help
spender
address help
value
uint help

Transfer Event

Parameters help
from
address help
to
address help
value
uint help

Functions Expand All Collapse All

balanceOf keyboard_arrow_up

Parameters help

Name Type
_owner
address help

Properties

Visibility help public
Mutability help constant
Source Code
  function balanceOf(address _owner) constant returns (uint balance) {
    return balances[_owner];
  }

transfer keyboard_arrow_up

Parameters help

Name Type
_to
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
  function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) {
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
  }

allowance keyboard_arrow_up

Parameters help

Name Type
_owner
address help
_spender
address help

Properties

Visibility help public
Mutability help constant
Source Code
  function allowance(address _owner, address _spender) constant returns (uint remaining) {
    return allowed[_owner][_spender];
  }

transferFrom keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
  function transferFrom(address _from, address _to, uint _value) onlyPayloadSize(3 * 32) {
    var _allowance = allowed[_from][msg.sender];

    // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
    // if (_value > _allowance) throw;

    balances[_to] = balances[_to].add(_value);
    balances[_from] = balances[_from].sub(_value);
    allowed[_from][msg.sender] = _allowance.sub(_value);
    Transfer(_from, _to, _value);
  }

approve keyboard_arrow_up

Parameters help

Name Type
_spender
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction

Requirements help

One or more of the following:
Source Code
  function approve(address _spender, uint _value) {

    // To change the approve amount you first have to reduce the addresses`
    //  allowance to zero by calling `approve(_spender, 0)` if it is not
    //  already 0 to mitigate the race condition described here:
    //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    if ((_value != 0) && (allowed[msg.sender][_spender] != 0)) throw;

    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
  }