26 example walkthrough

Overview

This document provides a concrete, end-to-end example walkthrough demonstrating how the platform works in practice. It's written to be layman-friendly but developer-precise.

Example: Solar Project Rajasthan

Project Details

  • Project Name: Solar Rajasthan 2024

  • Project Type: Renewable Energy

  • Location: Rajasthan, India

  • Methodology: VCS (Verified Carbon Standard)

  • Vintage Year: 2024

  • Verifier: Verra

  • Verifier Reference: VCS-12345

  • Verified Credits: 10,000 tons CO₂

1

Project Submission

Project Owner Actions

Rahul (Project Owner) wants to issue carbon credits for his solar project.

  • Rahul creates project:

    • Name: "Solar Rajasthan 2024"

    • Type: Renewable Energy

    • Location: Rajasthan, India

    • Methodology: VCS

    • Vintage: 2024

    • Verifier: Verra

    • Verifier Ref: VCS-12345

  • Rahul uploads documents:

    • Ownership certificate

    • Verifier report (VCS-12345)

    • MRV data (Monitoring, Reporting, Verification)

    • GPS coordinates

    • Project photos

  • Rahul submits for PoAI review

System Status: Project status → PendingPoAI

2

PoAI Verification

Reviewer Actions

Jane (PoAI Reviewer) is assigned to review the project.

  • Jane opens PoAI case:

    • Case ID: POAI-456

    • Project: Solar Rajasthan 2024

  • Jane performs integrity checks:

    Asset Integrity:

    • ✅ Project ownership verified

    • ✅ Geo coordinates verified (matches documents)

    • ✅ Project exists in real world

    Data Integrity:

    • ✅ Verifier report valid (VCS-12345)

    • ✅ Vintage year consistent (2024)

    • ✅ MRV data matches verifier report

    Process Integrity:

    • ✅ Submission workflow authentic

    • ✅ Reviewer assignment valid

    • ✅ All required documents present

  • Jane approves PoAI case:

    • All checks passed

    • Proof bundle generated

    • Proof hashes created:

      • bundleHash: 0xdef456...

      • assetHash: 0x789ghi...

      • dataHash: 0x123jkl...

      • processHash: 0x456mno...

System Status: PoAI status → Approved, Project status → PendingDAO

3

Governance Approval

Governance Actions

DAO members vote on project approval.

  • Proposal created:

    • Type: OnboardProject

    • Project: Solar Rajasthan 2024

    • Proposed cap: 10,000 tons

    • PoAI proof hashes attached

  • Voting window opens (7 days)

  • Votes cast:

    • FOR: 65%

    • AGAINST: 20%

    • ABSTAIN: 15%

  • Proposal passes:

    • Quorum met

    • Majority FOR

  • Project approved

System Status: Project status → Approved

4

Mint Project Record (On-Chain)

System Actions

System triggers on-chain minting.

Transaction: mintProjectRecord

mintProjectRecord.sol
projectRegistry.mintProjectRecord(
    projectId = 101,
    metadataHash = 0xabc123...,
    capUnits = 10_000 * UNIT,  // 10,000,000,000 (UNIT = 1e6)
    poaiBundleHash = 0xdef456...,
    poaiAssetHash = 0x789ghi...,
    poaiDataHash = 0x123jkl...,
    poaiProcessHash = 0x456mno...
);

Result:

  • ProjectRecord NFT minted

  • Token ID: 101

  • Cap: 10,000,000,000 units

  • PoAI hashes stored on-chain

Transaction Hash: 0xProjectRecordTx...

5

Configure Credit Units

System Actions

System configures credit units contract.

Transaction: setProjectConfig

setProjectConfig.sol
carbonCredit1155.setProjectConfig(
    tokenId = 101,  // Same as ProjectRecord tokenId
    capUnits = 10_000_000_000,
    policy = TransferPolicy.OPEN,
    active = true
);

Result:

  • Project tokenId 101 configured

  • Can now issue credits

6

Issue Credit Units

Issuer Actions

Rahul (or platform admin) issues credits.

Transaction: mintCredits

mintCredits.sol
carbonCredit1155.mintCredits(
    tokenId = 101,
    to = treasuryAddress,  // 0xTreasury...
    amountUnits = 2_000 * UNIT  // 2,000,000,000 units (2,000 tons)
);

Result:

  • 2,000 tons issued to treasury

  • issued[101] = 2,000,000,000

  • balanceOf(treasury, 101) = 2,000,000,000

  • Available: 8,000 tons remaining

Transaction Hash: 0xIssueTx...

7

Retail Purchase

Retail User Actions

Priya (Retail User) wants to offset her carbon footprint.

  1. Priya browses marketplace:

    • Sees "Solar Rajasthan 2024" project

    • Sees PoAI verification badge ✅

    • Price: $25.50 per ton

    • Available: 2,000 tons

  2. Priya views project details:

    • Project information

    • PoAI verification details

    • Verifier information (Verra)

  3. Priya connects wallet:

    • Connects MetaMask

    • Wallet address: 0xPriya...

  4. Priya purchases 0.25 tons:

    • Quantity: 0.25 tons

    • Total: $6.38

    • Confirms transaction

Transaction: transfer (from marketplace contract)

purchase.sol
carbonCredit1155.safeTransferFrom(
    from = treasuryAddress,
    to = 0xPriya...,
    id = 101,
    amount = 250_000  // 0.25 * UNIT
);

Result:

  • Priya receives 250,000 units (0.25 tons)

  • balanceOf(0xPriya..., 101) = 250,000

  • Treasury balance: 1,999,750,000 units

Transaction Hash: 0xPurchaseTx...

Priya's Dashboard:

  • Holdings: 0.25 tons from Solar Rajasthan 2024

  • Purchase date: 2026-01-10

  • Purchase price: $25.50/ton

8

Enterprise Purchase

Enterprise Actions

Acme Corporation needs to offset 12,437.62 tons for Q1 2024.

  • Acme maps emissions:

    • Scope 1: 5,000 tons

    • Scope 2: 3,000 tons

    • Scope 3: 4,437.62 tons

    • Total: 12,437.62 tons

  • Acme selects project portfolio:

    • Solar Rajasthan 2024: 12,437.62 tons

  • Acme purchases exact quantity:

    • Quantity: 12,437.62 tons

    • Total: $317,159.31

    • Confirms purchase

Transaction: transfer (from marketplace contract)

enterprisePurchase.sol
carbonCredit1155.safeTransferFrom(
    from = treasuryAddress,
    to = 0xAcme...,
    id = 101,
    amount = 12_437_620_000  // 12,437.62 * UNIT
);

Result:

  • Acme receives 12,437,620,000 units (12,437.62 tons)

  • balanceOf(0xAcme..., 101) = 12,437,620,000

  • Treasury balance: 1,987,312,380 units

Transaction Hash: 0xEnterprisePurchaseTx...

Acme's Dashboard:

  • Holdings: 12,437.62 tons from Solar Rajasthan 2024

  • Purchase date: 2026-01-12

  • Purchase price: $25.50/ton

9

Retirement (Retail)

Retail User Actions

Priya wants to retire her credits for personal ESG proof.

  • Priya selects credits to retire:

    • Project: Solar Rajasthan 2024

    • Quantity: 0.25 tons

    • Purpose: Personal offset

  • Priya confirms retirement

Transaction: retire

retire_priya.sol
carbonCredit1155.retire(
    tokenId = 101,
    amountUnits = 250_000  // 0.25 * UNIT
);

Result:

  • 250,000 units burned from Priya's balance

  • balanceOf(0xPriya..., 101) = 0

  • retired[101] = 250_000

  • Total supply: 1,999,750,000 units

Transaction Hash: 0xRetirementTx...

Event Emitted:

CreditsRetired.event
CreditsRetired(
    tokenId = 101,
    from = 0xPriya...,
    amountUnits = 250_000
);

Certificate Generation

Indexer detects retirement event and triggers certificate generation.

Certificate Generated:

certificate.json
{
  "certificateId": "CERT-123",
  "project": {
    "id": "PJT-101",
    "name": "Solar Rajasthan 2024",
    "tokenId": 101
  },
  "retirement": {
    "quantity": 0.25,
    "quantityUnits": 250000,
    "retiredBy": "0xPriya...",
    "timestamp": "2026-01-14T10:00:00Z",
    "transactionHash": "0xRetirementTx..."
  },
  "poai": {
    "bundleHash": "0xdef456...",
    "assetHash": "0x789ghi...",
    "dataHash": "0x123jkl...",
    "processHash": "0x456mno..."
  },
  "onChainProof": {
    "contractAddress": "0xCarbonCredit1155...",
    "tokenId": 101,
    "eventIndex": 0
  }
}

Priya receives:

  • Certificate PDF

  • Certificate JSON

  • Download link

  • Shareable link

Priya's Dashboard:

  • Retirement history: 0.25 tons retired on 2026-01-14

  • Certificate: CERT-123 (downloadable)

10

Retirement (Enterprise)

Enterprise Actions

Acme Corporation schedules quarterly retirements.

  • Acme configures retirement schedule:

    • Schedule: Quarterly

    • Amount: 3,109.405 tons per quarter (12,437.62 / 4)

    • Start: Q1 2024

    • Approval: Required (Finance team)

  • Q1 Retirement triggered:

    • System creates retirement request

    • Finance team approves

    • Retirement executed

Transaction: retire

retire_acme.sol
carbonCredit1155.retire(
    tokenId = 101,
    amountUnits = 3_109_405_000  // 3,109.405 * UNIT
);

Result:

  • 3,109,405,000 units burned

  • balanceOf(0xAcme..., 101) = 9,328,215,000

  • retired[101] = 3,359,405,000 (including Priya's 250,000)

Certificate Generated:

  • Q1 retirement certificate

  • Includes all retirement details

  • PoAI proof references

Acme's Dashboard:

  • Q1 retirement: 3,109.405 tons

  • Certificate: CERT-456 (downloadable)

  • Remaining holdings: 9,328.215 tons

  • Next retirement: Q2 2024

Final State Summary

Project State

  • ProjectRecord: Token ID 101

  • Cap: 10,000 tons (10,000,000,000 units)

  • Issued: 2,000 tons (2,000,000,000 units)

  • Retired: 3,359.655 tons (3,359,655,000 units)

    • Priya: 0.25 tons

    • Acme Q1: 3,109.405 tons

  • Circulating: 1,999,750,000 units (1,999.75 tons)

  • Available: 8,000 tons (not yet issued)

Balance State

  • Treasury: 1,987,312,380 units (1,987.31238 tons)

  • Priya: 0 units (retired)

  • Acme: 9,328,215,000 units (9,328.215 tons)

Audit Trail

Complete Chain:

  1. ProjectRecord minted (tokenId 101) → 0xProjectRecordTx...

  2. Credits issued (2,000 tons) → 0xIssueTx...

  3. Priya purchased (0.25 tons) → 0xPurchaseTx...

  4. Acme purchased (12,437.62 tons) → 0xEnterprisePurchaseTx...

  5. Priya retired (0.25 tons) → 0xRetirementTx... → Certificate CERT-123

  6. Acme retired Q1 (3,109.405 tons) → 0xAcmeRetirementTx... → Certificate CERT-456

All links traceable:

  • ProjectRecord → Credits → Ownership → Retirement → Certificate

  • PoAI proof hashes included in all certificates

  • On-chain transaction hashes for verification

circle-info

Key Takeaways

  • Project Integrity: PoAI verified before any credits issued

  • Traceability: Complete chain from project to retirement

  • Fractional Ownership: Retail can buy 0.25 tons

  • Exact Quantities: Enterprise can buy 12,437.62 tons (exact)

  • Permanent Retirement: Credits burned, cannot be reused

  • Audit-Ready: Complete on-chain proof trail

Last updated