Core Registry: A Public Dashboard for Carbon Registries

A dashboard for a registry's public website, and credits issued to a saved name, not a hand-typed wallet address.

Client
Chia Network
Industry
Carbon markets
Scope
Product DesignWeb App DevelopmentData VisualizationBackend Development
Stack
FigmaReactTypeScriptRedux ToolkitChart.jsTailwind CSSNode.jsSequelize
Status
Delivered 2025

The brief#

Our team shipped two additions to Core Registry, Chia Network's open-source software for national carbon credit registries: a dashboard a registry can put on its public website, and an address book of the people it issues credits to.

A registry on Core Registry holds a country's carbon projects and credits. It can tokenize those credits on Chia's blockchain. Its records are published to the Climate Action Data Trust, a shared record of carbon credits, which began as the World Bank's Climate Warehouse. Bhutan, the first nation whose registry linked up with that shared record, runs its registry on Core Registry. Chia built the software with the Climate Warehouse team.

Tests of the system the World Bank had defined showed what countries running it would need next. Those changes were commissioned by the Kingdom of Bhutan and the World Bank, and Chia brought them to us. The two biggest pieces: the whole registry in one view, in the app and on the country's public site, and an end to keying in each recipient's wallet address by hand, a chore that was daunting and invited mistakes.

The hard part: eight repositories and a synced node#

Before changing anything, our team had to get Core Registry running, and it is several apps, not one. The registry had a back end and an interface, and so did the tokenization engine. The token driver, the piece that creates and destroys tokens on the chain, was also what ran the explorer, and the explorer brought an interface of its own. Two further repositories combined everything into a single API and a single app.

A local copy meant eight repositories working together: the JavaScript apps on one version of Node, the token driver on one version of Python, all reading one shared config file. At the bottom sat a Chia node, whose wallet and DataLayer had to sync to Chia's test network for registries before anything above them would start.

Chia's engineers took our team through the setup on calls, and they merged only signed commits. Our first line of new code came after all of that was in place.

What we built: a dashboard a registry can publish#

The dashboard is a new app that sits next to the registry's own. Chia had outlined what it should show. Saif Pasha designed it, in Figma first and then in code.

Page one gives project counts per status, with every status linked to its glossary definition. It breaks issued carbon down by methodology and by project type, and shows the number of projects the registry hosts itself. Page two plots issued carbon across ten years by unit type, with a status filter, and all the registry's credits per status, with a vintage filter.

A registry can host the dashboard on its public website because it also builds as a standalone web app. Chia's engineers then added it to Core Registry, making it the suite's fourth app.

[ Under the dashboard ]

The address book and the gate in front of it#

The address book took our team into the back end. Its hardest piece was the proxy. Credits are issued in the tokenization engine, which had no database. Because the engine always runs alongside the registry, the address book went into the registry's database. The engine's interface still talks only to the engine, which passes each request on.

Two facts shaped the proxy. Who an issuer sends credits to is private, and a registry can also run as a read-only copy open to public queries. So the proxy is a gate. It first looks for the tokenization engine's own key. Only a request carrying the correct one gets the registry's key, which the proxy reads from its config and attaches on the server, out of every browser's reach. Anything else stops at the gate and never reaches the registry.

The issuer sees a list. Each recipient's name and wallet address goes in once, and can be edited or deleted on the same page. From then on, issuing credits starts with a name chosen from a dropdown, though pasting an address still works.

[ Under the address book ]

The outcome#

Chia's engineers reviewed and merged every change into Core Registry's open-source code, and Chia handed the work on to the World Bank and Bhutan.

The dashboard's three pull requests in Chia's core-registry-dashboard-ui repository on GitHub, for the projects page, the units page and a refactor, each merged in October and November 2024
The pull request that created the address book's proxy in Chia's Climate-Tokenization-Engine repository on GitHub, merged into develop on 2 January 2025

With the dashboard in place as the suite's fourth app, any country on Core Registry could now show the public its registry's numbers on its own website. Its issuers could send credits to a recipient saved and checked once, where every issuance used to begin with a wallet address typed by hand.

Everyone at Chia owes you a beer, Saif. We hand you things with next to no instructions, and somehow you pull it off again.
Craig Cornick, Chia Network

Led by Saif Pasha. Built by the team at Silverthread Labs. © 2026 Saif Pasha and Silverthread Labs. Ref. SL-STL-CR-2501

Last updated: November 10, 2026

Back to Projects

[ How It Works ]

Free Automation Audit

We find the 20% of your manual work that costs you the most, then show you exactly how to eliminate it.

STEP 1.0
Tell Us What Hurts

Tell Us What Hurts

A 30-minute call. Walk us through your daily operations and we'll spot the bottlenecks you've stopped noticing.

STEP 2.0
We Rank the Wins

We Rank the Wins

We score every opportunity by impact and effort, so you can see where AI saves the most time and money.

STEP 3.0
You Get the Playbook

You Get the Playbook

A prioritized roadmap you can act on. Execute it with us or on your own. Yours to keep either way.