08 retail user journey

Overview

The retail user journey is designed to be simple and non-crypto complex, enabling individual consumers to easily discover, purchase, hold, and retire carbon credits for personal ESG proof.

Goal

Make carbon offsetting accessible to everyone, starting at 0.01 tons.

Complete User Journey

1

Visit Marketplace

2

Browse Projects

3

View Project Details

4

Connect Wallet / Create Account

5

Purchase Credits (Fractional)

6

Hold Credits

7

Retire Credits

8

Download Certificate

Step-by-Step Journey

1

Step 1: Visit Marketplace

User Action: User navigates to platform marketplace

What They See:

  • Project cards with:

    • Project name and type

    • Location/geography

    • PoAI verification badge

    • Vintage year

    • Price per ton

    • Remaining units available

    • Project image/visual

Key Features:

  • Filter by project type

  • Filter by geography

  • Filter by price range

  • Search by project name

  • Sort by price, vintage, availability

Marketing Hook: "Carbon offsetting starts at 0.01 tons"

2

Step 2: Browse Projects

User Action: User explores available projects

What They See:

  • Grid or list view of projects

  • Each project card shows:

    • PoAI Badge: Visual indicator of verification status

    • Project Type: Renewable Energy, Reforestation, etc.

    • Location: Country/region

    • Vintage: Year of credit generation

    • Price: Price per ton CO₂

    • Availability: Units remaining

    • Impact: Brief description of project impact

User Can:

  • Click project cards to see details

  • Filter and search

  • Compare projects

  • View project rankings/ratings (if applicable)

3

Step 3: Open Project Page

User Action: User clicks on a project to view details

What They See:

Project Header:

  • Project name and type

  • PoAI verification badge (prominent)

  • Project image/gallery

Project Details:

  • Geography: Exact location

  • Methodology: Verification standard (VCS, Gold Standard, etc.)

  • Vintage Year: When credits were generated

  • Verifier: Verification body name and reference

  • Project Description: What the project does

  • Impact Metrics: Tons CO₂ reduced/sequestered

PoAI Verification Section:

  • Asset Integrity: ✅ Verified

  • Data Integrity: ✅ Verified

  • Process Integrity: ✅ Verified

  • Link to proof bundle (optional, access-controlled)

Pricing & Availability:

  • Price per ton

  • Units available

  • Minimum purchase (if any)

  • Maximum purchase per user (if any)

Purchase Section:

  • Quantity input (supports decimals: 0.01, 0.25, 1.0, etc.)

  • Total price calculation

  • Purchase button (disabled if wallet not connected)

Project Documents (if public):

  • Verifier reports

  • Impact assessments

  • Project photos

4

Step 4: Connect Wallet / Create Account

User Action: User clicks "Connect Wallet" or "Create Account"

Options:

Option A: Non-Custodial Wallet

  • Connect MetaMask, WalletConnect, etc.

  • User controls private keys

  • Direct on-chain transactions

Option B: Custodial Account (Optional)

  • Email/password signup

  • Platform manages wallet

  • Simpler UX for non-crypto users

If KYC Required (jurisdiction-dependent):

  • User completes KYC verification

  • May be required before purchase or retirement

  • Platform handles compliance

After Connection:

  • Wallet address displayed

  • User can see balance (if any credits already owned)

  • Purchase button becomes active

5

Step 5: Buy Units

User Action: User selects quantity and confirms purchase

Purchase Flow:

1

Select Quantity

  • User enters amount (e.g., 0.25 tons)

  • UI shows total price

  • UI validates: minimum/maximum, availability

2

Review Purchase

  • Project details summary

  • Quantity and price

  • Payment method

  • Estimated gas fees (if applicable)

3

Confirm Purchase

  • User clicks "Purchase"

  • Transaction initiated

Payment Patterns:

  • Pattern A (Non-Custodial On-Chain):

    • User pays in stablecoin/native token

    • Marketplace contract transfers credits from treasury to user

    • Transaction confirmed on-chain

    • Credits appear in user's wallet

  • Pattern B (Off-Chain Payment):

    • User pays via credit card/fiat

    • Backend processes payment

    • Backend instructs issuer wallet to transfer credits to user

    • Credits appear in user's account

After Purchase:

  • Success message displayed

  • Credits credited to wallet

  • Transaction hash shown (for on-chain purchases)

  • User redirected to holdings dashboard

Status States:

  • ✅ Success: Credits received

  • ⏳ Pending: Transaction processing

  • ❌ Failed: Transaction failed (refund if applicable)

6

Step 6: View Holdings

User Action: User navigates to "My Holdings" or dashboard

What They See:

Holdings Summary:

  • Total credits owned (across all projects)

  • Total value (if applicable)

  • Number of projects

Holdings by Project:

  • List of projects user owns credits from

  • For each project:

    • Project name and type

    • Quantity owned (e.g., "0.25 tons")

    • Purchase date

    • Purchase price (if applicable)

    • Current value (if applicable)

    • Actions: View details, Retire

Purchase History:

  • List of all purchases

  • Transaction details

  • Receipts/downloads

7

Step 7: Retire Credits

User Action: User selects credits to retire

Retirement Flow:

1

Select Project

  • User chooses project from holdings

  • Or selects from project page

2

Enter Retirement Amount

  • User enters quantity to retire (e.g., 0.25 tons)

  • UI validates: user has sufficient balance

  • UI shows retirement impact summary

3

Optional: Add Retirement Details

  • Purpose (personal offset, event, etc.)

  • Retirement message/note

  • Certificate recipient email (optional)

4

Confirm Retirement

  • User reviews retirement details

  • User clicks "Retire Credits"

  • Transaction initiated

On-Chain Retirement:

  • Contract burns units from user's balance

  • Increments retired[projectTokenId]

  • Emits CreditsRetired event

  • Transaction confirmed

Certificate Generation (Off-Chain):

  • Indexer listens to CreditsRetired event

  • Reporting service generates certificate:

    • PDF certificate

    • JSON metadata

    • Includes:

      • Project details

      • Quantity retired

      • Retirement timestamp

      • Transaction hash

      • PoAI proof hash reference

  • Certificate stored and linked to retirement record

After Retirement:

  • Success message displayed

  • Certificate available for download

  • Retirement appears in history

  • Credits removed from holdings (burned)

Status States:

  • ✅ Success: Credits retired, certificate generated

  • ⏳ Pending: Transaction processing

  • ❌ Failed: Transaction failed

8

Step 8: View Certificates

User Action: User navigates to "My Certificates"

What They See:

Certificate List:

  • All retirement certificates user has received

  • For each certificate:

    • Project name

    • Quantity retired

    • Retirement date

    • Certificate status

    • Actions: Download PDF, View JSON, Share

Certificate Details:

  • Full certificate content

  • On-chain proof link

  • PoAI verification link

  • Shareable link (optional)

User Can:

  • Download PDF certificate

  • Download JSON metadata

  • Share certificate (social media, email)

  • Print certificate

  • Verify certificate on-chain (via transaction hash)

UX States & Edge Cases

Disconnected Wallet State

What User Sees:

  • "Connect Wallet" prompt

  • Purchase buttons disabled

  • Holdings not visible

  • Can still browse projects

Connected but No Holdings

What User Sees:

  • Empty holdings message

  • "Browse Projects" CTA

  • Purchase history empty

  • Certificates list empty

Buy Success / Pending / Failed

Success:

  • Green success message

  • Credits appear in holdings

  • Transaction hash link

  • "View Holdings" CTA

Pending:

  • Loading spinner

  • "Transaction pending..." message

  • Transaction hash link (to explorer)

  • Auto-refresh when confirmed

Failed:

  • Red error message

  • Error details

  • "Try Again" button

  • Support contact link

Retirement Success / Pending / Failed

Success:

  • Green success message

  • Certificate download link

  • Retirement appears in history

  • Credits removed from holdings

Pending:

  • Loading spinner

  • "Retiring credits..." message

  • Transaction hash link

Failed:

  • Red error message

  • Error details

  • Credits remain in holdings

  • "Try Again" button

Certificate Download

What User Gets:

  • PDF certificate (printable)

  • JSON metadata (for verification)

  • Both include:

    • Project details

    • Retirement details

    • On-chain proof references

    • PoAI verification references

Key Features for Retail Users

Fractional Ownership

  • Buy as little as 0.01 tons

  • No minimum purchase requirements

  • Exact quantity purchasing

Simple Experience

  • No crypto knowledge required (with custodial option)

  • Clear project verification status

  • Transparent pricing

Proof of Impact

  • One-click retirement

  • Lifetime certificate

  • On-chain proof

  • Shareable certificates

Transparency

  • PoAI verification visible

  • Project details accessible

  • On-chain transaction history

  • Verifiable certificates

Last updated