NFT Infrastructure
EmProps NFT Infrastructure enables creators to generate AI artwork and publish it as NFT collections on blockchain networks. This documentation covers the entire stack from smart contracts to frontend integration.
Current Focus: Arbitrum Integration
We are actively building Arbitrum support as part of the Arbitrum Foundation Grant. This brings:
- 90% lower gas costs compared to Ethereum mainnet
- Sub-second finality for transactions
- Full EVM compatibility with our existing contracts
- 0xSplits integration for trustless revenue distribution
Quick Links
- Arbitrum Overview - What we're building and why
- Technical Architecture - Deep dive into the system design
- Development Plan - Implementation phases and timeline
Architecture Overview
┌─────────────────────────────────────────────────────────────────────────┐
│ EmProps Studio │
│ (Next.js + wagmi + Dynamic Labs) │
└─────────────────────────────────────────────────────────────────────────┘
│
┌───────────────┼───────────────┐
│ │ │
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ EmProps API │ │ Ponder │ │ Blockchain │
│ (Jobs) │ │ (Indexer) │ │ (Arbitrum) │
└─────────────┘ └─────────────┘ └─────────────┘
│ │ │
▼ │ │
┌─────────────┐ │ │
│ GPU Workers │ │ │
│ (ComfyUI) │ │ │
└─────────────┘ │ │
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────┐
│ PostgreSQL + Redis │
│ (Jobs, Users, Collections, Events) │
└─────────────────────────────────────────────┘Documentation Sections
Arbitrum Integration
Our flagship EVM NFT platform built with Arbitrum Foundation support.
| Document | Description |
|---|---|
| Overview | The complete story of what we're building |
| Technical Architecture | Smart contracts, indexing, generation pipeline |
| Development Plan | Phases, milestones, and success criteria |
Current State
Inventory of existing infrastructure ready for Arbitrum integration:
- Existing smart contracts (ERC721A, Factory pattern, upgradeable proxies)
- Ponder blockchain indexer
- Generation pipeline and job queue
- Frontend integration patterns
Legacy Tezos
Production Tezos NFT system documentation. This is the currently live system powering NFT minting in EmProps Studio.
| Document | Description |
|---|---|
| Overview | System architecture and capabilities |
| Tezos Implementation | Contract versions, data flow, mint modes |
| Contract Client | JavaScript SDK for contract interactions |
| Wallet Integration | Beacon wallet and Taquito setup |
| Minting Components | React components for minting UI |
Technical Reference
Detailed documentation for the underlying packages (currently in separate repositories):
| Package | Purpose | Status |
|---|---|---|
| Smart Contracts (Hardhat) | ERC721A NFT contracts with factory pattern | Ready for integration |
| Blockchain Indexer (Ponder) | Event indexing and real-time API | Ready for integration |
| React Web3 Patterns | Reference patterns (wagmi, viem) | Reference only |
Planning & Analysis
| Document | Description |
|---|---|
| Integration Evaluation | Feasibility analysis for monorepo integration |
| Implementation Plan | Detailed migration roadmap |
Technology Stack
Smart Contracts
- Solidity 0.8.24 with OpenZeppelin contracts
- ERC721A for gas-efficient batch minting
- UUPS Proxies for upgradeable factory/owner contracts
- Minimal Proxies (ERC1167) for cheap collection deployment
- 0xSplits for immutable revenue distribution
Blockchain Indexing
- Ponder - TypeScript-native blockchain indexer
- PostgreSQL - Indexed event storage
- WebSocket - Real-time event streaming
Frontend
- wagmi + viem - Modern Ethereum React hooks
- Dynamic Labs - Multi-wallet authentication
- React Query - Data fetching and caching
Infrastructure
- Redis - Job queue and real-time state
- ComfyUI - AI image generation
- Azure Blob Storage - Asset storage
- IPFS (Pinata) - NFT metadata storage
Key Concepts
Factory Pattern
Collections are deployed via a factory contract that:
- Creates minimal proxy clones (cheap deployment ~$5 vs $200)
- Mints an "Owner Token" NFT to the creator
- Uses CREATE2 for deterministic addresses across chains
Owner Token Model
Each collection has an associated "Owner Token" NFT:
- Whoever holds the Owner Token controls the collection
- Transfer the token = transfer collection ownership
- No admin keys needed - pure on-chain ownership
Revenue Splits
Using 0xSplits for trustless revenue distribution:
- 95% to creator
- 2.5% to Emerge platform
- 2.5% to Arbitrum Foundation
Splits are immutable once deployed - collectors can verify on-chain.
Getting Started
For Creators
- Connect wallet in EmProps Studio
- Generate artwork using AI workflows
- Configure collection (name, supply, price)
- Deploy to Arbitrum (coming soon)
- Share mint page with collectors
For Developers
See the Technical Architecture for system details, or dive into specific packages:
- Smart Contracts: Hardhat documentation
- Indexing: Ponder documentation
- Frontend Patterns: React Web3 documentation
Related ADRs
- NFT Minting Infrastructure Integration - Integration architecture decision
