We recommend you avoid scroll bounce error on iOS devices. Try disabling autoscroll & maybe fixed position elements or using 100dvh instead of 100vh.If you are not using a bottom navigation bar, you can use the following CSS to disable the scroll bounce error:
For mini apps, 2-3 seconds max for initial load and under 1 second for subsequent actions should be your target.
However, always test for real-world scenarios and provide visual feedback during loading to maintain user trust.
Do not use the term “official” in your app name, description, or interface. Mini apps are third-party applications and should not create the impression that they are officially endorsed by or affiliated with World.
Mini apps should maintain their own distinct brand identity while integrating with the World ecosystemAdditionally, do not use the World logo or any modified version of it in your app.
We recommend developers to avoid building chance based games, as these games have a very low likelihood of being approved.Chance based = prize awarded based on chance, not skill. This means you are using a RNG to determine a winner.
You can still have prizes but they need to be awarded based on skill. Not randomness. So winning a game where I get a prize is skill based.
Mini Apps may allow users to view their own NFTs, provided that NFT ownership does not unlock features or functionality within the app.
Mini Apps may allow users to browse NFT collections owned by others, provided that the mini apps may not include buttons, external links, or other calls to action that direct customers to purchasing mechanisms other than in-app purchase.
Many of our users are located around the world. Apps that are localised for each region will perform significantly better.
You can recognize the user’s locale by using the Accept-Language headerFor next.js apps, you can use Next.js Internationalization to localize your app.These languages are particularly important given our users:
You should never display the user’s wallet address, always use their username.
If you use Sign in with World ID you should not be doing any transactions with the user’s wallet address, instead you should be using the username.
Sign in with World ID and Verify offer the same World ID guarantees, but Verify is more reliable.
World ID inherently allows anonymity between applications. We generally encourage
developers to use their own Verify Command and verify the proof. However, we also offer a World ID
address book. This contract stores a mapping addressVerifiedUntil you can query to see if a World App
address is World ID Orb verified.
The Mini Apps UI Kit is a React-based design system for accelerating the development of mini apps. It provides pre-built, reusable UI components that align with World’s design guidelines for consistency and high-quality UX.