Chroma Token Logo

CHR [Chroma] Token

About CHR


Token 3 years
CoinGecko 5 years
CoinMarketCap 5 years
white paper

Chromia is a blockchain platform that allows building decentralized apps 7-10 times faster than mainstream blockchains. It is built on relational database technology, the technical solution for the real world that powers users’ social networks, banks, and other web services. This technology simplifies data management even for complex applications.

Chromia combines blockchain security with database flexibility to enable the next generation of dApps to scale beyond their typical capabilities. It can be used as a private, public or hybrid blockchain offering intuitive, fast, and easy development. Chromia is suitable for building solutions in such verticals as games, enterprises, DeFi, governments, private institutions, and financial applications. In addition, it works well with Ethereum providing cheaper and faster development time, fast queries, and fast transaction confirmations.

The team’s key goal is to make innovations go mainstream while reducing fraud and mistrust to the new technologies. Chromia is the subsidiary of ChromaWay, a blockchain company founded in 2012. It is headquartered in Norrmalm, Sweden.

The Chromia features

To reach its goals, the Chromia platform features such technologies as authenticator descriptor, single sign-on, and Rell.

Authenticator descriptor allows users to attach multiple key pairs to one account without having to remember them. Single sign-on (SSO) is a feature that enables users to log in without a password while keeping their accounts’ security at a due level. For users with vault accounts, it only takes 2 clicks to register and login to any Chromia dApp. To improve security and productivity, the Chromia team has created Rell, a universal language for blockchain smart contracts based on SQL, which provides more flexibility, security and significantly reduces the number of lines in the code compared to other blockchain languages.

The Chromia ecosystem

The Chromia ecosystem includes a relational blockchain, a block explorer, a token, Chromia Vault, dApps, providers, and Chromia Originals.

The Chromia explorer is based on blockchain and fully decentralized as it shows transactions and activities on different chains. Chromia Vault is a wallet that helps users to manage their tokens and dApps on the platform. Chromia Originals is a new standard protocol for NFTs providing improved ownability, exchangeability, composability, mutability, programmability, and portability. It expands NFTs usage allowing to tokenize both digital and real-world assets from videos and art to real estate. The barrier for entry is relatively low allowing any professional hosting company to become a provider, i.e. launch a node, and participate in verifying blocks.

The Chromia token

The Chromia platform is powered by the utility token Chroma (CHR) designed with the goal to facilitate the processes for developers, users, and investors and help them communicate more efficiently. The Chroma token was launched in May 2019. At the time of writing, CHR token exists in two versions: as a native CHR token based on the Chromia blockchain and as an ERC20 token after the fork in October 2020.

The maximum Chroma token supply is limited to 1 billion coins. They are allocated in the following way: 17.94% and 4% of tokens were released during the private sale and the IEO respectively, 38.06% went to the ecosystem fund, 25% of the total supply is kept in the promotional fund, 4.5% was reserved for the founders, 3% was reserved for advisors and 2.5% for the team, 3% was put into an auto conversion contract to ensure CHR to ETH conversion, and 2% went to system node compensation pool.

The tokens are set to be released into circulation monthly until December 2024. The tokens intended for advisors, the promotion fund, the ecosystem fund, and the conversion contract will continue to be distributed in 2025 and beyond. 25% of tokens are burned to prevent price volatility and benefit all CHR holders.

CHR utility cases

The CHR token can be utilized for staking, trading, system-wide purposes, governance, and covering hosting fees.

As the Chromia ecosystem currency, CHR is used by dApps to compensate block-producing nodes by paying hosting fees. End-users cover fees while using dApps that also keep CHR in reserves to provide liquidity and value for their own tokens. Besides, CHR is used to compensate dApp investors through a profit-sharing contract. Developers also get income from their applications in CHR. Finally, Chromia has implemented a governance mechanism, which allows users to decide on code updates and choose applications they want to keep functioning.

Providers are required to stake Chroma tokens to get incentives to collude and to secure their nodes. The collateral is lost when nodes owned by providers misbehave. The platform has several accounts holding CHR tokens for system-wide purposes such as ERC20 token pegging, node compensation pool, or development pool. Chroma tokens are put into the smart contract reserves to support their conversion to game tokens. Users can stake CHR at the Chromia staking platform and earn 25% per annum. Tokens must be frozen for at least 2 weeks for their holders to receive rewards.

CHR can be bought or traded on several cryptocurrency exchanges including Binance, Mandala, FTX, CoinTiger, KuCoin, and Huobi Global. Oddz Finance provides options and derivatives trading for Chromia’s token. In addition, users can pay for their flights and hotels with CHR on Travala Travel.

Chromia’s team and partners

Chromia was established by three co-founders Or Perelman, Henrik Hjelte, and Alex Mizrahi who are also the co-founders of the first blockchain token protocol Colored Coins, and the first Colored Coins wallet ArmoryX.

Or Perelman has been the COO of the project since May 2018. He is also an investor at Hedget, a decentralized option trading protocol. Henrik Hjelte is the CEO at Chromia. Alex Mizrahi is the CTO with a strong background in computer science, algorithms, and programming language theory. Other team members include Todd Miller, the Vice President and head of US Business Development, Jörgen Modin, a management consultant and a chief solutions architect, Charles Gyllhamn, a marketing associate, and Riccardo Sibani, the Lead Developer.

Chromia has established strategic cooperation with Revolve Games, a play-to-earn blockchain gaming metaverse, and StadioPlus, an NFT marketplace specializing in sports. In addition, the project is backed by 21MCapital, Arrington Capital, Bitscale Capital, BiteSize, GEM Capital, and NGC.

Laser Scorebeta Last Audit: 8 July 2023

Token seems to be legit.



ERC20.constructor(string,string).name (#463) shadows:
- (#472-474) (function)
ERC20.constructor(string,string).symbol (#463) shadows:
- ERC20.symbol() (#480-482) (function)
Rename the local variables that shadow another component.

Additional information: link

Address._functionCallWithValue(address,bytes,uint256,string) (#384-405) uses assembly
- INLINE ASM (#397-400)
Address.isContract(address) (#291-300) uses assembly
- INLINE ASM (#298)
Do not use evm assembly.

Additional information: link

Different versions of Solidity are used:
- Version used: ['0.6.12', '^0.6.0', '^0.6.2']
- ^0.6.0 (#5)
- ^0.6.0 (#30)
- ^0.6.0 (#108)
- ^0.6.2 (#268)
- ^0.6.0 (#410)
- 0.6.12 (#717)
Use one Solidity version.

Additional information: link

Redundant expression "this (#23)" inContext (#17-26)
Remove redundant statements if they congest code but offer no value.

Additional information: link

Pragma version^0.6.2 (#268) allows old versions
Pragma version^0.6.0 (#410) allows old versions
Pragma version^0.6.0 (#30) allows old versions
Pragma version^0.6.0 (#5) allows old versions
Pragma version^0.6.0 (#108) allows old versions
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.

Additional information: link

Low level call in Address.sendValue(address,uint256) (#318-324):
- (success) ={value: amount}() (#322)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#384-405):
- (success,returndata) ={value: weiValue}(data) (#388)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence

Additional information: link

SafeMath.mul(uint256,uint256) (#182-194) is never used and should be removed
Address.sendValue(address,uint256) (#318-324) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#369-371) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#260-263) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#379-382) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#224-230) is never used and should be removed
Context._msgData() (#22-25) is never used and should be removed
SafeMath.mod(uint256,uint256) (#244-246) is never used and should be removed
SafeMath.div(uint256,uint256) (#208-210) is never used and should be removed
Address._functionCallWithValue(address,bytes,uint256,string) (#384-405) is never used and should be removed
Address.isContract(address) (#291-300) is never used and should be removed
Address.functionCall(address,bytes,string) (#354-356) is never used and should be removed
Address.functionCall(address,bytes) (#344-346) is never used and should be removed
Remove unused functions.

Additional information: link

transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#559-563)
decimals() should be declared external:
- ERC20.decimals() (#497-499)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#596-599)
symbol() should be declared external:
- ERC20.symbol() (#480-482)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (#511-513)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#523-526)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#577-580)
changeMinter(address) should be declared external:
- ChromaToken.changeMinter(address) (#781-783)
name() should be declared external:
- (#472-474)
transferFromNative(address,uint256,bytes32) should be declared external:
- ChromaToken.transferFromNative(address,uint256,bytes32) (#761-765)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#542-545)
transferToNative(bytes32,uint256) should be declared external:
- ChromaToken.transferToNative(bytes32,uint256) (#750-753)
allowance(address,address) should be declared external:
- ERC20.allowance(address,address) (#531-533)
Use the external attribute for functions never called from the contract.

Additional information: link

No disclosed threats

Twitter account link seems to be invalid

BscScan page for the token does not contain additional info: website, socials, description, etc.

Additional information: link

Token is not listed at Mobula.Finance

Additional information: link

Unable to verify token contract address on the website

Unable to find audit link on the website

No disclosed threats

Price for CHR