Final Build Plan

Platform

  • XRPL (XRP Ledger): NFTs will be deployed on the XRP Ledger

Collection Size

  • Total NFTs: 10,100 (10,000 + 100 for manual curation)

Image Format

  • Save as lossless WebP
  • If image > 1MB, use lossy WebP at 80% quality

Base Distribution (Weighted)

  • Base_DefaultA: 32.5%
  • Base_DefaultB: 32.5%
  • Base_Tall: 5%
  • Base_Block: 5%
  • Base_Flat: 5%
  • Square_rare: 5%
  • Base_Dip: 5%
  • Base_Egg: 5%
  • Bread_rare: 1%

Trait-Based Rarity System

  • Rarity Score Calculation:

    • Base with "_rare" suffix: +10 points
    • Eyes with "_rare" suffix: +8 points
    • Mouth with "_rare" suffix: +8 points
    • Hair with "_rare" suffix: +8 points
    • Special combination (eyes 120 + mouth 093): +3 points
    • All other traits: +1 point each
  • Rank Thresholds:

    • Rarity Score ≥ 20: RARE
    • Rarity Score ≥ 10: UNCOMMON
    • Rarity Score < 10: COMMON

Special Collections

  • Mythic: 10 1-of-1s (no compositing) - IDs: 0, 5, 10, 20, 40, 80, 160, 320, 640, 1280
  • Grail: 50 1-of-1s (no compositing) - IDs: 2, 15, 35, 45, 55, 65, 75, 85, 95, 105, 115, 125, 135, 145, 155, 165, 175, 185, 195, 205, 215, 225, 235, 245, 255, 265, 275, 285, 295, 305, 315, 325, 335, 345, 355, 365, 375, 385, 395, 405, 415, 425, 435, 445, 455, 465, 475, 485, 495, 505
  • Both get Faker names and full metadata

Rank System

  • MYTHIC: XP 3000
  • GRAIL: XP 1000
  • RARE: XP 300
  • UNCOMMON: XP 75
  • COMMON: XP 50
  • Include Rank and XP in metadata

Special Trait Rules

  • Eyes 120 pairs with Mouth 093 (50% chance)
  • Rare mouths (100_rare, 101_rare) only available with Base_DefaultA and Base_DefaultB (5% chance)
  • Hair selection based on base type mapping

Libraries

  • Name Generation: @faker-js/faker
  • Image Compositing: Sharp

Metadata

  • Remove "_rare" suffix from trait names in metadata
  • Include Rarity Score for transparency
  • Base categorization: Head (common) vs Square/Bread (rare)

Image Generation

  • Generate 2 images per NFT:
    • Full image: Base + Eyes + Hair + Mouth
    • Face image: Eyes + Mouth only (no base/hair)
  • Background: Random HSL color (hue: 0-360, sat: 20-60%, light: 50-70%)
  • Save face images in separate 'face' folder with same filenames as full images

Final Distribution (Actual Results)

  • RARE: 216 NFTs
  • UNCOMMON: 3,783 NFTs
  • COMMON: 6,041 NFTs
  • Total: 10,100 NFTs