Skip to main content

Mavis Account

Overview

Mavis Account is an OAuth 2.0 service that you can use to access Sky Mavis users' identities and information, and implement features like sign-in with a Mavis Account.

Key features

  • One account for all games and apps: while removing the burden of managing too many accounts, Mavis Account lets your users connect other entities, such as Ronin Wallet or Axie Infinity Marketplace.
  • Improved onboarding experience: Mavis Account brings users to your apps faster by providing common social sign-in methods without having to go through complicated Web3 concepts at the early stage.
  • Trusted sign-in provider: Mavis Account is already implemented as a sign-in provider in dApps and games within the Sky Mavis ecosystem, such as Axie Infinity Origins, Axie Infinity Marketplace, or Mavis Hub.

Use cases

Sign-in with Mavis Account

Mavis Account allows users to sign in to your app conveniently with a passwordless flow, similar to other social login methods.

If you're a game studio that wants to publish a game on Mavis Hub, then you need to integrate with Mavis Account so that users can access your game on their desktop devices. If your game supports multiple platforms like iOS and Android, then the Mavis Account service provides you with the same user ID (Mavis ID) that the user used to play on Mavis Hub.

It might be the case that your game or app doesn't solely distribute on the Sky Mavis publishing platform. With a Mavis Account, your user can sign in with the same account to inherit the same in-game progress, using the same user ID and information across different platforms and devices.

The following sections describe some scenarios where you can implement Mavis Account as a sign-in method for your users.

Sign-in on Mavis Hub

If you want to onboard your game to Mavis Hub, you must implement Mavis Account to allow your users to access the game on their desktop devices.

When your game is available on Mavis Hub, it receives a token from Mavis Hub. Using the token, the game can make a request to the Mavis Account server directly, and exclusively for this game. To access the game, the user only needs to sign in to Mavis Hub once.

If your game supports multiple operating systems such as iOS and Android, Mavis Account provides you with the same user ID (Mavis ID) that the player used to interact with the game on Mavis Hub.

Sign-in on the web or mobile

If your game is published as a standalone app or on mobile app stores, or, you can integrate Mavis Account as a sign-in method and authenticate users via an OpenID Connect (OIDC) flow.

Linking users' Mavis Accounts with your in-game account

If the user already has an account in your game, Mavis Account provides you with a flow to link the user's Mavis Account with their in-game account.

This use case offers two implementation scenarios described in the following sections.

Linking on Mavis Hub

Your app can retrieve a Mavis ID when the user has signed in to your game. This Mavis ID represents the unique user ID of the account. The third-party backend account system can automatically and implicitly create a user account without needing the user to sign in with any other method.

Linking within the game

Mavis Account supports the OpenID 2.0 specification so that games can allow users to safely sign in to their account from within the game and retrieve their Mavis ID by opening a web browser.

Both implementation scenarios are depicted in the following diagram:

The game creates a user in its account system and binds with Mavis ID
The system binds Mavis ID with the in-game user ID
Account linking is complete
Player
The game receives the player's Mavis ID
The system implicitly creates a new user in the game's account system
Start the game
on Mavis Hub
Start the game
using the
standalone app
Sign in with
Sky Mavis
Account
Sign in using
the in-game
account
Link the
Sky Mavis account
and in-game account
in the browser

Next steps

Request access to the Mavis Account service and configure it in the Developer Console. For more information, see Get started.

Was this page helpful?
Happy React is loading...