Design Standards

Guidelines

These guidelines are meant to help you succeed as a mini app developer. Please follow them to ensure your app is approved.

MiniKit Integration

Integrate MiniKit to supercharge your web app with exclusive features like World ID and Wallet access, making your mini app more engaging and valuable to users.

To get your mini app approved, it’s essential to use the MiniKit SDK commands effectively to enhance the user experience. We’re looking for meaningful integrations, whether through World ID and Wallet access , or other creative uses that add real value.

Mobile First

Mini apps are inherently accessed via mobile, so your application UI should look and feel like a mobile app.

Key considerations for a mobile-first experience:

  • Use tab navigation to simplify movement within the app.
  • Implement snap-to text boxes for easy user input.
  • Avoid footers, sidebars, and excessive scrolling.
  • Provide clear and direct navigation without hamburger menus.
  • Ensure smooth transitions between different screens or sections.
  • Use consistent background colors for a cohesive visual experience.
  • Provide clear navigation cues to help users understand where they are and how to proceed.
  • Ensure all UI elements are responsive and adapt well to different screen sizes.
  • Use fonts that are optimized for readability on mobile devices.
  • Include a splash page for sign-in if needed.

❌ Bad Example
Footer and long scrolling

✅ Good Example
Bottom tab navigation and anchored buttons

Localisation

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 header

These languages are particularly important given our users:

  1. English
  2. Spanish
  3. Japanese
  4. Korean

Usernames

You should never display the user's wallet address; instead, always use their username. Usernames are ENS-compatible identifiers for every World App user, ensuring consistency and easy recognition. For example, when displaying transaction history, show the username instead of the wallet address to make it more user-friendly and private. For implementation details, refer to the documentation World Usernames Documentation.

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.

Using the Address Book

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.

Design Patterns

Here are some design patterns that we recommend you follow:

  1. When a user is authenticated through their wallet, always show their username instead of the wallet address
  2. Use the "Verify" command to confirm important actions or identity verification.
  3. When dealing with wallet addresses, use an address book to link them to recognizable usernames or other identifiers

Inspiration

Looking for inspiration? Check out the approved mini apps to see what successful integrations look like and learn from their best practices. Seeing how others have effectively used MiniKit can provide you with ideas for creating an engaging and valuable experience for your users. Join our developer network to connect with fellow developers, share insights, and get support: World Developers Telegram