ETH Price: $1,957.51 (-6.12%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer234388782025-09-25 8:32:23143 days ago1758789143IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000076431.61603884
Approve233845222025-09-17 18:14:23151 days ago1758132863IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000076171.64171611
Approve232215722025-08-26 0:01:47173 days ago1756166507IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000013880.5318376
Approve232215652025-08-26 0:00:23173 days ago1756166423IN
0xBB1fA4Fd...3fA976a82
0 ETH0.00001250.51879273
Approve224666572025-05-12 10:38:11279 days ago1747046291IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000145115.55732555
Approve224438512025-05-09 5:30:23282 days ago1746768623IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000064761.40346803
Approve224436942025-05-09 4:58:23282 days ago1746766703IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000063371.37292751
Approve224436702025-05-09 4:53:35282 days ago1746766415IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000101952.21006749
Approve222586812025-04-13 7:53:23308 days ago1744530803IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000017210.59379926
Approve222586732025-04-13 7:51:47308 days ago1744530707IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000027540.5978046
Transfer222049402025-04-05 19:56:23316 days ago1743882983IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000021990.46531583
Approve221900242025-04-03 17:58:11318 days ago1743703091IN
0xBB1fA4Fd...3fA976a82
0 ETH0.00003270.70490113
Transfer221617002025-03-30 19:04:59322 days ago1743361499IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000046880.991942
Approve220732642025-03-18 10:47:59334 days ago1742294879IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000023030.95511387
Approve218944912025-02-21 11:43:47359 days ago1740138227IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000057421.2454665
Transfer214944172024-12-27 14:33:11415 days ago1735309991IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000413488.74891797
Approve214942282024-12-27 13:55:23415 days ago1735307723IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000261935.69108335
Transfer214379032024-12-19 16:56:59423 days ago1734627419IN
0xBB1fA4Fd...3fA976a82
0 ETH0.0009861520.84501604
Transfer208686082024-10-01 5:39:11502 days ago1727761151IN
0xBB1fA4Fd...3fA976a82
0 ETH0.0005563218.40846873
Transfer208640322024-09-30 14:21:23503 days ago1727706083IN
0xBB1fA4Fd...3fA976a82
0 ETH0.0008971718.9786745
Transfer208416882024-09-27 11:33:35506 days ago1727436815IN
0xBB1fA4Fd...3fA976a82
0 ETH0.0005345911.3
Transfer204530972024-08-04 5:28:23560 days ago1722749303IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000052071
Transfer203955632024-07-27 4:41:59568 days ago1722055319IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000051591
Transfer203714312024-07-23 19:49:59572 days ago1721764199IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000286059.47312145
Transfer203708792024-07-23 17:58:59572 days ago1721757539IN
0xBB1fA4Fd...3fA976a82
0 ETH0.000272735.23748147
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PATToken

Compiler Version
v0.4.16+commit.d7661dd9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-03-25
*/

/*
 * ERC-20 Standard Token Smart Contract Interface.
 * Copyright © 2016–2017 by ABDK Consulting.
 * Author: Mikhail Vladimirov <[email protected]>
 */
pragma solidity ^0.4.16;

/**
 * ERC-20 standard token interface, as defined
 * <a href="http://github.com/ethereum/EIPs/issues/20">here</a>.
 */
contract Token {
  /**
   * Get total number of tokens in circulation.
   *
   * @return total number of tokens in circulation
   */
  function totalSupply () constant returns (uint256 supply);

  /**
   * Get number of tokens currently belonging to given owner.
   *
   * @param _owner address to get number of tokens currently belonging to the
   *        owner of
   * @return number of tokens currently belonging to the owner of given address
   */
  function balanceOf (address _owner) constant returns (uint256 balance);

  /**
   * Transfer given number of tokens from message sender to given recipient.
   *
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer to the owner of given address
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transfer (address _to, uint256 _value) returns (bool success);

  /**
   * Transfer given number of tokens from given owner to given recipient.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer from given owner to given
   *        recipient
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transferFrom (address _from, address _to, uint256 _value)
  returns (bool success);

  /**
   * Allow given spender to transfer given number of tokens from message sender.
   *
   * @param _spender address to allow the owner of to transfer tokens from
   *        message sender
   * @param _value number of tokens to allow to transfer
   * @return true if token transfer was successfully approved, false otherwise
   */
  function approve (address _spender, uint256 _value) returns (bool success);

  /**
   * Tell how many tokens given spender is currently allowed to transfer from
   * given owner.
   *
   * @param _owner address to get number of tokens allowed to be transferred
   *        from the owner of
   * @param _spender address to get number of tokens allowed to be transferred
   *        by the owner of
   * @return number of tokens given spender is currently allowed to transfer
   *         from given owner
   */
  function allowance (address _owner, address _spender) constant
  returns (uint256 remaining);

  /**
   * Logged when tokens were transferred from one owner to another.
   *
   * @param _from address of the owner, tokens were transferred from
   * @param _to address of the owner, tokens were transferred to
   * @param _value number of tokens transferred
   */
  event Transfer (address indexed _from, address indexed _to, uint256 _value);

  /**
   * Logged when owner approved his tokens to be transferred by some spender.
   *
   * @param _owner owner who approved his tokens to be transferred
   * @param _spender spender who were allowed to transfer the tokens belonging
   *        to the owner
   * @param _value number of tokens belonging to the owner, approved to be
   *        transferred by the spender
   */
  event Approval (
    address indexed _owner, address indexed _spender, uint256 _value);
}

/**
 * Provides methods to safely add, subtract and multiply uint256 numbers.
 */
contract SafeMath {
  uint256 constant private MAX_UINT256 =
    0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;

  /**
   * Add two uint256 values, throw in case of overflow.
   *
   * @param x first value to add
   * @param y second value to add
   * @return x + y
   */
  function safeAdd (uint256 x, uint256 y)
  constant internal
  returns (uint256 z) {
    assert (x <= MAX_UINT256 - y);
    return x + y;
  }

  /**
   * Subtract one uint256 value from another, throw in case of underflow.
   *
   * @param x value to subtract from
   * @param y value to subtract
   * @return x - y
   */
  function safeSub (uint256 x, uint256 y)
  constant internal
  returns (uint256 z) {
    assert (x >= y);
    return x - y;
  }

  /**
   * Multiply two uint256 values, throw in case of overflow.
   *
   * @param x first value to multiply
   * @param y second value to multiply
   * @return x * y
   */
  function safeMul (uint256 x, uint256 y)
  constant internal
  returns (uint256 z) {
    if (y == 0) return 0; // Prevent division by zero at the next line
    assert (x <= MAX_UINT256 / y);
    return x * y;
  }
}

/**
 * Abstract Token Smart Contract that could be used as a base contract for
 * ERC-20 token contracts.
 */
contract AbstractToken is Token, SafeMath {
  /**
   * Create new Abstract Token contract.
   */
  function AbstractToken () {
    // Do nothing
  }

  /**
   * Get number of tokens currently belonging to given owner.
   *
   * @param _owner address to get number of tokens currently belonging to the
   *        owner of
   * @return number of tokens currently belonging to the owner of given address
   */
  function balanceOf (address _owner) constant returns (uint256 balance) {
    return accounts [_owner];
  }

  /**
   * Transfer given number of tokens from message sender to given recipient.
   *
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer to the owner of given address
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transfer (address _to, uint256 _value) returns (bool success) {
    uint256 fromBalance = accounts [msg.sender];
    if (fromBalance < _value) return false;
    if (_value > 0 && msg.sender != _to) {
      accounts [msg.sender] = safeSub (fromBalance, _value);
      accounts [_to] = safeAdd (accounts [_to], _value);
    }
    Transfer (msg.sender, _to, _value);
    return true;
  }

  /**
   * Transfer given number of tokens from given owner to given recipient.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer from given owner to given
   *        recipient
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transferFrom (address _from, address _to, uint256 _value)
  returns (bool success) {
    uint256 spenderAllowance = allowances [_from][msg.sender];
    if (spenderAllowance < _value) return false;
    uint256 fromBalance = accounts [_from];
    if (fromBalance < _value) return false;

    allowances [_from][msg.sender] =
      safeSub (spenderAllowance, _value);

    if (_value > 0 && _from != _to) {
      accounts [_from] = safeSub (fromBalance, _value);
      accounts [_to] = safeAdd (accounts [_to], _value);
    }
    Transfer (_from, _to, _value);
    return true;
  }

  /**
   * Allow given spender to transfer given number of tokens from message sender.
   *
   * @param _spender address to allow the owner of to transfer tokens from
   *        message sender
   * @param _value number of tokens to allow to transfer
   * @return true if token transfer was successfully approved, false otherwise
   */
  function approve (address _spender, uint256 _value) returns (bool success) {
    allowances [msg.sender][_spender] = _value;
    Approval (msg.sender, _spender, _value);

    return true;
  }

  /**
   * Tell how many tokens given spender is currently allowed to transfer from
   * given owner.
   *
   * @param _owner address to get number of tokens allowed to be transferred
   *        from the owner of
   * @param _spender address to get number of tokens allowed to be transferred
   *        by the owner of
   * @return number of tokens given spender is currently allowed to transfer
   *         from given owner
   */
  function allowance (address _owner, address _spender) constant
  returns (uint256 remaining) {
    return allowances [_owner][_spender];
  }

  /**
   * Mapping from addresses of token holders to the numbers of tokens belonging
   * to these token holders.
   */
  mapping (address => uint256) accounts;

  /**
   * Mapping from addresses of token holders to the mapping of addresses of
   * spenders to the allowances set by these token holders to these spenders.
   */
  mapping (address => mapping (address => uint256)) private allowances;
}

/**
 * PAT Token Smart Contract.
 */
contract PATToken is AbstractToken {
  uint256 constant internal TOKENS_COUNT = 42000000000e18;

  /**
   * Create PAT Token smart contract with given central bank address.
   *
   * @param _centralBank central bank address
   */
  function PATToken (address _centralBank)
    AbstractToken () {
    accounts [_centralBank] = TOKENS_COUNT; // Limit emission to 42G
  }

  /**
   * Get total number of tokens in circulation.
   *
   * @return total number of tokens in circulation
   */
  function totalSupply () constant returns (uint256 supply) {
    return TOKENS_COUNT;
  }

  /**
   * Get name of this token.
   *
   * @return name of this token
   */
  function name () public pure returns (string) {
    return "Pangea Arbitration Token";
  }

  /**
   * Get symbol of this token.
   *
   * @return symbol of this token
   */
  function symbol () public pure returns (string) {
    return "PAT";
  }

  /**
   * Get number of decimals for this token.
   *
   * @return number of decimals for this token
   */
  function decimals () public pure returns (uint8) {
    return 18;
  }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"supply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_centralBank","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]

6060604052341561000f57600080fd5b604051602080610795833981016040528080519150505b5b5b600160a060020a03811660009081526020819052604090206b87b595f2383509fe1000000090555b505b610734806100616000396000f300606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461009b578063095ea7b31461012657806318160ddd1461015c57806323b872dd14610181578063313ce567146101bd57806370a08231146101e657806395d89b4114610217578063a9059cbb146102a2578063dd62ed3e146102d8575b600080fd5b34156100a657600080fd5b6100ae61030f565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100eb5780820151818401525b6020016100d2565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013157600080fd5b610148600160a060020a0360043516602435610351565b604051901515815260200160405180910390f35b341561016757600080fd5b61016f6103be565b60405190815260200160405180910390f35b341561018c57600080fd5b610148600160a060020a03600435811690602435166044356103cf565b604051901515815260200160405180910390f35b34156101c857600080fd5b6101d0610538565b60405160ff909116815260200160405180910390f35b34156101f157600080fd5b61016f600160a060020a036004351661053e565b60405190815260200160405180910390f35b341561022257600080fd5b6100ae61055d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100eb5780820151818401525b6020016100d2565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102ad57600080fd5b610148600160a060020a036004351660243561059f565b604051901515815260200160405180910390f35b34156102e357600080fd5b61016f600160a060020a0360043581169060243516610696565b60405190815260200160405180910390f35b6103176106f6565b60408051908101604052601881527f50616e676561204172626974726174696f6e20546f6b656e0000000000000000602082015290505b90565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b6b87b595f2383509fe100000005b90565b600160a060020a03808416600090815260016020908152604080832033909416835292905290812054818382101561040a576000925061052f565b50600160a060020a03851660009081526020819052604090205483811015610435576000925061052f565b61043f82856106c3565b600160a060020a038088166000908152600160209081526040808320339094168352929052908120919091558411801561048b575084600160a060020a031686600160a060020a031614155b156104e35761049a81856106c3565b600160a060020a0380881660009081526020819052604080822093909355908716815220546104c990856106da565b600160a060020a0386166000908152602081905260409020555b84600160a060020a031686600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a3600192505b50509392505050565b60125b90565b600160a060020a0381166000908152602081905260409020545b919050565b6105656106f6565b60408051908101604052600381527f5041540000000000000000000000000000000000000000000000000000000000602082015290505b90565b600160a060020a033316600090815260208190526040812054828110156105c9576000915061068f565b6000831180156105eb575083600160a060020a031633600160a060020a031614155b15610643576105fa81846106c3565b600160a060020a03338116600090815260208190526040808220939093559086168152205461062990846106da565b600160a060020a0385166000908152602081905260409020555b83600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3600191505b5092915050565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b6000818310156106cf57fe5b508082035b92915050565b60006000198290038311156106eb57fe5b508181015b92915050565b602060405190810160405260008152905600a165627a7a7230582050d76d25b927c67389a39d3ac63cd7746144c9ef8cfd36530315a41b1904e3140029000000000000000000000000cde042543307966bc16eff3cdca4d32b23408c4c

Deployed Bytecode

0x606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461009b578063095ea7b31461012657806318160ddd1461015c57806323b872dd14610181578063313ce567146101bd57806370a08231146101e657806395d89b4114610217578063a9059cbb146102a2578063dd62ed3e146102d8575b600080fd5b34156100a657600080fd5b6100ae61030f565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100eb5780820151818401525b6020016100d2565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013157600080fd5b610148600160a060020a0360043516602435610351565b604051901515815260200160405180910390f35b341561016757600080fd5b61016f6103be565b60405190815260200160405180910390f35b341561018c57600080fd5b610148600160a060020a03600435811690602435166044356103cf565b604051901515815260200160405180910390f35b34156101c857600080fd5b6101d0610538565b60405160ff909116815260200160405180910390f35b34156101f157600080fd5b61016f600160a060020a036004351661053e565b60405190815260200160405180910390f35b341561022257600080fd5b6100ae61055d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100eb5780820151818401525b6020016100d2565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102ad57600080fd5b610148600160a060020a036004351660243561059f565b604051901515815260200160405180910390f35b34156102e357600080fd5b61016f600160a060020a0360043581169060243516610696565b60405190815260200160405180910390f35b6103176106f6565b60408051908101604052601881527f50616e676561204172626974726174696f6e20546f6b656e0000000000000000602082015290505b90565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b6b87b595f2383509fe100000005b90565b600160a060020a03808416600090815260016020908152604080832033909416835292905290812054818382101561040a576000925061052f565b50600160a060020a03851660009081526020819052604090205483811015610435576000925061052f565b61043f82856106c3565b600160a060020a038088166000908152600160209081526040808320339094168352929052908120919091558411801561048b575084600160a060020a031686600160a060020a031614155b156104e35761049a81856106c3565b600160a060020a0380881660009081526020819052604080822093909355908716815220546104c990856106da565b600160a060020a0386166000908152602081905260409020555b84600160a060020a031686600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a3600192505b50509392505050565b60125b90565b600160a060020a0381166000908152602081905260409020545b919050565b6105656106f6565b60408051908101604052600381527f5041540000000000000000000000000000000000000000000000000000000000602082015290505b90565b600160a060020a033316600090815260208190526040812054828110156105c9576000915061068f565b6000831180156105eb575083600160a060020a031633600160a060020a031614155b15610643576105fa81846106c3565b600160a060020a03338116600090815260208190526040808220939093559086168152205461062990846106da565b600160a060020a0385166000908152602081905260409020555b83600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3600191505b5092915050565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b6000818310156106cf57fe5b508082035b92915050565b60006000198290038311156106eb57fe5b508181015b92915050565b602060405190810160405260008152905600a165627a7a7230582050d76d25b927c67389a39d3ac63cd7746144c9ef8cfd36530315a41b1904e3140029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000cde042543307966bc16eff3cdca4d32b23408c4c

-----Decoded View---------------
Arg [0] : _centralBank (address): 0xCDE042543307966bc16Eff3cDca4d32B23408C4c

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000cde042543307966bc16eff3cdca4d32b23408c4c


Swarm Source

bzzr://50d76d25b927c67389a39d3ac63cd7746144c9ef8cfd36530315a41b1904e314

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.