ZooGames API Guide
  • Introduction
  • Quick Start
  • Wallet Concept
  • Game Settlement Concept
  • API Endpoint
  • Platform Fee
  • Faucet
  • API reference
    • Authentication
      • By ZooGamesID
      • By Instant PlayPass
    • Users
    • Users Status
    • Game Settlement
    • Game Trade
    • In-Game Chips Tokens (ERC20)
    • In-game NFTs (ERC721)
    • NFT Data
    • RNG Service
    • Oracle Service
    • Official NFTs
    • API change log
  • OPENSOURCE PROJECTS
    • ZooGames AUTH webapp for Telegram
    • 3D ZooGenes pack
Powered by GitBook
On this page
  • Concept
  • Technical Overview
  • Create in-game PlayPass Accounts
  • Create a new PlayPass account
  • Uncover the redeem code for the PlayPass account
  • Provide a confidential redeem code, allowing users to register on Zoo.games
Export as PDF
  1. API reference
  2. Authentication

By Instant PlayPass

Allows users to quickly and seamlessly start playing games on ZooGames

PreviousBy ZooGamesIDNextUsers

Last updated 1 year ago

Concept

Instant PlayPass is a streamlined onboarding feature for ZooGames. With just a username, players can instantly dive into games without initially setting up a ZooGamesID. Behind the scenes, two addresses (a primary and a mirror gaming address) are auto-generated for the player.

This lets newcomers freely explore games, earn tokens, and collect NFTs.

Technical Overview

Automated Address Generation Upon entering a game, users will only be required (or not — depending on the game developer’s chosen settings) to input a username. In the backend, the ZooGamesAPI will generate two distinct addresses for the user: a primary address and a corresponding gaming (mirror) address.

Gaming Experience & Asset Accumulation Users can immediately immerse themselves in the gaming environment, earning tokens, in-game chips, and NFTs, all of which are compatible across multiple blockchains, ensuring interoperability and flexibility.

Private Key Retrieval & Integration After the creation of their ZooGamesID, users will have the possibility to securely download the private key associated with their temporary primary address. This key can then be integrated as a secondary address within their newly minted ZooGames account, ensuring continuity and security of assets.

IMPORTANT NOTICE: Upon successful authentication via the PlayPass account, do not log out the user's session. Session termination could lead to irreversible loss of crypto-credentials and associated crypto assets for the player.

It's imperative to maintain session persistence until the user transitions and binds their account to a dedicated web3 Wallet.

Create in-game PlayPass Accounts

Grant your players instant access to your game using Instant PlayPass.

Create a new PlayPass account

POST API_END_POINT_URL/API_KEY/register/temp_user

SDK Preparation

You need to prepare for SignedSignatureFromPayload by

Installing zoo-game-sdk by npm install zoo-game-sdk

Import SDK by import * as ApiKey from 'zoo-game-sdk/src/auth/apikey/index'

Signing by SDK

let bodyMessage =JSON.stringify(payload);

let hmac = ApiKey.signData(bodyMessage, SEC_KEY);

*Use "hmac" as SignedSignatureFromPayload

Path Parameters

Name
Type
Description

API_KEY*

String

Api Key

Request Body

Name
Type
Description

gameAddress*

Address

Address of Game/Project registered Primary Address

username*

String

Choose any temporary username you like. We suggest using a prefix like 'TMP_' followed by numbers, such as 'TMP_123456789'. You can also consider using the current timestamp

{
  success: true,
  data: {
    jwt: 'eyJhbGciOiJIUzI1NiIsInR5pXVCJ9.eyJ1c2VybmFtZSI61MDIxOTcxMjE2IiwicHJpbWFyeUFkZHJlc3MiOiIweDY1MkFhMjM1NWM3MDAzNjVhNUY4ZDI5YzFlOGY1NWFlRjI1RjAyQWYiLCJtaXJyb3JBZGRyZXNzIjoiMHgyZjAyOThhMDEyMjY4RkNiNDY4ZmM0OTE3MDI2NTk5OUQ4RWJmQ0ZhIiwibWlycm9yQmFsYW5jZSI6IjAiLCJjaGFpbklkIjo4ODgsImNyZWF0ZVRpbWUiOjE2OTUwMjE5ODE1MDksImF2YXRhcl91cmwiOm51bGwsImlzVG1wIjp0cnVlLCJhcHByb3ZhbCI6OTk5OTk5OTk5OSwicGxheVNlY29uZHMiOjk5OTk5OTk5OTksInN0YXJ0VGltZSI6MTY5NTAyMTk4MSwiZW5kVGltZSI6OTk5OTk5OTk5OSwiZ2FtZUFkZHJlc3MiOiIweDVEMkE4QjM2ODMyOTI0NDJmQUNhNTJlOUI2NTM3RmFhYWQwQUU1NzYiLCJpYXQiOjE2OTUwMjE5ODJ9.AI-xg0hdQ-4vwK8ffgBiuUXKIE1dMKl0TXU7ZFwYh6o',
    username: 'TMP_1695021971216',
    gameAddress: '0x5D2A8B3683292442fACa52e9B6537Faaad0AE576',
    primaryAddress: '0x652Aa2355c700365a5F8d29c1e8f55aeF25F02Af',
    mirrorAddress: '0x2f0298a012268FCb468fc49170265999D8EbfCFa'
  }
}
{
  "success": false,
  "message": "error message",
}

The returned JWT acts as a perpetual sign-in session with no expiration date and unlimited spending approval. Once this account type is created, players can enter the game using the JWT as their ongoing session.

Uncover the redeem code for the PlayPass account

When players decide to transition to a web3 wallet, they can claim their wallet credentials using a redeem code.

Provide a confidential redeem code, allowing users to register on Zoo.games

POST API_END_POINT_URL/API_KEY/reveal/mirrorRedeemCode

SDK Preparation

You need to prepare for SignedSignatureFromPayload by

Installing zoo-game-sdk by npm install zoo-game-sdk

Import SDK by import * as ApiKey from 'zoo-game-sdk/src/auth/apikey/index'

Signing by SDK

let bodyMessage =JSON.stringify(payload);

let hmac = ApiKey.signData(bodyMessage, SEC_KEY);

*Use "hmac" as SignedSignatureFromPayload

Path Parameters

Name
Type
Description

API_KEY*

String

Api Key

Request Body

Name
Type
Description

jwt*

JWT String

a JWT string generated from the PlayPass account.

{
  success: true,
  data: {
    username: 'TMP_1695021971216',
    gameAddress: '0x5D2A8B3683292442fACa52e9B6537Faaad0AE576',
    primaryAddress: '0x652Aa2355c700365a5F8d29c1e8f55aeF25F02Af',
    mirrorAddress: '0x2f0298a012268FCb468fc49170265999D8EbfCFa',
    redeemCode: 'CD18-F930-57H2-756F',
    redeemUrl: 'https://zoo.games/signup?redeemCode=CD18-F930-57H2-756F'
  }
}
{
  "success": false,
  "message": "error message",
}

Users can use the provided Redeem Code to register on the Zoo.games Platform. Once registration is complete on Zoo.games, the Mirror (Game) Address will be connected to the newly registered account, and users can then access the Private Key of the PlayPass Primary Address.

After registering using the redeem code, all sessions associated with the PlayPass account will expire. Ensure you also disconnect them from the current session.

Claiming Mechanism If a user decides to formalize their engagement on the platform, they will be provided with a unique Claiming URL on . This URL directs them to a secure portal where they can establish a permanent ZooGamesID which will be linked to the account they have been utilizing.

ZooGames