GrowBlocksDEV KIT

Build your game on GrowBlocks.

Our engine, your code. Write the mechanics and the physics yourself, in JavaScript, and ship it into GrowBlocks: the same characters, the same multiplayer, the same wallet and market every player already has. When your game's collections sell and its coin trades, 70% of all its fees are yours.

STEP 1

Describe it to Claude

Run npx growblocks new my-game, open the folder in Claude Code (or Cursor) and say what you want. It reads the GrowBlocks API, writes the game, plays it, looks at the screenshot and fixes what's off. Or write game.js yourself. No account needed.

STEP 2

Put it online

Ask Claude to push a test build, or run npx growblocks push. The first time you confirm a code in your browser. You get an unlisted test link to play and share. Uploading in the browser works too.

STEP 3

Go live

Submit for review (npx growblocks submit or the button below). Once GrowBlocks approves it, players get it, and you can create its collections and coin. 70% of all the fees on them are yours. Updates are reviewed too.

The engine

three.js rendering, Rapier physics, GrowBlocks characters that walk, run and jump. Everything underneath is yours to reach: gb.scene, gb.physics.world.

Sports kit

Everything SLAM BLOCKS is made of: voxel athletes posed in code (dunks, slides, knockdowns), fire, sparks and exploding glass, crowds that cheer, slow motion and hit-stop, bloom, pads and split keyboard for 2 players, phone buttons that say what they do, online host streaming and leaderboards. Read its source.

AI decisions

gb.ai asks Sage by Levanto Labs for typed decisions: build maps, drive enemies and NPCs, tune difficulty. No API key in your game: GrowBlocks calls Sage for you, within a monthly allowance per game.

Blocks

Don't start from zero: add blocks other developers published (a city, checkpoint gates, boost pads…) with npx growblocks add, and publish your own. Every live game that ships your block pays you, from GrowBlocks' share: using blocks never costs you.

Multiplayer

gb.net.join() puts players in rooms on our match server: messages, shared state, a host. room.showPlayers() draws everybody.

Your NFTs and coin

Your game's collections and coin are yours: created from your wallet, linked to your game, traded at its gate in the Games Plaza and in the market. Mint sales and royalties go straight to you. Every NFT belongs to the player who holds it. Your code never touches a wallet, so players can trust every game.

Items players earn

SDK 1.5 · SOON

Give a player a trophy the moment they beat a boss with gb.chain.earn(item,{rule}). No sale and no mint screen: your build's rewards.json says what can be earned and how often, GrowBlocks mints it to the player's game wallet and pays the gas. Earned pieces trade, sell and drop like any GrowBlocks piece and pay your royalty; badges can be soulbound. How it works.

Revenue share

Of all the fees your game's NFTs and coin generate, you get 70%. (Robinhood Testnet only for now, paid in tPLAY test credits: not on mainnet yet.) 10% goes back to players (Shooter prizes, invite and plaza rewards) and 20% to GrowBlocks. Part reaches you straight from the contracts and GrowBlocks pays the rest. Mint sales, royalties and your creator tax are yours on top. Players pay nothing extra, and you claim on chain whenever you like.

Start in five minutes

You need Node.js 18 or later. Then:

npx growblocks new my-game     # the starter kit, always the latest
cd my-game
npx growblocks dev             # play it at http://localhost:5173/play.html

With Claude Code (recommended): run claude in that folder and describe your game. The folder's .mcp.json gives Claude the GrowBlocks tools, so it can read the API, check the game with a screenshot, add blocks, push a test build and read your review status by itself. Try:

Make a multiplayer [your idea] game on GrowBlocks. Check it with a screenshot and fix anything that's off, then push a test build and give me the link.

Writing it yourself: edit game.js and reload play.html. Here is a whole game:

export default async function game(gb){
  gb.world.style('sunset');
  gb.world.ground({size:60});
  gb.world.box({size:[1,1,1],position:[0,4,-4],color:'#ff5fa2',physics:'dynamic'});
  const me=gb.player.spawn({position:[0,1,6]});
  const room=(await gb.net.join()).showPlayers();
  gb.onUpdate(dt=>{ if(gb.input.pressed('KeyM')) gb.chain.market(); });
}

play.html loads the GrowBlocks engine and runs your game.js, with real multiplayer rooms. Local builds simulate the chain, so you can build your mint and market flows before GrowBlocks reviews your game. Ship it from the terminal:

npx growblocks login                              # once: confirm a code in your browser
npx growblocks create my-game --name "My Game"     # once: your game's address and name
npx growblocks push                               # check + upload a test build, prints its link
npx growblocks submit                             # send it to GrowBlocks for review

The CLI manages your games and builds only: collections, your coin and earnings stay here in your browser. npx growblocks help lists every command; the guide explains them.

Build it with AI

The kit is made to be written by an AI assistant. Every game folder carries what an assistant needs to get it right first time: instructions it reads by itself (AGENTS.md, CLAUDE.md), the complete API (llms.txt, gb.d.ts), a checker that plays the game headless and hands back every error and a screenshot, and the GrowBlocks MCP server (.mcp.json).

Claude Code and Cursor pick up the MCP server by themselves: growblocks_docs, growblocks_check (with the screenshot), growblocks_blocks and growblocks_add_block, growblocks_push, growblocks_status, growblocks_submit. Elsewhere: claude mcp add growblocks -- npx -y growblocks mcp.

With a chat assistant (no file access): paste this, add your idea, and save its answer as game.js in your game folder.

Read https://growblocks.xyz/devkit/llms.txt carefully: it is the complete API of the GrowBlocks Dev Kit, and you may only use what it documents. Then write game.js for this GrowBlocks game:

[describe your game: the goal, the controls, what happens, single player or multiplayer]

Return the whole game.js in one code block. It must `export default async function game(gb){...}`, use gb.onUpdate for per-frame logic, never create a renderer or loop, never use localStorage, and work on phones (gb.input.move / gb.input.action).

No Node.js? Download the same starter kit as a zip, serve the folder with any web server that allows CORS, and upload it below.

API for AI: llms.txtTypes: gb.d.ts

Your games

Sign in to upload a game.

By downloading the starter kit or uploading a build you agree to the Dev Kit terms: your game is yours, the GrowBlocks engine is licensed only for games on GrowBlocks.

Games on GrowBlocks

Loading…

Terms

The GrowBlocks engine is licensed for building, testing and publishing games on GrowBlocks only: do not copy, self-host, redistribute or sell it, or use it outside GrowBlocks. Your game code and art stay yours. Every build is reviewed before players get it. Full terms