Substreak Game Kit Early access
Your game, on chain. Without a wallet in your game.
Players sign in with a code on their phone, your game reports what happens, and Substreak turns it into quests, rewards and gates. Keys stay in the player's wallet; your build ships no crypto code at all.
Sign in with Substreak
- 01
Game shows a code
Your Unity, Godot or console build calls one endpoint and shows an 8-character code or a QR.
- 02
Player approves on their phone
They open the approval page, pick their wallet and sign. No wallet, recovery phrase or extension inside your game.
- 03
Game gets a player token
Polling returns the player's address and a revocable token. It can read and report, never spend.
Built for game devs
Three calls to go on chain.
- In-game eventsReport boss kills, matches or crafts. They become game.* events that feed Reflex triggers and quests.
- Quests → rewardsQuest completions fire ordinary Reflex actions: tokens from your own operator wallet, Discord shout-outs, webhooks.
- Token gatesAsk whether a player holds a token, a balance or a verified identity before unlocking content.
- Safe to retryEvery event carries your own id, so sending it twice never counts twice and never pays twice.
import { Substreak } from "@substreak/sdk"
const sub = new Substreak({ baseUrl: "https://your-engine", appKey: "pk_..." })
// 1. Sign in: show the code (or a QR of qrPayload), wait for the player
const { player, playerToken } = await sub.connect.signIn({
onCode: (c) => showCode(c.userCode, c.verificationUrl),
})
// 2. On your game server (secret key): report what happened
await server.connect.track("boss_defeated", { playerToken }, { boss: "hydra" })
// 3. Gate content by what the player holds
const { allowed } = await sub.connect.checkGate({ playerToken }, rules)