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 ↻
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.