Every time a new batch of carbon credits is brought on-chain, a number of new ERC-20-compatible tokens, called GCO2 tokens will be created. Each token created represents a verified removal or reduction of one tonne of carbon dioxide equivalent from a specific project and vintage year.
Each batch of carbon credits brought on-chain will need a unique GCO2 token. In order to reduce the complexity that naturally results from the creation of many new tokens, Flowcarbon is taking a factory pattern approach to smart contract development. An implementation contract containing all the logic associated with any token is deployed once. Then a new instance contract is deployed for each carbon credit batch brought on-chain. The instance contract maintains the state of the batch and delegates all logic to the implementation contract. This approach allows for scalability and helps keep associated gas costs to a minimum.
Given that there will likely be low liquidity for any one specific GCO2 token, GCO2s will have limited functionality. They can be retired, redeemed for the underlying off-chain carbon credit or bundled (discussed later).
GCO2 tokens may be permissioned meaning that only those who have gone through our Know Your Customer (KYC) process may hold GCO2. This is to ensure compliance with registering bodies as certain functions (i.e. redemption) are only available to those with accounts at the registering bodies.