Verra Bridge [Deprecated]

Below is the historical archive of documentation regarding the deprecated Carbon Bridge to Verra

Attention: The Verra Registry currently does not support the tokenization of carbon credits and this will not be available on the Toucan UI. Read our official response to the Verra announcement.

Verra Guide to Bridging


Create an empty Batch NFT on Polygon, which will represent a tokenized batch of carbon offsets retired in the source registry.”Attention: Verra Registry currently does not support the tokenization of carbon credits and this will not be available on the Toucan UI. Verra Registry is currently identifying the safest way forward regarding carbon credit tokenization. Read our official response to the Verra announcement.”The bridging process starts on our dApp with the minting of a non-fungible token: a BatchNFT. The BatchNFT is in an initialized state and doesn't have any offset-specific metadata yet. But it has a unique identifier, which is our input for step 2 of the process.You will need a batch NFT for each project and vintage of carbon offsets you want to retire in the source registry. This might mean you need to initialize multiple batches, and provide multiple Toucan IDs in the Retirement Details of different batch retirements.To initialize a batch retirement, sign in and go to the Toucan Bridge.

  1. 1.Click on "New Retirement".

  2. 2.Select which registry you're bridging from — at launch, only Verra is supported.

  3. 3.Select whether you have access to the registry, or if a partner will be retiring the offsets on your behalf.

  4. 4.Click "Initialize". Metamask will load a pop-up: review and if everything looks good, click "Submit" to sign and broadcast the message to the Polygon network.

  5. 5.Within a few seconds, the transaction should be validated. A new page will load with detailed instructions on the next step.

It is very important that you read these instructions carefully! They explain how to retire the batch of offsets you want to bridge in the Verra registry.The interface will include a few pieces of information that you MUST carefully and correctly copy and include when you or your partner retires the batch on Verra.Mistakes here will result in an irrevocable loss of funds!Here is an example of the box showing retirement details on the Toucan Carbon Bridge interface. This appears after the transaction initializing a batch has been validated on Polygon

With these details you're ready to retire the batch of offsets on Verra ->.

Next, the carbon credits to be tokenized are retired in a traditional carbon registry and the unique identifier of the BatchNFT is included in the retirement note. By including this unique identifier in the public registry, we create a permanent link between the retirement event and the NFT.

For this step, you need to have a registry account or work with someone who does. If you don't have access to a registry account, you will need to work with someone who does.

It is critically important that you or the Verra account holder follow these instructions carefully, or you may make mistakes that lead to irrevocable loss of funds / carbon credits, for which Toucan is not liable.

Retire on Verra

Caution!!! You must only retire credits from the same project AND vintage in a single retirement. In no case can you retire credits from different projects or vintages in the same retirement event!

So if you have credits from Project A from 2010 and 2011, these must be retired in separate events!

Furthermore, you must include different Retirement details for these different retirements. You will need to work with the person buying the credits from you to provide enough Toucan retirement details for each retirement.


Next, you'll retire the batch of carbon credits you want to bridge on the Verra registry. It is critical that you include the information provided by Toucan when you submit the retirement, including:

  • the Beneficial Owner: the Ethereum address that initiated the batch bridging process,

  • the Retirement Reason: "Other",

  • the Retirement Detail: a string containing the Toucan batch NFT ID.

  • Also check two boxes: Make Account Name, Beneficial Owner, and Retirement Reason Public and Make Retirement Reason Details Public.

  • Include a link to this section — Instructions for Verra account holders.

Notice how the code Toucan provides to include as the retirement detail includes a hexadecimal number. This is the transaction hash of the "mint empty batch" transaction, meaning it is connected to the Ethereum address that initiated it, the NFT contract and the token ID.


Including this information in the retirement creates a unique, one-to-one link from the batch retirement in the source registry and the batch NFT on chain.

Instructions for Verra account holders

  1. Log into your Verra account. (If you are using the EMA interface for Verra, that is ok as well).

  2. Go into the account where you are holding the credits to be retired In “Transfer Quantity” on the right, input the number of credits to be retired, and check the box for “Add Batch.” DO NOT select credits from different projects, or from the same project but different vintages.

  3. Go to the top left and make sure the total number to be retired matches what you inputted, and hit the “Batch Transfer” button.

  4. In the retirement interface, select the “Retirement Sub-account” radio button.

  5. Input in the exact details provided by Toucan.

  6. Check the boxes to make all information public.

  7. In the “email notifications” section, make sure to include among the emails you send confirmation to. (This is important!!)

  8. Send the serial number of the retirement to the person using the Toucan Carbon Bridge.

Submit serial number

Offsets are retired in batches and each retired batch of credits has a unique serial number provided by the registry after retirement. For VCS credits, it looks something like this:0001-000001-000100-VCS-VCU-003-VER-US-0003-01012020-31122020-1This serial number carries a lot of relevant information, including the number of offsets, certifying standard body, project identifier, country, monitoring period (vintage), and more. The full taxonomy can be found here.The next step is to update the BatchNFT with this serial number. Now the link between the legacy and on-chain registries is complete—the BatchNFT is linked to the retirement entry in the legacy registry through the serial number and the retirement entry has the NFT's unique identifier in its metadata_._ These steps are key because they ensure that double counting / double bridging of carbon offsets is not possible.Furthermore, the serial number is used to update the BatchNFT with project-specific attributes, some of which are stored on-chain while others are stored as metadata on IPFS. This information will be useful down the line. Submitting the serial number to the BatchNFT contract changes the state of the NFT to awaits approval.We discovered that some retirements (especially those made through EMA) sometimes return multiple serial numbers. You can input these numbers in the interface by clicking + to add additional fields.These serial numbers must all refer to the same project AND vintage, as described in the Retire section.


In order to complete the one-to-one link between the source registry and the on-chain, tokenized carbon offsets, we need to write the serial number we received from Verra on chain. This ensures that every Toucan carbon offset can be easily traced back to the entry in the source registry.

  1. From the interface we left at the end of the Initialize step, click "I have retired my credits" to advance to the next page.

  2. Paste the serial number provided by Verra into the text box. Clicking "Confirm serial number" should trigger the app to fetch project details and display them. Inspect this to make sure it all looks accurate!

  3. If it all looks accurate, "Submit for approval", review the data in Metamask and click Submit to sign and broadcast the transaction to the network.

  4. Check to make sure that was included in the retirement confirmation email you received from Verra. If not, forward that email to with the batch NFT token ID in the subject line.

Great! You've completed the first sequence in the bridging process.

Await approval

”Attention: Verra Registry currently does not support the tokenization of carbon credits and this will not be available on the Toucan UI. Verra Registry is currently identifying the safest way forward regarding carbon credit tokenization. Read our official response to the Verra announcement.”Once the BatchNFT is updated with a serial number, it needs to be approved by a Toucan Verifier, a trusted member of the Toucan community. This step is required to protect against fraudulent inputs and is dependent on human action and trust, for now. However, there are ways to automate this process in the future, e.g. with a decentralized arbitration service like Kleros managing disputes, which we are exploring.Once the correctness of the serial number input is confirmed by a Toucan Verifier, the state of the BatchNFT changes to approved and is now a fully tokenized batch of carbon credits that can be sold on NFT marketplaces or used as collateral in DeFi lending markets 🥳However, for many other use cases—such as sending a fraction of a credit or creating carbon pool tokens—NFTs can be a bit unpractical. This is why we think most users will want to take at least one more step: to fractionalize the batch NFT into fungible TCO2 tokens.


From a batch NFT to ERC20 carbon tokens.

The bridging process is completed when a Toucan Verifier approves the batch NFT — that means the batch has been successfully tokenized! This NFT is an ERC721 token, which means it is compatible with a range of other NFT protocols on Polygon. We're excited to see what people build with these NFTs.However, there's another step required to move towards the Toucan vision of programmable carbon.In the last step of the bridging process, the BatchNFT can be used to mint an equivalent number of fully fungible ERC20 tokens which we call TCO2 tokens. The "T" here stands for "Toucan" - or "tonne" — or "tokenized" — and 1 TCO2 token represents 1 carbon credit with a value of 1 tCO2e. So, an NFT representing a batch of 100 credits can be fractionalized into 100 TCO2 tokens.To fractionalize your approved batch NFT, make sure you're signed in:

  1. Once your batch is Verified, click "Finalize". (This will be available via that "Take action" button on the right of the batch row in the claims interface as well.)

  2. Approve the transaction. When it's validated, you'll have TCO2 tokens in your account!

Toucan Statement on HFC-23 VCUs

Toucan has blocklisted batches from methodology AM0001 from being sent across the Carbon Bridge or deposited in the Base Carbon Pool.

The Toucan Protocol bridges the world's voluntary carbon markets onto public blockchains where open, transparent markets can securely flourish at scale. Healthy carbon markets are a key component to support humanity's efforts to address the climate crisis — climate finance connects planet-positive projects with the capital needed to create ecological impact.

Carbon markets have been evolving over the past decades, with key ecosystem players constantly working to improve the quality and integrity of carbon credits. At times this has meant ceasing to approve carbon credits that were previously valid.

Specifically, in 2014 the Verified Carbon Standard announced that it would stop issuing credits for projects related to HFC-23, a byproduct of the refrigerant manufacturing process. This decision was based on Verra's acknowledgement of the misincentives created by these methodologies. (9 January Program Update)

These HFC-23 credits are still active in the Verra registry. It was brought to our attention that these phased-out credits were being bridged after a number of batches constituting ~600,000 tCO2e had been approved. Upon learning that these credits were being bridged, the two projects employing this methodology were immediately blocklisted to prevent further credits from these projects being tokenized. Toucan has also updated the gating criteria of the Base Carbon Pool to prevent these phased out credits being deposited into the pool in return for BCT tokens.

We feel this action is important and justified — our objective is to create a high-integrity carbon market. The Toucan Bridge builds on Verra's role verifying the integrity of carbon credits. Verra's public statements indicating their decision to stop issuing HFC-23 credits in 2014 serves as our basis for blocklisting these credits on the Toucan Bridge without undermining our neutrality. We will not approve any further HFC-23 credit batches over the bridge or the BCT pool.

We are exploring to what degree we need to develop further governance processes to manage risks related to low-integrity credits.

Toucan's overarching objective is to provide infrastructure for a regenerative economy. We believe that care for the Earth should be embedded in the ways we transact value — that planet-positive actions should be the default, not the exception. To get there, we are building open infrastructure and doing everything we can to build and scale in line with our values. After considering this deeply, we feel strongly that this action is warranted, mainly because Verra itself deprecated support for these credits.

Last updated