★ 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 ofloginWithCrossAppAccount
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
- Go to integrations tab
- Enable Monad Games ID from the list of options
- Optional: Disable
Automatically create embedded wallets on login
User Management -> Authentication -> Basics
▼
Step 3: Getting the player's wallet addressWhen 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 usernameEvery 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
ThewalletAddress
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
▼
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