State-First Room Backend

PicoMP

Five functions. One room. Shared state for card games, board games, party games, and fast multiplayer prototypes.

01createRoom(options?)
02joinRoom(code, player?)
03onState(path, callback)
04setState({ blackjack })

JSON in.
JSON out.

PicoMP connects your players instantly.

We handle the complex netcode;

you focus on the gameplay experience.

5 functions. Complete API.

One API key. Project-scoped access.

Hidden session. SDK-owned token.

Game rules — yours to own.

Read the Docs

// 01. Import the SDK import { PicoMP } from '@pico-mp/web'; // 02. Create a client const pico = new PicoMP('pk_live_pico_0x12'); // 03. Create and join a room const room = await pico.createRoom({ maxPlayers: 4 }); await pico.joinRoom(room.code, { name: 'Player 1' }); // 04. Subscribe to state pico.onState('phase', (phase) => render(phase)); // 05. Patch shared state await pico.setState({ phase: 'playing', ready: true });

Live Demo Table

Blackjack Table

Scan the QR, join the same room from your phone, and watch chips, cards, and results sync through PicoMP — no backend code on your side.

Connecting...

PicoMP sync

Actual SDK communication file

SDK APIuseBlackjackRoom.ts
1Loading...

Room

------

Round

00

Table log

Place chips. Host deals when ready.

Dealer · --
+waiting
Seat 2
+waiting
Seat 3
Starting $1000·BJ pays 3:2·Dealer stands on 17
<18msGlobal Latency
97.0%Uptime SLA
185+Edge Nodes

Pricing

$0 $49

Free until you need scale.

Developer

For prototypes & indies

$0
  • Up to 50 Concurrent Users
  • All SDK Features Included
  • Community Support
Start for Free

Production

You're keeping the lights on.

$49/ Month
  • Up to 10,000 Concurrent Users
  • Priority 24/7 Support
  • Custom Data Retention
  • Advanced Analytics Dashboard
Get Production Access

Contact Sales for Enterprise