From 76c94f6d266b3733352bc0041d02ee9604e3f1c5 Mon Sep 17 00:00:00 2001 From: soheima Date: Thu, 2 Oct 2025 20:17:48 +0200 Subject: [PATCH 1/6] added guidelines --- docs/mini-apps/get-featured/requirements.mdx | 122 +++++++++---------- 1 file changed, 58 insertions(+), 64 deletions(-) diff --git a/docs/mini-apps/get-featured/requirements.mdx b/docs/mini-apps/get-featured/requirements.mdx index e858f5e2..8dd76952 100644 --- a/docs/mini-apps/get-featured/requirements.mdx +++ b/docs/mini-apps/get-featured/requirements.mdx @@ -1,17 +1,55 @@ --- title: "Requirements for Featured Placement" sidebarTitle: "Requirements" - --- + To submit your app for featured placement, first verify your mini app in the [Base Build dashboard](https://base.dev/), then fill out the [submission form](https://buildonbase.deform.cc/getstarted/). -In order to be eligible for featured placement, your app must meet the requirements outlined in this document. +Your app must meet the minimum requirements across three pillars: User Experience, Design, and Technical Excellence. + + + +### User Experience + +Your app must provide an intuitive, frictionless experience that allows users to explore and understand value immediately. + +**Acceptance criteria** +- All users can explore at least part of the app without authenticating +- Lightweight, optional onboarding or prominent tutorial CTA from the homepage +- Display profile pictures, usernames, and other context data instantly +- Avoid crypto jargon (e.g., "Sign in", not "Connect Wallet") +- Display usernames, not wallet addresses unless necessary +- Plain-language copy that explains benefits, not mechanisms +- Replace client-specific terms with neutral ones + +**How to Implement** +- Use the `context` object to make users instantly feel at home with profile pictures, usernames, and other context data +- See [Optimize Onboarding](/mini-apps/growth/optimize-onboarding) +- Provide quick-start steps or a short guided tour + -## Complete Metadata +### Design -Metadata includes your manifest and embed metadata. Complete, valid metadata is required for indexing, category placement, and high‑quality embeds. +Your app must follow the Foundations design system to ensure visual consistency and professional quality. + +**Acceptance criteria** +- Respect mobile safe areas; concise interfaces with clear primary actions +- Legible text, accessible contrast, responsive layouts +- Design for compact, touch-first contexts + +**How to Implement** +- Follow the [Foundations design system](/mini-apps/design-ux/foundations/app-icon) + + +### Technical Excellence + +Your app must meet all technical requirements for metadata, authentication, transactions, and Base integration. + +#### Complete Metadata + +Metadata includes your manifest and embed metadata. Complete, valid metadata is required for indexing, category placement, and high-quality embeds. **Acceptance Criteria** - Manifest is publicly accessible at `/.well-known/farcaster.json` @@ -19,42 +57,42 @@ Metadata includes your manifest and embed metadata. Complete, valid metadata is - Images meet size/format constraints; text fields respect length limits **How to Implement** -- Follow the [Manifest guide](/mini-apps/features/manifest) -- Implement [embed metadata](/mini-apps/features/embeds-and-previews#implementation) +- Follow the [Manifest guide](/mini-apps/core-concepts/manifest) +- Implement [embed metadata](/mini-apps/core-concepts/embeds-and-previews#implementation) Validate your manifest using our preview tools at base.dev/preview. -## In-app Authentication +#### In-app Authentication Users must remain in the Base app throughout the authentication flow. Eliminate flows that bounce users out of the Base app. **Acceptance Criteria** - No external redirects - No email / phone verification -- Users can explore before sign‑in when possible +- Users can explore before sign-in when possible **How to Implement** -- Follow the [Authentication guide](/mini-apps/features/authentication) -- Prefer in‑app SIWF/Quick Auth or wallet auth; +- Follow the [Authentication guide](/mini-apps/core-concepts/authentication) +- Prefer in-app SIWF/Quick Auth or wallet auth -## Client-Agnostic +#### Client-Agnostic -There must be no client‑specific behaviors or wording that degrade the experience in the Base app. You must also ensure that you don't redirect the user to another client for functionality supported in the Base app. +There must be no client-specific behaviors or wording that degrade the experience in the Base app. You must also ensure that you don't redirect the user to another client for functionality supported in the Base app. **Acceptance criteria** -- Do not hardcode client‑specific URLs (e.g., Farcaster‑only links) +- Do not hardcode client-specific URLs (e.g., Farcaster-only links) - Use neutral language in UI (e.g. use "Share to Feed" instead of "Share to Farcaster") - Eliminate buttons that deeplink to other clients for features supported in the Base app **How to Implement** -- Update all links according to the [Links](/mini-apps/features/links) guide -- Review the [Base App Compatability](/mini-apps/troubleshooting/base-app-compatibility) guide for functionality not supported in the Base app. All other functionality must keep users in the Base app. +- Update all links according to the [Links](/mini-apps/technical-guides/links) guide +- Review the [Base App Compatibility](/mini-apps/troubleshooting/base-app-compatibility) guide for functionality not supported in the Base app. All other functionality must keep users in the Base app. -## Gasless +#### Gasless -Sponsor transaction fees to remove friction and reduce drop‑off for new users. For mini apps on Base, we recommend using the [Base Paymaster](/onchainkit/paymaster/quickstart-guide). +Sponsor transaction fees to remove friction and reduce drop-off for new users. For mini apps on Base, we recommend using the [Base Paymaster](/onchainkit/paymaster/quickstart-guide). **Acceptance criteria** - Transactions are sponsored via a paymaster @@ -66,57 +104,13 @@ Sponsor transaction fees to remove friction and reduce drop‑off for new users. Claim free gas credits on base.dev. +#### Batch Transactions (EIP-5792) -## Batch Transactions (EIP-5792) - -Batch sequential actions where applicable to minimize signatures and reduce friction. Use EIP‑5792 capabilities to send multiple calls in one request. +Batch sequential actions where applicable to minimize signatures and reduce friction. Use EIP-5792 capabilities to send multiple calls in one request. **Acceptance criteria** - Where applicable, combine sequential actions into a single batch (e.g. approve + swap) **How to Implement** - See [Batch Transactions](/base-account/improve-ux/batch-transactions) -- Provider APIs: [`wallet_sendCalls`](/base-account/reference/core/provider-rpc-methods/wallet_sendCalls), [`wallet_getCapabilities`](/base-account/reference/core/provider-rpc-methods/wallet_getCapabilities) - -## Mainstream Ready - -Design for mainstream users and assume no prior crypto experience. Use familiar language, avoid crypto jargon, and explain benefits rather than mechanisms. Keep copy clear, simple, and confidence‑building. - -**Acceptance criteria** -- Avoid crypto jargon (e.g., “Sign in”, not “Connect Wallet”) -- Display usernames, not wallet addresses unless necessary -- Plain‑language copy that explains benefits, not mechanisms -- Replace client‑specific terms with neutral ones (see Client‑agnostic) - -**How to Implement** -- Follow voice/tone in [Best Practices](/mini-apps/design-ux/best-practices) -- Provide context and value props on the first screen - -## User onboarding - -Use the `context` object to make users instantly feel at home with profile pictures, usernames, and other context data. Help new users orient quickly with a lightweight, **optional** onboarding flow or a clear tutorial CTA on the home screen. Defer authentication until needed (if needed at all); offer a guest mode when possible. - -**Acceptance criteria** -- All users can explore the at least part of the app without authenticating -- Lightweight, optional onboarding or prominent tutorial CTA from the homepage -- Display profile pictures, usernames, and other context datas instantly - -**How to Implement** -- See [Optimize Onboarding](/mini-apps/growth/optimize-onboarding) -- Provide quick‑start steps or a short guided tour - - -## Design guidelines - -Design for compact, touch‑first contexts with clear primary actions and accessible, responsive layouts. Keep interfaces concise and focused. - -**Acceptance criteria** -- Respect mobile safe areas; concise interfaces with clear primary actions -- Legible text, accessible contrast, responsive layouts - -**How to Implement** -- Follow [Best Practices](/mini-apps/design-ux/best-practices) -- UI components: [OnchainKit UI](/mini-apps/design-ux/onchainkit) - - - +- Provider APIs: [`wallet_sendCalls`](/base-account/reference/core/provider-rpc-methods/wallet_sendCalls), [`wallet_getCapabilities`](/base-account/reference/core/provider-rpc-methods/wallet_getCapabilities) \ No newline at end of file From a61d2db4b57488c3e480916d7e028ae2c797b301 Mon Sep 17 00:00:00 2001 From: soheima Date: Thu, 2 Oct 2025 20:40:36 +0200 Subject: [PATCH 2/6] added explicit requirements --- docs/mini-apps/get-featured/requirements.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mini-apps/get-featured/requirements.mdx b/docs/mini-apps/get-featured/requirements.mdx index 8dd76952..954b3654 100644 --- a/docs/mini-apps/get-featured/requirements.mdx +++ b/docs/mini-apps/get-featured/requirements.mdx @@ -32,7 +32,7 @@ Your app must provide an intuitive, frictionless experience that allows users to ### Design -Your app must follow the Foundations design system to ensure visual consistency and professional quality. +Your app must follow the Foundations design system to ensure visual consistency and professional quality. Apps with low-resolution icons, broken mobile layouts, or inconsistent styling will be rejected. **Acceptance criteria** - Respect mobile safe areas; concise interfaces with clear primary actions From 376638c48e333e29883f7dd0026ed62cdd3b9ef9 Mon Sep 17 00:00:00 2001 From: soheima Date: Thu, 2 Oct 2025 20:45:56 +0200 Subject: [PATCH 3/6] added explicit requirements design --- docs/mini-apps/get-featured/requirements.mdx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/mini-apps/get-featured/requirements.mdx b/docs/mini-apps/get-featured/requirements.mdx index 954b3654..5ad0c55f 100644 --- a/docs/mini-apps/get-featured/requirements.mdx +++ b/docs/mini-apps/get-featured/requirements.mdx @@ -40,7 +40,10 @@ Your app must follow the Foundations design system to ensure visual consistency - Design for compact, touch-first contexts **How to Implement** -- Follow the [Foundations design system](/mini-apps/design-ux/foundations/app-icon) +- [Mobile First](/mini-apps/design-ux/foundations/mobile-first): Design for smallest screens, ensure proper touch target sizing +- [Typography](/mini-apps/design-ux/foundations/typography): Use specified text sizes and line heights +- [Navigation](/mini-apps/design-ux/foundations/navigation): + ### Technical Excellence From 6abee2348971b2df32adf6b47576f91e330c9461 Mon Sep 17 00:00:00 2001 From: soheima Date: Thu, 2 Oct 2025 20:50:48 +0200 Subject: [PATCH 4/6] added explicit requirements UX --- docs/mini-apps/get-featured/requirements.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/mini-apps/get-featured/requirements.mdx b/docs/mini-apps/get-featured/requirements.mdx index 5ad0c55f..33981abc 100644 --- a/docs/mini-apps/get-featured/requirements.mdx +++ b/docs/mini-apps/get-featured/requirements.mdx @@ -13,12 +13,12 @@ Your app must meet the minimum requirements across three pillars: User Experienc ### User Experience -Your app must provide an intuitive, frictionless experience that allows users to explore and understand value immediately. +Your app must provide an intuitive, frictionless experience that allows users to explore and understand value immediately. Apps with slow load times or confusing user flows will be rejected. **Acceptance criteria** -- All users can explore at least part of the app without authenticating - Lightweight, optional onboarding or prominent tutorial CTA from the homepage - Display profile pictures, usernames, and other context data instantly +- Smooth interactions with helpful error messages - Avoid crypto jargon (e.g., "Sign in", not "Connect Wallet") - Display usernames, not wallet addresses unless necessary - Plain-language copy that explains benefits, not mechanisms From d2c81f0f0766d6be9cf21b41706dd4e25672265c Mon Sep 17 00:00:00 2001 From: soheima Date: Thu, 2 Oct 2025 21:22:48 +0200 Subject: [PATCH 5/6] added explicit requirements UX --- docs/mini-apps/get-featured/requirements.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mini-apps/get-featured/requirements.mdx b/docs/mini-apps/get-featured/requirements.mdx index 33981abc..ca8d597b 100644 --- a/docs/mini-apps/get-featured/requirements.mdx +++ b/docs/mini-apps/get-featured/requirements.mdx @@ -95,7 +95,7 @@ There must be no client-specific behaviors or wording that degrade the experienc #### Gasless -Sponsor transaction fees to remove friction and reduce drop-off for new users. For mini apps on Base, we recommend using the [Base Paymaster](/onchainkit/paymaster/quickstart-guide). +Sponsor transaction fees to eliminate friction for new users. Requiring users to hold ETH creates a significant barrier to adoption, we recommend using the [Base Paymaster](/onchainkit/paymaster/quickstart-guide). **Acceptance criteria** - Transactions are sponsored via a paymaster From 7e80b8234d0103e46e3d489a6d56cde09db97453 Mon Sep 17 00:00:00 2001 From: soheima Date: Thu, 2 Oct 2025 21:25:00 +0200 Subject: [PATCH 6/6] added explicit requirements batch transaction --- docs/mini-apps/get-featured/requirements.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mini-apps/get-featured/requirements.mdx b/docs/mini-apps/get-featured/requirements.mdx index ca8d597b..9590dad9 100644 --- a/docs/mini-apps/get-featured/requirements.mdx +++ b/docs/mini-apps/get-featured/requirements.mdx @@ -109,7 +109,7 @@ Sponsor transaction fees to eliminate friction for new users. Requiring users to #### Batch Transactions (EIP-5792) -Batch sequential actions where applicable to minimize signatures and reduce friction. Use EIP-5792 capabilities to send multiple calls in one request. +Batch sequential user actions into a single transaction to minimize signatures and improve UX. Instead of "approve → swap" requiring two signatures, batch them into one. Use EIP-5792 capabilities to send multiple calls in one request. **Acceptance criteria** - Where applicable, combine sequential actions into a single batch (e.g. approve + swap)