A New Collection · 100 Pieces

BLOCKFORGE
 IDENTITIES

100 fully on-chain voxel PFPs. Equippable in BlockForge. Each one a tiny WebGPU app. Every part inscribed, every emote programmatic.

Bitcoin Ordinals · Three.js WebGPU · By MDV

Live · view inscription · reroll ↻

▶ Browse Collection See the Emotes
100
Hand-Built 1/1s
9
Biomes
9
Signature Emotes
100
Skin-Gated Blocks
100%
On Bitcoin
What Are Identities

A Character Collection That Plays.

BlockForge Identities is a collection of 100 inscribed voxel characters. Unlike static PFPs, each Identity is a self-contained 3-D viewer. Open one in any wallet, marketplace, or ordinals explorer and the character renders live in WebGPU with shadows, post-processing, a unique biome backdrop, and a signature emote tied to the biome it belongs to.

The character even follows your cursor while at rest. Eye contact in a PFP, on Bitcoin. Move your mouse over the canvas and watch the head track you.

Cycling grid of BlockForge Identity PFP exports
1/1

Every Piece Is a True 1-of-1

Identities is not a trait-generated collection. Every single piece was built from the ground up: bespoke concept, bespoke parts, bespoke palette, bespoke biome pairing.

100 pieces, 100 hand-crafted characters. Each Identity is its own original work, designed and posed individually before being inscribed.

Use In BlockForge

Equip Your Identity. Build With It.

Player wearing a BlockForge Identity skin in-game

Wear it in the voxel world.

If you hold a BlockForge Identity, you can equip it as your in-game avatar in BlockForge. Your skin replaces the default character mesh, so anyone who walks past your chunk sees you wearing the same Identity that lives in your wallet.

It's the same exact 3-D rig. Same parts, same rendering, same emotes. The Identities viewer and the BlockForge game engine share the skin-rendering pipeline, so what you see in your PFP is what other players see in the world.

Skin-gated custom blocks being placed in BlockForge

Unlock a one-of-a-kind block.

Every Identity unlocks a unique placeable block in BlockForge that only its owner can use. 100 Identities → 100 exclusive blocks the rest of the world simply cannot place.

Build with it, signature it on a chunk, leave a permanent on-chain trace that only someone who holds your Identity could have written.

The 9 Blocks

One Per Biome. All Animated.

Each Identity unlocks one of these blocks in BlockForge. The textures aren't static images, they're per-frame procedural draws lifted straight from the game engine. What you see below is exactly what places in-world.

Signature Emotes

9 Biomes. 9 Custom Emotes.

Each Identity's biome determines a unique on-press emote. Not just a motion, but a real transformation of the character. Materials shift, shaders take over, geometry spawns and falls apart. Click the button on any live Identity to see them fire.

Glitch emote in action
Cyberpunk
GLITCH

Digital signal tear. The character convulses on high-frequency rotations while random body parts flash neon emissive colors (magenta, cyan, acid green) at 22 Hz, like a corrupted broadcast.

Abduct emote in action
Alien
ABDUCT

A translucent green tractor beam descends from above and lifts the character into the air. Their body goes limp. Arms and legs dangle, head looks up at the source. Beam retracts, character drops back.

Freeze emote in action
Tundra
FREEZE

A scared flinch pose snaps in as a translucent ice crystal materializes around the body. Geometry is a per-skin-seeded vertex-perturbed icosahedron, so every Tundra character has its own ice shape. Vibrate, crack, melt free.

Petrify emote in action
Ruins
PETRIFY

A stone wash rises feet-to-head via a TSL shader, painting every fragment with sandstone color. Then voronoi cellular cracks (true F2−F1 polygonal mud-crack plates) widen across the surface, the body shudders, and 120 jagged stone shards crumble outward.

Polymorph emote in action
Enchanted
POLYMORPH

A magical flash and the rig parts swap configurations: head where torso was, torso where head was, arms hanging from the hips, legs sticking up from the shoulders. Snaps back with a second flash. Total chaos for a second and a half.

Bloom emote in action
Plains
BLOOM

Arms wide in a serene welcome. ~60 emissive 5-petal voxel daisies sprout from every body part in a randomized order, plus 4 voxel butterflies circle the head on per-skin-seeded orbits with flapping wings.

Djinn emote in action
Desert
DJINN

The body dissolves to 5% scale as a tall sandy smoke wisp rises in its place, complete with glowing amber eyes that blink. Each Desert character has a unique per-vertex-perturbed wisp shape. The body reforms when the wisp dissipates.

Geyser emote in action
Ocean
GEYSER

A translucent water column erupts from below and lifts the character into the air, where a foam-and-teal surfboard materializes under their feet. They surf with a rolling sway. The board tilts with the body, then the column collapses.

Reforge emote in action
Aether
REFORGE

The character explodes into individual body parts on a two-ring 3-D orbit, each spinning on its own axis. Every part throbs a warm aether-gold glow on independently offset phase clocks. After ~2 seconds of cosmic disassembly, everything snaps back together.

Under the Hood

Real WebGPU. Real Rendering. On Bitcoin.

Each Identity is a tiny app, fully on-chain via inscribed Three.js modules + a shared viewer engine + a shared manifest. The same renderer that runs the BlockForge voxel world powers every PFP.

Eye Contact

It Looks Right At You.

Cursor moving across the canvas, character head smoothly tracking it

The head follows your cursor.

While at rest, every Identity's head smoothly tracks your mouse pointer across the viewer canvas. It's subtle (capped at ~17° of yaw and ~10° of pitch) but it makes the character feel alive in a way no static PFP ever could.

The implementation: canvas pointermove listener normalizes the cursor position to a centered [-1, 1] range and exponentially lerps the head rotation toward the target each frame. Decays back to neutral when the cursor leaves.

All 100 On Chain

See Them Live.

A random handful of the collection's 100 Identities, rendered live in their inscribed viewers directly from /content/<id>. Click any to open it fullscreen. Reload the page or hit reroll for a fresh draw.

↻ REROLL PICKS