> For the complete documentation index, see [llms.txt](https://docs.kardiachain.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kardiachain.io/docs/archived-docs/tutorials/krc20-tokens/deploying-krc20-token.md).

# Deploying KRC20 Token

*Prerequisite*

* Connect your MetaMask wallet to KardiaChain mainnet or testnet. Detail instruction can be found [here](/docs/archived-docs/wallet/metamask-compatible.md).
* Have some KAI in your wallet to use as transaction fee

Deploying a new KRC20 token can be done by using [Remix](https://remix.ethereum.org/) and ERC20 contract from Open Zeppelin open source.

1. Open <https://remix.ethereum.org/>
2. Create new contract `KRC20.sol` and copy code from the following sample

```solidity
// contracts/GLDToken.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract MyToken is ERC20 {
    constructor(uint256 initialSupply) ERC20("My KRC20 Token", "MYTOKEN") {
        _mint(msg.sender, initialSupply);
    }
}
```

3\. Deploy contract

![Deploy KRC20 contract](/files/wTfpvPtF59HsyuQ3v8cG)

![Deploy successfully](/files/RNNo2WwmHaufhBUuQqlu)
