Complete Technical Documentation for Blockchain-Based Carbon Market Platform
CarbonCore.Earth is a comprehensive blockchain-based platform for streamlined creation, validation, and trading of carbon credits and CDR certificates. Built on Ethereum with smart contracts, the system provides complete transparency throughout the entire lifecycle of carbon sequestration projects.
Comprehensive developer documentation in minimalist text format (Courier monospace, black on white):
💡 Tip: All guides are in plain text format, optimized for terminal viewing and easy searching. Open in any text editor or use cat guide-XX.txt in terminal.
Sepolia Testnet Addresses:
1. User creates UID profile (UserUID contract) 2. Register territory with geographic boundaries (TerritoryRegistry) 3. Submit onboarding request (RequestManager) 4. Status: PENDING + Pending
5. Admin generates invoice → COMPLETED + UnderExpertise 6. User pays → COMPLETED + Pending 7. Admin confirms payment → REVISION + Pending 8. Expert claims territory → REVISION + UnderExpertise 9. Expert submits verification with CO2 data → REVISION + ExpertVerified 10. Admin confirms expertise → APPROVED + ExpertVerified 11. VVB validation → APPROVED + GovernmentVerified 12. Admin final approval → COMPLETED + GovernmentVerified
13. Create project via CarbonCreditFactory.createProject() 14. Automatic ERC-20 token deployment via TerritoryTokenFactory 15. Daily token issuance via issueCredits() (callable by anyone) 16. Tokens sent to UID-based beneficiary 17. Status: HAS_ACTIVE_PROJECT
Annual CO2 Absorption = Territory CO2 rate (kg/year) Daily Token Rate = Annual CO2 / 365 days Token Precision = 18 decimals (ERC-20 standard)
Annual CO2: 94,000,000 kg/year Daily Rate: 257,534 tokens/day Token Symbol: CCT24-2025 Contract: Unique ERC-20 per project
Single solution for all token operations with automatic decimal detection:
// Parse amounts with correct decimals await tokenManager.parseAmount(amount, tokenAddress); // Format for display await tokenManager.formatAmount(wei, tokenAddress); // Check balance await tokenManager.getBalance(tokenAddress, walletAddress); // Approve tokens await tokenManager.approve(tokenAddress, spender, amount);
Deal metadata management through CommentManager:
// Get order metadata
await MetadataService.getOrderMetadata(orderId);
// Structure for RFQ
{
"metadataType": "RFQ",
"requirements": { ... },
"contactPreferences": { ... }
}
Universal details window accessible from all modules:
// Show details from any module window.TerritoryDetailsService.showDetails(territoryId); // Available from: territory list, token management, map, deals
| Category | Status | Description |
|---|---|---|
| 1 | Initial Appraisal | New territory submitted |
| 2 | Awaiting Payment | Invoice generated |
| 3 | Payment Verification | Payment submitted |
| 4 | Under Technical Expertise | Payment confirmed |
| 5 | Active Expert Appraisal | Expert engaged |
| 6 | Pending Expertise Confirmation | Expert completed |
| 7 | Under VVB Validation | Sent to VVB |
| 8 | Ready for Credit Issuance | VVB completed |
| 9 | Issuance-Ready (Active) | Can create project ✅ |
| 10 | Active Carbon Project | Has tokens 🪙 |
| 11 | Renewal Required | Expiring soon |
| 12 | Rejected | Failed verification |
| 13 | Inactive | Deactivated |
| 14 | Territory Modified | Split/Merge/Extend |
GET /projects - List all carbon projects
GET /projects/{id} - Get project details
POST /admin/login - Admin authentication
GET /admin/validate - Validate JWT session
GET /admin/projects - Admin project list
POST /admin/projects - Create new project
PUT /admin/projects/{id} - Update project
DELETE /admin/projects/{id} - Delete project
GET /admin/transactions - View all transactions
GET /admin/project-types - List project types
📧 Email: info@carboncore.earth
📧 Technical: dev@carboncore.earth
💬 Discord: Join developer community