NFT marketplace for carbon offsets uses Dutch auctions for pricing, batch minting, and redemption of certified credits. https://ecotradezone.bionerg.com/
  • TypeScript 67.6%
  • JavaScript 24.8%
  • Solidity 4.9%
  • HTML 1.2%
  • CSS 0.8%
  • Other 0.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-01-09 14:26:24 -05:00
contracts feat(deploy): auto-select native USDC on Arbitrum; gate MockUSDC by chainId 2025-12-13 20:01:37 -05:00
deploy feat(deploy): auto-select native USDC on Arbitrum; gate MockUSDC by chainId 2025-12-13 20:01:37 -05:00
docs docs: refresh Arbitrum deployment and QA guides 2025-12-16 10:41:53 -05:00
example_nftdata wip 2024-07-25 18:35:49 -05:00
scripts fix(scripts): correct MockUSDC ABI path in validation script 2025-12-22 10:01:32 -05:00
test test: tidy pause and payout suites 2025-12-16 10:42:18 -05:00
tickets/archive docs: align local dev + env-based webapp config; add manual ownership transfer plan 2025-09-13 18:55:14 +00:00
webapp Force Coinbase EOA-only 2026-01-09 14:26:24 -05:00
.cursorrules cursorrules 2024-10-08 21:26:41 -05:00
.editorconfig chore(lint): tune eslint and solhint config 2025-12-14 16:18:48 -05:00
.env.local.example chore(env): consolidate env templates and ignore local env 2025-12-16 10:16:45 -05:00
.eslintrc.js chore(lint): tune eslint and solhint config 2025-12-14 16:18:48 -05:00
.gitignore chore(env): consolidate env templates and ignore local env 2025-12-16 10:16:45 -05:00
.mocharc.json chore: update development tooling 2025-08-13 20:37:21 +00:00
.prettierignore chore(lint): tune eslint and solhint config 2025-12-14 16:18:48 -05:00
.prettierrc chore: update development tooling 2025-08-13 20:37:21 +00:00
.solcover.js chore: update development tooling 2025-08-13 20:37:21 +00:00
.solhint.json chore: update development tooling 2025-08-13 20:37:21 +00:00
.solhintignore move to hardhat 2023-11-13 18:04:47 +03:00
AGENTS.md docs: refresh Arbitrum deployment and QA guides 2025-12-16 10:41:53 -05:00
CHANGELOG.md chore: code formatting and cleanup across codebase 2025-08-30 11:17:26 +00:00
CLAUDE.md chore: code formatting and cleanup across codebase 2025-08-30 11:17:26 +00:00
hardhat.config.ts feat(tooling): wire Arbitrum networks into hardhat, deploy scripts, and dev runner 2025-12-07 23:09:17 +00:00
new_requirements.md docs: refresh Arbitrum deployment and QA guides 2025-12-16 10:41:53 -05:00
package-lock.json chore(npm): sync package-lock.json 2025-12-13 20:02:19 -05:00
package.json chore(lint): tune eslint and solhint config 2025-12-14 16:18:48 -05:00
README.md docs: refresh Arbitrum deployment and QA guides 2025-12-16 10:41:53 -05:00
tsconfig.json build: update dependencies and configurations 2025-08-13 20:37:08 +00:00

AstaVerde - Carbon Offset NFT Ecosystem

Carbon offset NFT marketplace with Dutch auction pricing and collateralized lending vault on Arbitrum.

System Status

  • v1: Dutch auction marketplace
  • v2: Released (2025-08-25) - EcoStabilizer vault (221 tests passing)
  • QA Testing: 🧪 Available on Arbitrum Sepolia testnet
  • Deployment: Ready for Arbitrum One mainnet
  • Gas Efficiency: Deposit <150k, Withdraw <120k

📚 Documentation

Architecture

v1: Dutch Auction Marketplace (Live)

  • ERC-1155 NFTs representing verified carbon offsets
  • Dynamic pricing: Base price adjusts with market demand
  • Dutch auction: Daily 1 USDC decrease to 40 USDC floor
  • 30% default platform commission (configurable up to 50%), remainder to producers

v2: EcoStabilizer Vault (Released)

  • Deposit NFTs to mint 20 SCC stablecoins
  • No liquidations - withdraw your exact NFT by repaying loan
  • Redeemed NFTs cannot be used as collateral
  • Access control with automated admin renunciation

Quick Start

# Install dependencies
npm install

# Run tests
npm run test

# Configure webapp env (untracked)
cp webapp/.env.local.example webapp/.env.local

# Start dev webapp (Arbitrum Sepolia)
npm run dev:sepolia

# Access webapp at http://localhost:3002

Key Commands

npm run test              # Run all tests
npm run compile           # Compile contracts
npm run dev:sepolia       # Start webapp (Arbitrum Sepolia)
npm run qa:fast           # Quick contract verification
npm run deploy:testnet    # Deploy to Arbitrum Sepolia
npm run deploy:mainnet    # Deploy to Arbitrum One

See AGENTS.md for the complete command reference and workflows.

Documentation

Security

  • Immutable contracts with no upgrade mechanisms
  • Role-based access control with automated admin renunciation
  • Reentrancy protection and pausability
  • Comprehensive test coverage (221 tests)
  • Redeemed NFT protection in vault

🧪 v2 QA Testing

The EcoStabilizer vault system is deployed on Arbitrum Sepolia testnet for client testing.

For Testers

  • QA Testing Guide - Complete guide for testing the vault system
  • Test URL: [Vercel deployment URL - to be provided]
  • Network: Arbitrum Sepolia (testnet)

For Developers

  1. Deploy Contracts to Testnet:

    npm run deploy:testnet
    
  2. Configure Webapp:

    cp webapp/.env.local.example webapp/.env.local
    # Edit webapp/.env.local with testnet addresses + RPC
    
  3. Deploy to Vercel:

    vercel --prod
    

See QA Testing Guide for detailed testing instructions.

License

MIT