Interoperability
How Carrot smart contracts are designed for external integration, on-chain verifiability, and ecosystem composability.
Designed for integration
The Carrot Network's smart contracts are built on open standards and deployed on a public blockchain, making them inherently interoperable with the broader blockchain ecosystem. Every operation — from minting MassIDs to purchasing credits to distributing rewards — emits on-chain events that external systems can monitor, index, and verify.
On-chain verifiability
All Carrot smart contract transactions are publicly visible on the blockchain. This means:
- Credit purchases and retirements can be independently verified by auditors, regulators, or any interested party.
- Token balances and certificate records are queryable in real time.
- The full provenance chain — from MassID through certificate to retired credit — is traceable on-chain.
Because this data lives on the public blockchain, transparency and trust do not depend on Carrot's infrastructure. Any blockchain block explorer (such as PolygonScan) or indexer can access raw transaction data directly on-chain. The Carrot Explorer adds a domain-focused view, combining on-chain data with platform data (methodology definitions, rule execution, accreditations) for environmental context and traceability.
Queryable events
Every major operation emits structured events that can be indexed by off-chain systems:
| Operation | Key events |
|---|---|
| Minting | MassID minted, Certificate minted, Credits minted |
| Purchase | Purchase executed, Credits transferred, Rewards assigned |
| Retirement | Credits retired, Retirement receipt minted |
| Rewards | Rewards recorded, Credit note withdrawals |
| Revocation | Token revoked, Credits burned |
These events enable third-party applications to build dashboards, analytics tools, or compliance reporting systems on top of Carrot data without requiring direct access to the platform.
Credit transferability
While all NFTs in the Carrot system are soulbound (non-transferable), credit tokens (ERC-20) are fully transferable by design. This means:
- Credits can be traded on decentralized exchanges or OTC markets.
- Secondary market liquidity can develop around environmental credits.
- Buyers can acquire credits from multiple sources and consolidate them before retirement.
This fungibility and transferability make Carrot credits composable with the broader decentralized finance (DeFi) ecosystem while maintaining full traceability back to verified recycling work.
Registry-based contract discovery
The smart contract architecture uses a ContractRegistry that maps logical names to deployed addresses. This design enables:
- Seamless upgrades — Contracts use the UUPS (EIP-1967) proxy pattern, so the proxy address remains stable across upgrades. When
upgradeTois called, only the implementation address stored inside the proxy changes — the ContractRegistry entry (which points to the proxy) does not need to be updated, and all dependent contracts continue operating without redeployment. - Loose coupling — Contracts don't hardcode addresses of their dependencies, making the system more resilient and easier to evolve.
Deployment network
The Carrot Network is blockchain network agnostic: smart contracts are implemented in Solidity and could be deployed on any EVM-compatible network. Carrot currently deploys on Polygon PoS for these reasons:
- Low transaction costs — Environmental credit operations (minting, purchasing, retiring) can be executed affordably at scale.
- EVM compatibility — Full compatibility with Ethereum tooling, wallets, and developer ecosystem.
- Established ecosystem — Broad support from indexers, explorers, and DeFi protocols.
Learn about smart contracts · Learn about contract categories · View the Carrot Explorer