Register a company
Register your company onchain. Email and phone stay in your browser; only a hash goes onchain.
Company registration writes your company profile and reported emissions to the onchain CarbonRegistry. It does not mint or give you any credits: there is no starter pack. You obtain credits by buying them or from an authorized issuer.
What becomes public
Company name, legal entity ID and emission figures are public and permanent on the blockchain. Email and phone are not published: the app computes contactHash = keccak256(abi.encode(email, phone, salt)) with a random salt and stores only the hash onchain. The email, phone and salt are kept in this browser's local storage.
Prerequisites
- Wallet connected on the target network with a little gas ETH.
NEXT_PUBLIC_CARBON_REGISTRYconfigured.- A wallet with no existing registry profile: each wallet is either one company or one trader, once.
- No backend is required. Leave
NEXT_PUBLIC_BACKEND_URLempty unless you run your own: when it is set, the registration details, including email and phone, are sent to that server.
Steps
Open the form
Go to /app/company/register and connect your wallet.
Fill in the details
Required: company name, legal entity ID, email (contains @), phone. Optional: Scope 1, 2 and 3 annual emissions in tonnes CO₂e. The form shows the total. The name, legal ID and emissions are stored onchain and drive the company dashboard's coverage figures.
Submit
Click Register Company. The app generates the salt, computes the contact hash and calls CarbonRegistry.registerCompany(name, legalId, scope1, scope2, scope3, contactHash); one wallet signature, and the app waits for the receipt. Email, phone and salt are then saved in your browser.
Verify
You are on the company dashboard, which shows your profile, emissions, your contact commitment (hash) and a KYB Pending badge until a verifier reviews your profile.
Details worth knowing
- KYB review. A
VERIFIER_ROLEaccount approves the profile hash it reviewed (profileHashOf). It is a review of what you submitted, not a guarantee about your company. - Editing resets KYB. Re-opening the page after registering shows Save Changes Onchain. Changing your name, legal entity ID, contact details or any Scope 1/2/3 figure calls
updateCompanyProfile/updateEmissionsand resets the KYB flag; a verifier must review again. Leave email and phone empty to keep the current contact hash. - One verified wallet per legal ID. A legal ID can be verified for one wallet at a time.
- Local contact data. If you clear this browser's storage you lose your email, phone and salt; the onchain hash stays.
If it fails
| Symptom | Cause |
|---|---|
| "Registry not configured" | NEXT_PUBLIC_CARBON_REGISTRY is missing. Set it and restart the dev server. |
Already registered | This wallet already has a company or trader profile. Use another wallet. |
Pausable: paused | The registry is paused by its operators. |
| Revert on name, legal ID or emissions | A field is empty or over the limit (name 100, legal ID 64 characters; each emission at most 1 trillion tonnes). |
Reference: Company page · CarbonRegistry