Skip to main content

Identity & Crafting Module

Proof-of-play NFTs, achievements, and on-chain item crafting.


Purpose

The Identity module handles everything related to player reputation and items on-chain:

  • Achievements — soulbound or transferable NFTs that prove accomplishments
  • Crafting — converting in-game materials into on-chain NFTs via recipes

These systems bridge the gap between off-chain gameplay and on-chain ownership. A player earns achievements or materials through gameplay (off-chain), and the game server authorizes minting when conditions are met.


Components

ComponentDescriptionDoc
AchievementsProof-of-play NFTs minted when players reach milestonesAchievements →
CraftingRecipe-driven item creation from materials into on-chain NFTsCrafting →

Architecture

┌─────────────────────────────────────────────────────────────┐
│ GAME SERVER │
│ │
│ Player completes milestone ─── OR ─── Player crafts item │
│ │ │ │
│ ▼ ▼ │
│ Server checks Server checks │
│ achievement rules recipe + materials │
│ │ │ │
│ ▼ ▼ │
│ Server signs Server signs │
│ attestation craft attestation │
│ │ │ │
└─────────┼────────────────────────────────┼──────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Achievement │ │ Crafting │
│ Contract │ │ Contract │
│ │ │ │
│ mint( │ │ craft( │
│ player, │ │ player, │
│ type, │ │ recipeId, │
│ attestation │ │ materials, │
│ ) │ │ attestation │
│ │ │ ) │
│ → Soulbound │ │ → Tradeable │
│ NFT │ │ NFT │
└─────────────────┘ └─────────────────┘

Key Properties

PropertyDetail
Server-authorizedOnly the game server can sign attestations for minting
Player-initiatedPlayer calls the on-chain function, paying gas
Replay-protectedEach attestation can only be used once
ConfigurableAchievement types and crafting recipes are game-specific
Standard-compliantUses ERC-721 for unique items, ERC-1155 for semi-fungible

When to Use This Module

Your SituationComponents
Game wants to reward milestones with on-chain proofAchievements
Game has crafting / item creation mechanicsCrafting
Game wants tradeable in-game items on blockchainBoth
Game has no item or achievement system❌ Not needed