Skip to main content
Mini Apps are lightweight web applications that run natively within clients like Base App. Users instantly access mini apps without downloads, benefit from seamless wallet interactions, and discover apps directly in the social feed. This benefits app developers by creating viral loops for user acquisition and engagement.

What is a Mini App?

A Mini App is composed of:

Your Existing Web Application

Your current web app works as-is

MiniKitProvider Wrapper

Simple wrapper component integration

Manifest File

Single farcaster.json configuration file

Standard Deployment

Deploy to any hosting platform (Vercel, Netlify, etc.)
No rebuilding, architectural changes, or complex integrations are required.

Code Implementation

function App() {
  return (
    <div>
      <MyExistingComponent />
      <AnotherComponent />
    </div>
  );
}

Implementation Examples

npx create-onchain --mini
cd my-miniapp
npm run dev
Result: Functional Mini App with wallet integration, transaction capabilities, and social features.

Pre-Solved Development Challenges

  • Complex wallet integration processes
  • Authentication flow implementation
  • Mobile responsiveness requirements
  • Cross-platform compatibility issues
  • User onboarding friction
  • Mobile Optimization: Automatic handling of safe areas and responsive design
  • Platform Compatibility: Operates across Farcaster, Coinbase Wallet, and web browsers
  • User Context: Immediate access to user identification

Manifest File Configuration

Mini Apps require one configuration file located at /.well-known/farcaster.json in your project root. This file instructs clients how to display your application.

Sample Manifest Structure

{
  "accountAssociation": {
    "header": "eyJmaWQiOjgxODAyNi...",
    "payload": "eyJkb21haW4iOiJleGFtcGxlLmNvbSJ9",
    "signature": "MHhmOGQ1YzQyMmU3ZTZlMWNhMzU1..."
  },
  "frame": {
    "version": "1",
    "name": "Your App Name",
    "subtitle": "Short tagline",
    "description": "Detailed description of what your app does",
    "iconUrl": "https://yourapp.com/icon.png",
    "homeUrl": "https://yourapp.com",
    "splashImageUrl": "https://yourapp.com/splash.png",
    "splashBackgroundColor": "#000000",
    "heroImageUrl": "https://yourapp.com/hero.png",
    "tagline": "One-line value proposition",
    "screenshotUrls": [
      "https://yourapp.com/screenshot1.png",
      "https://yourapp.com/screenshot2.png"
    ],
    "primaryCategory": "games",
    "tags": ["multiplayer", "strategy", "onchain"],,
    // use only while testing
    "noindex": true,
    "webhookUrl": "https://yourapp.com/api/webhook"
  }
}
While testing your Mini App, add “noindex”: true to your manifest this prevents the app from being indexed during development.

Categories and Discovery

Primary Categories

games

Gaming and entertainment applications

social

Social networking and communication tools

finance

DeFi, trading, and payment applications

utility

Tools and productivity applications

productivity

Task management and organization tools

developer-tools

Development utilities

art-creativity

Creative and artistic applications

Account Association (Domain Verification)

Domain ownership verification is required. Generate your manifest using:
npx create-onchain --manifest

Image Requirements

200x200px PNG/JPG format
200x200px PNG/JPG (displayed during app loading)
1200x628px PNG/JPG (for featured placement)
App store screenshots in various sizes

Deployment Process

The deployment process remains identical to standard web applications:
1

Build Application

npm run build (standard process)
2

Add Configuration

public/.well-known/farcaster.json
3

Deploy

Use any hosting platform (Vercel, Netlify, custom servers)
4

Browser Testing

Functions as standard web application
No special hosting, new infrastructure, or complex setup procedures required.

Frequently Asked Questions

No. Wrap your existing application in <MiniKitProvider>. Implementation complete.
No. Mini Apps function in regular browsers. The same codebase works across all platforms.
No. Integration complexity is similar to Stripe implementation.
Maintain current practices. You control data, backend systems, and privacy policies.
Minimal impact. MiniKit SDK is approximately 50KB. Application performance remains unchanged.
Yes. The Farcaster SDK supports Vue, Angular, Svelte, and any web framework.

Technical Resources