KLIK PASS
  • KLIK Initial Coin Offering (ICO) Requirements Document
    • UPDATED Instructions for Solidity and Next.js Developers for ICO Page (9/9/2024)
    • Core Functionalities
    • ICO Page Requirements
    • System Architecture
    • Liquidity Plan
    • Middleware Requirements
    • Smart Contract Requirements
    • API Descriptions
  • KLIKcoin Tokenomics Plan
    • Total Supply Breakdown (10 Billion KLIKcoins)
    • Class A vs. Class B KLIKcoins
    • Time-Locked Tokens for Future Sales
    • Funding Rounds and Allocations
    • Liquidity pools
    • Staking Mechanism
    • Vesting Mechanism for Class A KLIKcoins
Powered by GitBook
On this page
  1. KLIKcoin Tokenomics Plan

Class A vs. Class B KLIKcoins

To differentiate between Class A and Class B KLIKcoins, the system will use a tiered token structure where both classes share the same fundamental characteristics (both are ERC-20 tokens), but Class A tokens will have enhanced governance rights and vesting periods. Below is the mechanism to distinguish and manage these classes.

Class A KLIKcoins (Early Investor Tokens):

  • Supply: 50,000,000 KLIKcoins (0.5% of total)

  • Price: $0.01 per KLIKcoin

  • Governance Power: 5x voting power compared to Class B

  • Vesting: 19 months with 15% unlocked every 3 months after an initial 3-month cliff

  • Exclusive Features: Early access to platform features and participation in governance decisions with greater weight.

Class B KLIKcoins (Public Sale Tokens):

  • Round 2 Supply: 200,000,000 KLIKcoins (2% of total)

    • Price: $0.03 to $0.04 per KLIKcoin

    • No Vesting: Immediate liquidity

  • Round 3 Supply: 1,000,000,000 KLIKcoins (10% of total)

    • Price: $0.05 per KLIKcoin

    • No Vesting: Immediate liquidity

Solidity Code for Differentiating Class A and Class B KLIKcoins:

solidityCopy code// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

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

contract KLIKcoin is ERC20, Ownable {
    enum TokenClass { ClassA, ClassB }

    mapping(address => TokenClass) public tokenClasses;
    mapping(address => uint256) public governancePower;

    uint256 public classASupply = 50_000_000 * 10**18; // Class A Supply
    uint256 public classBSupply = 200_000_000 * 10**18; // Class B Supply

    constructor() ERC20("KLIKcoin", "KLIK") {
        // Allocate Class A and Class B to owner for distribution
        _mint(msg.sender, classASupply + classBSupply);
    }

    function assignClassA(address investor, uint256 amount) external onlyOwner {
        require(totalSupply() + amount <= classASupply, "Exceeds Class A supply");
        _mint(investor, amount);
        tokenClasses[investor] = TokenClass.ClassA;
        governancePower[investor] = amount * 5;  // 5x governance power
    }

    function assignClassB(address investor, uint256 amount) external onlyOwner {
        require(totalSupply() + amount <= classBSupply, "Exceeds Class B supply");
        _mint(investor, amount);
        tokenClasses[investor] = TokenClass.ClassB;
        governancePower[investor] = amount;  // Standard governance power
    }

    function getGovernancePower(address user) public view returns (uint256) {
        return governancePower[user];
    }
}

This code distinguishes Class A and Class B tokens and adjusts governance power accordingly. Class A tokens have 5x voting power, while Class B tokens have standard 1:1 voting power.

PreviousTotal Supply Breakdown (10 Billion KLIKcoins)NextTime-Locked Tokens for Future Sales

Last updated 8 months ago