GET YOUR GAME LISTED ON MONADCLIP

Ready to List Your Game?

Want to get your game listed on MONADCLIP?
Follow our integration guide to join the growing ecosystem of Web3 games on the Monad blockchain!

🎮 INTEGRATION REQUIREMENTS

📋 Basic Requirements

  • Your game must be built on and deploy on the Monad testnet blockchain
  • The game must support login with Monad Games ID, steps to integrate are given below
  • The game should be of good quality, all it's features and functionality should be working properly and it should be able to handle a lot of players!

    Here is a guide for developer best practices.

⚙️ Technical Integration Steps

🔐Step 1: Integrate "Sign in with Monad Games ID"

Implement Monad Games ID to enable seamless user experience. This includes:

  • Follow this Privy guide: Login with a global wallet
  • It is recommended to use loginMethodsAndOrder method instead of loginWithCrossAppAccount method
  • If your game allows multiple different wallets, a dedicated button for "Sign in with Monad Games ID" is recommended
  • When asked for Cross App ID or Provider App ID use the below value:

    cmd8euall0037le0my79qpz42

    ⚠️ IMPORTANT: This is not the appId - this is the Cross App ID. You must use your own appId from the Privy Dashboard.
🔧Step 2: Enable Monad Games ID support in Privy dashbaord
  • Go to Global wallet section in the Privy dashboard

    Privy Dashboard
  • Go to integrations tab

    Privy Dashboard
  • Enable Monad Games ID from the list of options

    Privy Dashboard
  • Optional: Disable Automatically create embedded wallets on login

    User Management -> Authentication -> Basics

    Privy Dashboard
🔢Step 3: Getting the player's wallet address

When the user signs in using their Monad Games ID, an embedded wallet is created for them automatically!

  • Below is the code that you can use in your game to get that wallet address:
    import {
      usePrivy,
      CrossAppAccountWithMetadata,
    } from "@privy-io/react-auth";
    
    export default function App() {
      const { authenticated, user, ready, logout, login } = usePrivy();
      
      ...
      
      useEffect(() => {
        // Check if privy is ready and user is authenticated
        if (authenticated && user && ready) {
          // Check if user has linkedAccounts
          if (user.linkedAccounts.length > 0) {
            // Get the cross app account created using Monad Games ID    
            const crossAppAccount: CrossAppAccountWithMetadata = user.linkedAccounts.filter(account => account.type === "cross_app" && account.providerApp.id === "cmd8euall0037le0my79qpz42")[0] as CrossAppAccountWithMetadata;
    
            // The first embedded wallet created using Monad Games ID, is the wallet address
            if (crossAppAccount.embeddedWallets.length > 0) {
              setAccountAddress(crossAppAccount.embeddedWallets[0].address);
            }
          } else {
            setMessage("You need to link your Monad Games ID account to continue.");
          }
        }
      }, [authenticated, user, ready]);
      
      ...
    }
👤Step 4: Get the player's username

Every player who signs in using their Monad Games ID, will have a username associated with their wallet address.

  • Use the below endpoint to get the username

    https://monadclip.fun/api/check-wallet?wallet=[walletAddress]

    Method: GET

    The walletAddress parameter should be set to the player's Monad Games ID wallet address. You can obtain this wallet address by following the instructions in the "Get the player wallet address" section above. This wallet address uniquely identifies the player within the Monad Games ecosystem and allows you to retrieve their associated username.
  • ⚠️ Warning: Some players may not have reserved a username yet! Make sure to handle this case gracefully in your implementation.

    If the player does not have a username, show a button or a link with a message, redirecting the user to the below url for registering a username.

    https://monadclip.fun/

    Example from a game

    Monad Clip
📝Step 5: Submit the form

📊 Benefits of Integration

  • Increased Visibility: Get listed on MONADCLIP's homepage
  • Unified Identity: Players can use their existing Monad Games ID
  • Community Growth: Benefit from collective marketing and community building