Gamehub
A little more you.

Sign in to save your favorites and make yourself at home.

For developers and publishers
Browse docs Keys, errors & environments
On this page

Keys and environments.

Try it first

Check where each credential belongs#

You need A studio test connection and access to your server’s secret configuration.

  1. Keep publishable configuration in the client and server credentials in the vault or your backend.
  2. Bind managed access to the intended studio, game and exact build.
  3. Test revocation and confirm an old connection can no longer authorize access.

Check your result A game build cannot read server secrets and removed access stops working.

Separate environments and capabilities at the code boundary, not just in the UI.

Publishable and secret keys#

KeyWhere it belongs
pk_test_ / pk_live_Browser/client integration. Permissions remain limited by the service.
sk_test_ / sk_live_Trusted backend only. Never paste into this playground or ship in a game bundle.
Studio admin / operator private keysStudio-controlled signing environment. Never upload them to Playmos.

Test and live#

Test keys resolve to Base Sepolia (84532); live keys resolve to Base (8453). Mock mode performs no network or chain transaction. Sandbox server settlement is test-only. A reachable live URL is not production readiness.

Errors and recovery#

ConditionResponse
Invalid amount / missing fieldCorrect the typed input before sending. SDK amounts are decimal strings.
400 validation_error / wrong key typeSome server-only service routes reject publishable keys with 400 validation_error. Check ApiError.detail.status and detail.code.
401 / 403 / studio mismatchCheck credentials, environment and resource ownership on your backend.
409 / idempotency conflictThe key was reused with different terms. Verify and reconcile the original purchase first. Retry it only with its original terms and key. Use a new key only for a genuinely new purchase after resolving the original.
429 / sandbox rate limitRespect backoff. Retry the same purchase key, not a new purchase.
Pending / timeoutKeep the receipt/key. Retry verification; a timeout does not prove failure.
Degraded chain readShow stale/unverified state and retry later. Never invent confirmed totals.

Production integration checklist#

  • Scope credentials and records to the verified studio and game.
  • Verify payment provenance and expected purchase terms server-side.
  • Deduplicate fulfillment and webhook events durably.
  • Pin the SDK version and test payment, admission, score and payout recovery.
  • Freeze and scan hosted releases before public eligibility.
  • Keep operator/private service access behind your approved network controls.

Mainnet availability#

Live keys and funded mainnet operation remain gated by founder/compliance approval. A URL, key-shaped string or typed SDK method does not enable production. When that gate opens, key, chain and USDC change together; a dedicated chain-matched RPC is required for mainnet reads. Own-pool mainnet deployment is a new reviewed pool, not a migration of an existing Sepolia address.

The sandbox documents caps of 1.00 per server-settle request, 5 requests per minute and 20.00 per day. Honor actual service limits and response headers; these are test-service limits, not production pricing. Offline mock: true performs no network/chain transaction and carries mock provenance.

For diagnostics, typed error meanings and ambiguous settlement recovery, continue with Troubleshooting.

If it did not work#

Check host, environment and key expiry before rotating. Never put a recovery credential or private signing material in game code.

Try one variation After revoking test access, repeat the same protected read. It must fail without exposing credential material.

Continue with the next guide →