Build your experience inside Bitverse and beyond. Place 3D content, customise avatars, list on JUNGL, host events, and ship sandboxed plugins as Bitcoin ordinals.
Land in any Bitverse world and click the wallet pill in the top-right. Sign the nonce. Your role is decided by what's in your wallet.
Three tabs: miners cc0 my ordinals. Click a chip โ cursor preview โ click world to drop.
Walk to the wardrobe NPC near the marketplace. 300 free CC0 VRM avatars. Click EQUIP. Your choice persists across reloads.
Star map of every inscribed bitmap district. Click into any tile to teleport.
๐ Read the v1 interop spec โ the JSON schema for cross-platform asset metadata.
Bitverse supports five placeable kinds (with a sixth on the way). Auto-detected from the inscription's content-type.
model/gltf-binary, model/gltf+json.
Loads via Three.js GLTFLoader from ordinals.com/content/<id>.
image/png, image/jpeg,
image/webp. Renders as a double-sided gold-framed
plane, aspect-correct.
text/html. Renders as a preview pane that
opens in a new tab on click. CSS3D embed in next slice.
audio/mpeg, audio/wav, etc.
Speaker icon with spatial falloff: full at
2m, silent at 10m.
Auto-resolves {p:"brc-420",op:"mint",id:โฆ}
text inscriptions to their source asset and renders that.
HTML inscriptions with Nostr+WebRTC fingerprints. Treated as multiplayer arcade cabinets per the KENOBI spec.
Free assets live in src/web3/catalogs/cc0Manifest.ts.
Reach out to the Bitverse team to add a new entry pointing at any Arweave / IPFS / public-CDN URL:
{
slug: "yourname/your-prop",
kind: "decor", // or "avatar"
name: "Your Prop",
url: "https://arweave.net/...",
thumbnailUrl: "https://...",
license: "CC0-1.0",
source: "Yourname/repo",
scale: 1,
}
Plugins ship as iframe-sandboxed JS modules (or as inscribed HTML). Import the typed SDK:
import { getSDK, type ClickEvent } from "@bitverse/sdk";
const lh = getSDK();
// Spawn a glowing cube at the parcel centre.
const cubeId = lh.scene.spawn({
kind: "cube",
pos: { x: 8, y: 1, z: 8 },
color: 0xffd84d,
});
// Reward the player who clicks it.
lh.on({
type: "click",
objectId: cubeId,
handler: (e: ClickEvent) => {
if (e.player.address) {
lh.economy.award(e.player.address, 100); // in-game coin
}
},
});
Full hook list:
onPlayerNear,
onClick,
onTime,
onPlace,
onTrade,
onStreamStart,
onEventLive.
Use the Nostr + WebRTC helpers from the SDK so your game runs inside Bitverse AND as a standalone Bitcoin inscription on Ord Dropz Game Hub.
const room = await lh.multiplayer.room({ name: "tic-tac-toe", maxPlayers: 8 });
room.onMessage(payload => { /* update board */ });
room.send({ move: "x", cell: 4 });
Plugins call AI through the SDK; the runtime routes to whatever provider key the visitor configured locally. Keys are AES-GCM encrypted at rest in IndexedDB, unlocked once per session by signing a fixed nonce with the visitor's wallet โ they never leave the browser. Plugins never see the raw key.
Click the ๐ AI Keys launcher in the bottom-right of the world to open the Settings modal. Supported providers:
Claude chat. Best for long NPC dialog and tool-use.
Chat + image-gen + TTS + Whisper STT all on one key.
Single key, dozens of chat models โ flexible default.
Free Llama + Whisper. Fast, generous tier โ great fallback.
Text-to-image + tileable PBR textures.
Hosted image / texture models (Flux, SDXL).
Premium TTS voices for NPCs and event audio.
const reply = await lh.ai.chat("greet the visitor", {
system: "You are a friendly NPC in a Bitcoin metaverse.",
});
const portrait = await lh.ai.imagen("pixel-art mushroom guardian, gold accents");
const audio = await lh.ai.tts("welcome, traveller", "alloy");
If the visitor hasn't configured a provider for the requested
feature (e.g. tts), the call returns a graceful
{ url: "" } โ your plugin should handle that.
Don't pay $20 to inscribe a 3D model. Use a tiny ~50-byte JSON inscription that references an Arweave URL or another on-chain ord โ typically ~10ร cheaper than inscribing the full asset directly.
Once your asset is inscribed, list it via JUNGL's existing marketplace UI. Bitverse mirrors all listings as for-sale 3D pedestals at the Marketplace Plaza next to your spawn โ visitors click โ buy with sats, you get paid on-chain.