Skip to content

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

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.

DocumentDescription
OverviewThe complete story of what we're building
Technical ArchitectureSmart contracts, indexing, generation pipeline
Development PlanPhases, 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.

DocumentDescription
OverviewSystem architecture and capabilities
Tezos ImplementationContract versions, data flow, mint modes
Contract ClientJavaScript SDK for contract interactions
Wallet IntegrationBeacon wallet and Taquito setup
Minting ComponentsReact components for minting UI

Technical Reference

Detailed documentation for the underlying packages (currently in separate repositories):

PackagePurposeStatus
Smart Contracts (Hardhat)ERC721A NFT contracts with factory patternReady for integration
Blockchain Indexer (Ponder)Event indexing and real-time APIReady for integration
React Web3 PatternsReference patterns (wagmi, viem)Reference only

Planning & Analysis

DocumentDescription
Integration EvaluationFeasibility analysis for monorepo integration
Implementation PlanDetailed 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:

  1. Creates minimal proxy clones (cheap deployment ~$5 vs $200)
  2. Mints an "Owner Token" NFT to the creator
  3. 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

  1. Connect wallet in EmProps Studio
  2. Generate artwork using AI workflows
  3. Configure collection (name, supply, price)
  4. Deploy to Arbitrum (coming soon)
  5. Share mint page with collectors

For Developers

See the Technical Architecture for system details, or dive into specific packages:

Released under the MIT License.