PFP NFT Rules
Collect, Trade, and Forge Your Heroes
Seven Factions
The system features seven distinct factions: Knight, Mithia, Adventurer, Wizard, Grum, The Plagued, and Nightspawn. Each faction has 1,500 PFP NFTs for a total supply of 10,500.





Character Composition
Standard PFPs consist of eight trait layers: Background, Emblem, Body, Face, Head Wear, Clothing, Hand, and Weapon. Together, these layers combine to form a unique character profile.
Bonus Part System
All seven factions follow the standard 8 trait layers system. Certain factions have exclusive bonus partsawarded when the Trait Hash contains special hex patterns. Bonus traits do not consume standard production capacity. See the detailed breakdown below.
Supply Structure
The ecosystem contains 10,500 PFP NFTs distributed equally across all seven factions, and 84,000 trait NFTs (8 traits per character).
Per-Faction Breakdown
Trait Generation Mechanics
Minting Process
Users obtain traits by sending a fixed Bitcoin amount (initially 0.0011 BTC) to an official address. The system adopts the Dual-Factor Trait Hash Scheme(双因子特征哈希方案): combining the Block Hash (determined by miners, unpredictable) with the TXID (tied to the transaction) via SHA-256 to produce a Trait Hash. Like two-factor authentication, one factor comes from the user (TXID) and the other from on-chain randomness (Block Hash) — making the outcome impossible to manipulate.
Compute Trait Hash
After the transaction is confirmed on-chain, the system concatenates the Block Hash and TXID, then applies SHA-256 to produce a 64-character Trait Hash.
traitHash = SHA256(blockHash + txid)Faction Class
The last hex character of the Trait Hash is converted to decimal (0-15), then modulo 7 plus 1 determines the faction (1 = Knight, 2 = Mithia, 3 = Adventurer, 4 = Wizard, 5 = Grum, 6 = The Plagued, 7 = Nightspawn).
faction = parseInt(traitHash[-1], 16) % 7 + 1Part Category
The second-to-last hex character of the Trait Hash, converted to decimal then modulo 8 plus 1, determines which of the eight trait layers is assigned (1 = Background, 2 = Emblem, 3 = Body, 4 = Face, 5 = Head Wear, 6 = Clothing, 7 = Hand, 8 = Weapon).
partType = parseInt(traitHash[-2], 16) % 8 + 1Design Variant
Take the hex characters at positions -4 and -3 of the Trait Hash. Multiply position -4 by 16 and add position -3 to form a combined value (range 0-255). Then take the remainder of dividing by the number of design variants (maxVariants) for that (faction, partType) combination, and add 1. Each combination has a different maxVariants based on the available art assets (e.g., Knight Clothing = 65, Nightspawn Head Wear = 8).
variant = (traitHash[-4] × 16 + traitHash[-3]) % maxVariants + 1Dual-Factor Trait Hash Scheme — Why is this tamper-proof?
| Factor | Source | Predictable? | Controllable? |
|---|---|---|---|
| TXID | Buyer | Yes (known after broadcast) | Yes |
| Block Hash | Miner | No (unknown until confirmed) | No |
| Trait Hash | SHA-256 of both | No | No |
Anyone can verify the result: look up the Block Hash and TXID on a block explorer, compute SHA-256(blockHash + txid), and confirm the trait assignment matches.
How Verification Works
What is a Block Hash?
The hash of the Bitcoin block that confirmed your transaction. You can find this on any block explorer by looking up your transaction. The Block Hash is determined by miners and is unpredictable before the block is mined, which provides the randomness factor in trait assignment.
What is a TXID?
Your transaction ID (also called txid or transaction hash). This is the unique identifier for your purchase transaction. Every Bitcoin transaction has a unique TXID that is a 64-character hexadecimal string. You can find it in your wallet history or on a block explorer.
How Verification Works
The system computes traitHash = SHA-256(blockHash + txid). This hash deterministically determines your trait's faction, part type, and design variant. Anyone can independently verify this by entering the same Block Hash and TXID below and confirming the results match what was assigned to their purchase.
The last hex character of the traitHash determines the faction (mod 7), the second-to-last determines the part type (mod 8), and positions -3 and -4 determine the design variant within that combination.
Interactive Trait Hash Calculator
Enter a Block Hash and TXID (both 64-character hex) to compute the Trait Hash and see the resulting faction, part type, and design variant. Or load a sample pair.
Production Rules
The system enforces strict production limits and fairness guarantees to ensure balanced distribution across all factions, part types, and design variants.
Production Cap: 1,500 per Combination
Each (faction, partType) combination has a maximum production cap of 1,500 parts, derived from the total supply: 84,000 / 7 factions / 8 part types = 1,500. Once a combination reaches its cap, no more parts of that type can be produced for that faction.
capacity = 84,000 / 7 / 8 = 1,500 per (faction, partType)Deterministic Overflow
When the Trait Hash naturally maps to a (faction, partType) combination that has already reached its 1,500 cap, the system uses deterministic overflow: additional bytes from the Trait Hash (positions 28-31) are used to select an available combination that still has capacity remaining.
The overflow scans all 56 combinations (7 factions × 8 part types) for remaining capacity. This means if an entire faction has reached its cap across all 8 part types (8 × 1,500 = 12,000 parts), the overflow automatically redirects to combinations from other factions that still have room.
This process is fully deterministic — given the same Trait Hash, the overflow always produces the same result, preserving verifiability.
overflowIndex = parseInt(traitHash[28..31], 16) % availableCombos.lengthVariant Reservation Guarantee
Every design variant within a (faction, partType) combination is guaranteed to appear at least once before the cap is reached. The system reserves capacity slots for unseen variants:
effectiveCapacity = 1,500 - unseenVariantsFor example, if Knight Clothing has 65 variants and 50 unique variants have appeared so far, then 15 slots are reserved for the remaining 15. The effective capacity becomes 1,500 - 15 = 1485. Once the produced count reaches this effective cap, the system forces production of missing variants — deterministically selecting from the unseen variants using the Trait Hash.
This ensures complete variant coverage: no design variant is ever left with zero production, creating a balanced and collectible ecosystem.
Design Variant Counts per Faction
Each faction has a unique set of design variants per part type, derived from the actual art assets:
| Faction | Background | Emblem | Body | Face | Head Wear | Clothing | Hand | Weapon | Total |
|---|---|---|---|---|---|---|---|---|---|
| Knight | 8 | 20 | 9 | 33 | 64 | 65 | 22 | 46 | 267 |
| Mithia | 8 | 20 | 16 | 10 | 43 | 80 | 22 | 46 | 245 |
| Adventurer | 8 | 20 | 9 | 33 | 68 | 39 | 22 | 46 | 245 |
| Wizard | 8 | 20 | 10 | 11 | 36 | 31 | 48 | 18 | 182 |
| Grum | 8 | 20 | 11 | 10 | 14 | 105 | 22 | 46 | 236 |
| The Plagued | 8 | 20 | 15 | 21 | 32 | 102 | 22 | 46 | 266 |
| Nightspawn | 8 | 20 | 15 | 11 | 8 | 106 | 22 | 46 | 236 |
Dynamic Scarcity Framework
Design Scarcity is calculated dynamically based on actual production data, not pre-defined percentages. As more parts are minted, each variant's scarcity updates in real time.
Note: Scarcity measures how rare a visual design is based on production numbers. This is different from Quality (Common/Fine/Rare/Epic/Legendary), which determines attribute strength and is fixed at mint time by the trait hash.
Scarcity Calculation
For each design variant, scarcity is the ratio of that variant's production count to the total production of its (faction, partType) combination:
scarcity = variantCount / totalProduced(faction, partType)A variant with fewer mints relative to the total has a lower percentage and thus higher scarcity. This metric is fully transparent and verifiable from on-chain data.
Scarcity Tiers
Variants are classified into five tiers based on their dynamic scarcity percentage:
Extremely rare design — minimal production out of 1,500 cap
Highly scarce design — very limited supply
Uncommon design that stands out in collections
Moderately available design variant
Widely produced design variant
Ancient Stele & Mythic Designs
Mythic tier designs (scarcity < 2%) feature iconography drawn from the mythical Ancient Stele— ancient stone tablets inscribed with primordial power. These traits include faction leader characteristics, unique visual effects, and historically significant design elements.
Mythic scarcity emerges naturally from the production algorithm. With dozens of variants per combination, some variants will organically receive fewer mints, achieving mythic status. The Variant Reservation Guarantee ensures that even the rarest variants appear at least once.
Bonus Part — TXID Patterns
When certain hexadecimal patterns appear in a Trait Hash, a rare Bonus Part is awarded alongside the regular trait. These patterns arise naturally from Bitcoin transaction hashes.
aceKnight exclusive. Bonus cloak trait — "Oath of the Vanguard": below 30% HP, heal team 15% HP + taunt all 1 turn.
e1fMithia exclusive. Bonus accessories trait — "Grace of Eternity": battle start, shield allies 30% of max HP.
c0deAdventurer exclusive. Bonus accessories trait — "Fortune's Edge": first attack ignores evasion + 50% DEF penetration.
a5ceWizard exclusive. Bonus arcane trait — "Arcane Singularity": spells 15% chance to cast twice.
b100dGrum exclusive. Bonus accessory trait — "Undying Rage": survive lethal hit (1 HP) + ATK ×2 for 1 turn.
deadThe Plagued exclusive. Bonus mutation trait — "Pandemic Protocol": kill spreads all debuffs to nearby enemies.
fadeNightspawn exclusive. Bonus tentacle trait — "Void Anchor": teleport to lowest-HP enemy, ignore DEF 1 hit.
666Universal. Triggers a bonus trait for ANY faction.
777Universal. Triggers a bonus trait for ANY faction.
000Universal. Triggers a bonus trait for ANY faction. Extremely rare.
d1ceUniversal. A roll of fate — triggers a bonus trait for ANY faction.
cafeUniversal. A rare rest stop — triggers a bonus trait for ANY faction.
View real-time production counts and scarcity distribution for all 56 faction × part type combinations.
Scarcity is computed dynamically from real production data and viewable in real time via the Treasure Room. The system is fully transparent and verifiable from on-chain transactions.
Trading & Fusion
Trading
Trait trading occurs on Bitcoin OP_CAT Layer compatible platforms.
Fusion Process
Collect All 8 Traits
Gather all eight matching-faction trait NFTs: Background, Emblem, Body, Face, Head Wear, Clothing, Hand, and Weapon.
Send to Reforging Forge
Transfer all 8 trait NFTs from a single wallet to the official Reforging Forge address. All traits must belong to the same faction.
Burn & Receive PFP
All 8 trait NFTs are permanently burned. In return, a complete PFP character NFT is generated and sent to your wallet.
Creates a scarcity-driven economy that rewards strategic collection.
Cross-Faction Fusion is NOT Allowed
All eight trait NFTs submitted for fusion must belong to the same faction. Mixing traits from different factions (e.g., a Knight weapon with a Wizard body) will cause the fusion transaction to fail. Plan your collection strategy carefully to ensure all traits match a single faction.









