WPay.sg

How to Check if a Carbon Credit Token Has Been Double Counted

Double counting happens when the same carbon credit is used more than once to offset the same emissions - whether that means two tokenised versions of the same credit existing on-chain, or a credit being retired in a registry while its tokenised twin is still trading. You can check for double counting, but the process requires looking at both the registry and the blockchain, and understanding that neither one is automatically the source of truth.

The core question is simple: has this specific credit already been claimed, retired, or otherwise used up before you acquired its token? The answer is found by comparing three records: the carbon registry's entry for the credit, the token's metadata, and the retirement or transfer history on the blockchain. If those three don't align, you are likely looking at a problem.

Start with the serial number, not the price

Every real carbon credit has a unique identifier issued by its registry. For Verra credits, that is a serial number in the VCS registry; for Gold Standard, a similar unique code. The token's metadata should contain this serial number. If it doesn't, you already have a warning sign - a token without a verifiable serial number cannot be traced back to a single credit, which means double counting is possible but undetectable.

Find the serial number and go to the registry's public search page. Look up the serial number there. The registry will tell you the credit's current status: active, retired, or sometimes pending. Write down what you see.

Check whether the registry says "retired" but the token says "active"

This is the most common double-counting failure. A credit gets tokenised, the token is sold, and then at some point the same credit is also retired in the registry - perhaps to make a claim, perhaps by accident, perhaps fraudulently. If the registry shows the credit as retired, but the token's metadata says "active" and the token is still trading, you have a mismatch.

The reverse also happens. A credit is retired in the registry first, then someone mints a token for it anyway, claiming the token represents a retired credit. That token is worthless as an offset, because the credit is already gone. The registry will show retired; the token might say "retired" too, but the question is whether the token was minted before or after the retirement date. If the token was minted after the registry retirement, the token is a ghost.

Trace the token's contract and history on-chain

You need to see where the token came from. On Ethereum-based chains, look up the token contract address and the specific token ID. Most tokenised carbon credits use the ERC-20 standard for fungible credits or ERC-721/1155 for non-fungible or semi-fungible ones. You want to find:

  1. The original mint transaction - who called it, and what did they say the backing credit was?
  2. The credit's registry serial number embedded in that mint transaction's data.
  3. Whether that same serial number appears in any other token contract.

The last point is critical. A credit can be tokenised more than once. Some projects have minted multiple tokens for the same credit across different platforms. Search the serial number on a block explorer and on tokenisation platforms like Toucan or Celo's carbon market hubs. If the same serial number appears in two different contracts, you have double tokenisation - even if neither token has been retired yet.

Check the retirement address, not just the token

When a credit is retired on-chain, the token is sent to a null address or a designated retirement contract. But retirement on-chain is not the same as retirement in the registry. A token can be burned on-chain while the underlying registry credit remains active - that means the credit can still be sold or retired elsewhere. Conversely, a credit can be retired in the registry while its token is still circulating.

So ask: does the token's metadata point to a registry retirement transaction? Or does it only show an on-chain burn? If the registry has no record of retirement but the token was burned, you have a credit that is still alive in the registry - and that credit could be tokenised again. That is not double counting yet, but it is a path to it.

Look for the registry's own "tokenisation lock"

Many registries now restrict or prohibit tokenising credits that have already been retired. Verra, for example, has rules about when credits can be tokenised. But these rules are not always enforced retroactively, and older tokens may predate the restrictions. Check the registry's current policy on tokenisation, and then check the token's mint date against that policy. A token minted after a registry banned tokenisation of retired credits - but which references a retired credit - is a red flag.

Cross-check the project's issuance and retirement history

A single credit is not the only thing that can be double counted. Sometimes a whole project's issuance is miscounted. Go to the project's page on the registry and look at the total credits issued, the total retired, and the total still active. If the registry says 10,000 credits were issued but 11,000 tokens exist on-chain, you have found a project-level double count. This is rarer than individual credit mismatches, but it happens - especially with older, poorly documented projects.

What to do if you find a mismatch

If the registry says retired and the token says active, do not buy the token. If the token says retired but the registry shows the credit as active, the token's claim is false - you are holding a token that does not represent what it says. If you already hold such a token, your options are limited: you can try to contact the tokenisation platform, but there is no guarantee of recourse.

The honest bottom line

You cannot fully verify a token's carbon credit backing from the token alone. You can only verify it by checking both the registry and the blockchain, and by confirming that the same serial number does not appear in more than one place. If you cannot find the serial number, or if the registry and the chain disagree, assume double counting is possible and treat the token accordingly.

Not financial advice. WPay.sg publishes market data and general information about digital assets. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.

Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.

Back to carbon credits