Token standards · ERC-20, TRC-20, BEP-20 — and PRC-20 on PRANA
A "token" on an EVM chain is not magic and not a coin baked into the chain — it's a smart contract that keeps a ledger and follows one small, agreed-upon interface. Learn that interface once and you can read, make, and move tokens on every EVM chain — Ethereum, TRON, BNB Chain, and PRANA. This is the EVM side of making a token; the MELEK-Engine / SCOT side is over on Make a token.
1 · What a "-20" token actually is
The ERC-20 standard (EIP-20) is just a list of functions a contract promises to have. A wallet or exchange that knows these can handle any token, sight unseen — that's the whole point of a standard:
totalSupply()·balanceOf(addr)— how many exist, who holds what.transfer(to, amt)— send your own tokens.approve(spender, amt)·allowance(owner, spender)·transferFrom(from, to, amt)— let a contract (a DEX, a bridge) move your tokens with your permission. This is how KulaSwap and the bridge work.- Two events —
TransferandApproval— so explorers can follow the ledger.
That's it. The balances live in a mapping(address => uint256)
inside the contract. A token is a ledger with those six functions bolted on.
2 · One standard, many chains
Because these chains all run the EVM (or an EVM-compatible VM), the same ERC-20 interface is simply re-branded per chain. Learn it once, deploy it anywhere:
| Name | Chain | VM | What it is |
|---|---|---|---|
| ERC-20 | Ethereum | EVM | The original — EIP-20, 2015. Every other -20 is this interface. |
| TRC-20 | TRON | TVM (EVM-compatible) | The exact same interface on TRON. A TRC-20 token is an ERC-20 the TRON VM runs. |
| BEP-20 | BNB Chain | EVM | ERC-20 with a few conventions added. Same six functions underneath. |
| PRC-20 | PRANA | EVM (core-geth) | Our name for it. A PRC-20 is an ERC-20 — deployed to PRANA (chain id 712217). KULA, wMELEK, wVKBT are PRC-20 tokens. |
Same interface ⇒ the same tools work everywhere: MetaMask to hold, Remix or Hardhat / Foundry to build, an Etherscan-style explorer (PRANA's is PRANAScan) to inspect. A dev who knows ERC-20 already knows PRC-20 — there is nothing new to learn to build on PRANA.
3 · PRC-20 — in one line
A PRC-20 is an ERC-20 deployed to PRANA. Same interface, same wallets, same
tooling; chain id 712217. We give it its own name the way TRON has TRC-20 and
BNB Chain has BEP-20 — not because it's a different technical standard, but because it's our
chain's tokens, and a name people can hold onto. KULA (the DeFi collateral coin), the wrapped bridge
tokens wMELEK / wVKBT / wCURE, and any token you deploy on PRANA are PRC-20s.
The chain is open — mint your own
We want other people making token mints here. A chain is only alive when people build on it, so issuance on MELEK and PRANA is permissionless — you don't need our permission, and there are two on-ramps depending on how much code you want to touch:
- No code — MELEK-Engine token. Burn a little APIS to mint a token, turn on SCOT so posts under your tag earn it, and list it on KulaSwap. Point-and-click via the Tokens portal · walkthrough on Make a token.
- Some code — your own PRC-20. Generate it in the OpenZeppelin Wizard,
compile in Remix, deploy to PRANA (chain id
712217). Add features — mintable, burnable, capped, pausable — with a checkbox each. - At scale — a factory. Want to let your users mint tokens? The EIP-1167 clone pattern (below) is how you offer cheap one-click mints on top of one implementation you deploy once.
Whatever you mint is a first-class citizen: tradeable on KulaSwap, usable as CDP collateral, bridgeable. The point of the Academy is to hand you the whole on-ramp.
4 · Make one (the modern stack)
Don't write the six functions yourself — inherit the audited OpenZeppelin ERC20 base and add a name, symbol, and supply. The whole token:
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract MyToken is ERC20 {
constructor() ERC20("My Token", "MYT") {
_mint(msg.sender, 1_000_000 * 10 ** decimals());
}
}
- Write & compile in Remix (in-browser, nothing to install) or Hardhat / Foundry locally.
- Add PRANA to MetaMask — one tap from the Akasha wallet page (RPC + chain id
712217). - Deploy to PRANA and confirm it on PRANAScan. You now hold a PRC-20 you created.
The same steps deploy to Ethereum, TRON, or BNB Chain — only the network in MetaMask changes. That portability is the lesson.
5 · Clones & factories — cheap tokens at scale
Deploying a fresh contract per token costs gas. The
EIP-1167 minimal proxy ("clone") deploys a tiny stub that delegates to one
shared implementation — so a factory can mint hundreds of tokens cheaply. In 2026 you do this with
OpenZeppelin's Clones library (Clones.clone() / cloneDeterministic()),
not a hand-rolled factory. It's how token-launch platforms work, and how PRANA's own token factory keeps
issuance affordable.
⚠ Don't follow 2018 tutorials into dead tools
Most "make an Ethereum token" guides online are from the 2017–2018 boom and point at tools that are now retired. The ideas still hold; the tools changed. If a tutorial says the left, use the right:
| 2018 tutorial says… | Use in 2026 |
|---|---|
| Truffle | Foundry (forge/anvil/cast) or Hardhat |
| Ganache / ganache-cli | Anvil or Hardhat node |
| Mist / Ethereum Wallet | MetaMask (Mist was discontinued 2019) |
| Parity / OpenEthereum | Geth · Nethermind · Reth |
| web3.js | ethers v6 or viem |
| SafeMath library | nothing — Solidity 0.8+ checks overflow itself |
| ConsenSys/Tokens · TokenMint · POA wizard | OpenZeppelin Contracts v5 + the OZ Wizard |
| hand-rolled clone-factory | OpenZeppelin Clones |
| Oraclize | Chainlink |
| ICO launchpads (TokenMarket, Eidoo…) | a dead + legally radioactive category — skip it |
Beginner path: OpenZeppelin Wizard → Remix → MetaMask. Then graduate to Foundry. Read Solidity by Example (official) and the Foundry Book, not the Medium/Truffle-era walk-throughs.
6 · Where PRC-20s live in the ecosystem
- KULA — a PRC-20 that is DeFi collateral: lock it to borrow (the CDP), or burn other tokens into it (the MultiBurnMine: many PRC-20s in → KULA out).
- Wrapped bridge tokens — wMELEK / wVKBT / wCURE are PRC-20s that mirror value locked on MELEK / Hive-Engine, so those assets can trade on KulaSwap.
- KulaSwap pairs — any PRC-20 can be pooled and swapped (a Uniswap-V2 AMM on PRANA).
Beyond tokens — build apps, social, games
A token is the first thing you make on a chain, not the last. The same EVM skills — Solidity, Remix, MetaMask, a wallet connection — build everything else, and the same "learn-once, deploy-anywhere" rule holds. Where to go next:
- NFTs & items —
ERC-721(unique) andERC-1155(mixed) are the next standards after ERC-20, same OpenZeppelin base. Game items, memberships, tickets. - Social media — MELEK itself is a social chain (posts, votes, curation earn a coin); the Engine/SCOT model lets a community mint its own social token. That's the decentralized-social idea the old dApp directories chased, actually running.
- dApps & games — a smart contract + a web front-end (ethers v6 / viem + a wallet connect) is the whole shape of a dApp. PRANA hosts the DeFi + arcade side; MELEK hosts the social side.
The 2018 thread below is a snapshot of people trying all of this at once — token mints, social apps, games, launch platforms. Most of those projects are gone; the idea — anyone can build on an open chain — is exactly what we're handing you the tools to actually do.
Credit & further reading
This lesson grows out of a long-running community resource — "Let's create some Ethereum clones" (Tokenista, Bitcointalk, 2018), a 6-page pile of token-creation, clone-factory and dApp resources. We've kept what still holds in 2026 (Remix, MetaMask, OpenZeppelin, EIP-1167, Solidity) and swapped the dated tools for their modern equivalents (Hardhat / Foundry for Truffle; ethers v6 / viem for old web3).
Library of Ashurbanipal: The ERC-20 standard · Smart contracts · The EVM · KulaSwap & PRANA DeFi. The other kind of token (MELEK-Engine / SCOT): Make a token →