Epoch Docs
manifesto
  • Start Here
  • EPOCH Token
  • EPOCH-LP (80/20)
  • vEPOCH
    • User Methods
    • Admin Methods
    • Events
  • Initial Time Offering (ITO)
    • User Methods
    • Admin Methods
    • Events
  • Governance
  • Links
Powered by GitBook
On this page
  • Buy EPOCH
  • Smart Contract Summary
  • Addresses
  • Minting
  • mint() method
  • Minting Cap
  • Minting Cap Example
  • Burning
  • burn() method
  • APIs

EPOCH Token

EPOCH is the currency of Epoch Island

PreviousStart HereNextEPOCH-LP (80/20)

Last updated 1 year ago

Buy EPOCH

  • (aggregator of Balancer pool and other sources)

Smart Contract Summary

The EPOCH token contract went live on Nov 12th 2023, deployed by the EPOCH DAO per a .

The EPOCH token source code can be found .

The EPOCH token is a generic ERC20 token with the following additional functionality:

  1. EPOCH is Ownable (has an owner)

    • The Epoch Island DAO multisig currently holds ownership of this token.

  2. EPOCH supports Permit

  3. EPOCH can be minted and burned

    • EPOCH tokens can only be minted by the Owner of the token

    • EPOCH tokens can be burned by anyone

  4. EPOCH implements a minting cap

Addresses

Contract Name
Network
Address

EPOCH Token

Mainnet

EPOCH Token

Optimism

EPOCH Token

Arbitrum

EPOCH Token

Base

Minting

mint() method

function mint(
    address to,
    uint256 amount
) public onlyOwner
  • to: the address to send the minted EPOCH tokens to

  • amount: how many tokens to mint

Minting Cap

The EPOCH token implements a custom minting cap which restricts the maximum amount mintable to 10% of the total supply each week. This cap logic is part of the EpochToken.sol contract's mint() function.

Some of the reasons to introduce this cap:

  • This prevents an infinite mint exploit by limiting the maximum possible that can be minted at once.

  • This creates a maximum ceiling on total tokens that can be minted per week, ensuring no proposal can request or be passed that asks for an obscene amount of new supply minted.

  • This gives LPs a safety net. If there was a security breach or exploit, or if the voters choose to mint as much as possible week after week, then if the maximum mint cap was completely market sold, the LPs should in theory still have meaningful value remaining, with at least another week before more tokens could be minted to be sold. This gives LPs time to exit and prevent further losses.

For example, if the current supply is 80million tokens at the time the weekly mint cap is recalculated for the week, then no more than 8million tokens can be minted grand total over the next 7 days.

Burning tokens has no effect on the mint cap.

Minting Cap Example

The current total supply is 100 million.

If the DAO minted 4 million EPOCH tokens on Jan 1st, 2024, the mint cap (10%) would only allow an additional 6 million tokens to be minted until Jan 8. The total supply is now 104 million.

uint256 public mintCapStartTs;
uint256 public mintableUntilMintCap;

// @notice Returns timestamp of when minting cap ends
function mintCapEndTs() public view returns(uint256) {
    return mintCapStartTs + 604800;
}

// @notice Allows Owner to mint tokens
// @dev No more than 10% of the total supply can be minted each week
function mint(address to, uint256 amount) public onlyOwner {
    if(block.timestamp >= mintCapEndTs()) {
        mintCapStartTs = block.timestamp;
        mintableUntilMintCap = (totalSupply() * 1000) / 10000;
    }

    // @dev This is decorative and could be removed with mint cap still enforced
    require(amount <= mintableUntilMintCap, "MINT CAP");

    mintableUntilMintCap -= amount;
    _mint(to, amount);
}

Burning

Calling the burn() function will reduce the total supply by burning associated tokens.

burn() method

function burn(
    uint256 amount
) public virtual

APIs

The EPOCH token lives on and has 18 decimals. EPOCH has been bridged to other networks.

The ability to mint new tokens is controlled by , requiring a successful proposal that requests tokens to be minted.

With the method, the of the EPOCH contract can mint new EPOCH tokens. It takes as parameters:

Currently, the owner of the EPOCH contract is the EPOCH DAO multisig, which means proposals control new token minting.

The code snippet below shows the relevant code extracted from the .

With the method, any wallet that holds EPOCH tokens can destroy any amount of their EPOCH tokens, reducing the total supply by the amount permanently removed from their wallet.

Total Supply:

Circulating Supply:

Market Cap: Total Supply USD value:

Market Cap: Circulating Supply USD value:

Balancer pool
DefiLlama swap
snapshot proposal
on Etherscan
Ethereum Mainnet
governance
mint
owner
governance
token source code
burn
https://api.epochisland.io/supply/total
https://api.epochisland.io/supply/circulating
https://api.epochisland.io/marketcap/total
https://api.epochisland.io/marketcap/circulating
0x97D0CfEB4FdE54B430307c9482d6f79C761Fe9B6
0xd1cac46a9a77169C310c2C780A4267eE6CA884f5
0x4939ac5c1855302891c5888634b2f65cc30b9155
0x287f0D88e29a3D7AEb4d0c10BAE5B902dB69B17D