Carbon.FYI Safe App
Alex, Brendan, Drew, Damien
What project are you building
An emissions calculator that enables users to see the CO2 impact created by transactions made with a Gnosis Safe, and optionally allow these emissions to be offset with various payment options.
Why did you decide to build it
Climate change is the issue of our generation. Climate action requires awareness raising through carbon impact assessments. Awareness raising should ideally be followed by action to mitigate or compensate for carbon impacts.
Carbon.fyi and its documentation has been a useful tool in building climate awareness and starting the conversation across Ethereum, NFTs and blockchains more generally. Building the Carbon.fyi Safe App can help continue to spread awareness, and create more conversation on climate issues, e.g. iterations on blockchain carbon accounting methodologies, ideas on constructive & creative ways to have positive carbon impact!
How long will it take
How much funding are you requesting
How did you hear about this grant
We initially spoke to Beth and Lukas about Carbon.fyi and Offsetra, and then found the grants when researching on how to get the resource on board to build the App.
Safe App description
Carbon.fyi calculates top-level CO2 emissions from the Ethereum network, converts it to an aggregated emissions factor for the network based on mining geographies and grid-level emissions factors, and then allocates emissions to network users based on the gas utilised per transaction. Hence, an indicative emissions factor per unit of gas is found.
We envisage the core functionality of the Safe calculate CO2 emissions from NFTs, ERC-20 transfers and contract interactions.
By connecting the Safe App directly to Offsetra’s Gnosis Safe, an offset functionality can also be delivered at different levels of complexity.
The emissions factor utilised in carbon.fyi is defined and ready to be integrated with new products. So, the next steps are deploying this as a Gnosis Safe App; this grant will enable the team to bring on the resource to build it by early summer.
This will be a port and enhancement of our existing app which is hand-built with Next.js and React.js, written in TypeScript, and leverages our open source Ethereum emissions calculator library available on Github (Also TypeScript)
Design will mirror what is already visible on carbon.fyi. Work will mostly go towards making this isomorphic next.js web app function as a single-page web app which can be hosted on IPFS in order to meet the SafeApp requirements for approval. Additional work will go towards interfacing with the Safes themselves similar to our Metamask integration.
Individual / Team description
Brendan - software engineer, will lead, with support from the team
Timeline, Milestones and Deliverables
MVP: Read-only - 6 days.
- Build a single-page-app that would receive the Safe Address via the Safe Apps SDK and calculate the associated CO2 emissions
- CO2 Emissions are split up by categories (NFT transfers, ERC-20 transfers, Contract interactions, etc.)
- Built to the requirements for official SafeApp approval
V2: Checkout - 2 days.
- Offset the calculated amount via a manual cryptocurrency transfer to Offsetra (via CoinGate web interface)
- Ability to chose which Offset project to support
- Cerro de Hula Wind Project
- Agrocortex REDD Project
- Bull Run Forest Carbon Project
Maintenance - ongoing
- The Safe App will be updated with latest available data for Ethereum’s carbon impact (i.e. energy consumption, updated emissions factor, block fullness), as well as available carbon credits and pricing.
Given that it will essentially be reading Safe Apps for their carbon impact, based on gas usage by using open source data on Etherscan, it is considered safe and low risk.
Once the Safe App V2 is launched, we intend to develop further iterations, such as Proof of Action certificates that are non-transferrable NFTs issued to wallets that purchase carbon credits. This is outside the skillset of the team right now, but we will scope this out as develop the Safe App MVP.