Game SDK
Game bearer token stays in that process. Rewards require a stable event key.
Developers / local simulation
The local runtime lets software talk to a simulated wallet ledger. Use it to explore the flow before building a real integration.
Open the integration instructions ↓Connecting to wallet status is not permission to pay. Production approval, game purchases and treasury payouts still need implementation.
Wallet runtime · Game API · agent MCP
Start the wallet on this Mac, then let a game or an authorized agent use a narrowly scoped local interface. The private hosted site explains the route but never reaches into localhost or asks for a token.
Game bearer token stays in that process. Rewards require a stable event key.
Policy, redacted snapshots, activity, and the simulated append-only ledger.
Named tools use a separate local credential and remain inside wallet policy.
Run from the checkout root. This starts the managed simulated wallet authority and Game API on 127.0.0.1:8787; status and stop never print a credential.
node services/wallet-runtime/cli.mjs start
node services/wallet-runtime/cli.mjs status
node services/wallet-runtime/cli.mjs stopReplace the placeholder with this checkout's absolute path. The MCP process reads its mode-0600 local agent credential; no bearer token is stored in the MCP configuration.
codex mcp add iunua-wallet -- node "/absolute/path/to/services/wallet-mcp/server.mjs"Loads the game credential into this one process, then records a bounded demo reward. Keep the same event key when retrying so one game event cannot pay twice.
IUNUA_GAME_TOKEN="$(< ".iunua-wallet/game.token")" node packages/game-sdk/examples/node-reward.mjsThe runtime owns the simulated ledger, policy, activity history, and separate game and agent permissions. It binds to 127.0.0.1—not the public internet.
A game can read its allowed snapshot and record a 1–80 unit reward with a stable idempotency key. It cannot silently export keys or move real value.
Authorized local agents receive named wallet tools through the MCP server. Every operation remains constrained by runtime policy and the prototype boundary.
The current macOS, iOS, and browser-extension demo stores are not yet synchronized with this authority. Their displayed balances do not update automatically.
This deployed page is remote content. It intentionally performs no browser request to 127.0.0.1, contains no credential field, and uses no persistent browser storage. Verify the service from Terminal or through the registered MCP health tool instead.