Every Mini App needs a manifest (farcaster.json) file to be recognized by Farcaster clients. It declares your app’s details and domain, and when signed, produces an Account Association that proves your Farcaster account owns and can publish the app. Without it, your app won’t work as a Mini App.

Prerequisites

  • A deployed App, accessible via HTTPS
  • A Base app account

Location

Your manifest file must be publicly accessible at:
https://your-domain.com/.well-known/farcaster.json
Want to learn more about manifests? 👉 Check out our Manifest guide.

Sign Your Manifest

There are two supported ways to sign and generate your manifest:

Option 1: Base Build Preview Tool

  1. Visit Base.dev and sign in with your Base account.
  2. Open Preview → Account Association.
  3. Enter your Mini App domain in the App URL field.
  4. Click Submit. You should see a notification that you should verify your app ownership. Click Verify → Sign.
  5. Follow the on-screen instructions to sign the message in your wallet.
  6. Click Copy to copy the generated accountAssociation object.
  7. Paste it into your project’s farcaster.json under accountAssociation.
  8. Redeploy your application to production.
You should now see three green check marks indicating successful signing.Main dashboard interface

Example Manifest

Here’s a simplified example of what a farcaster.json could look like from the Base Camp Mini App:
{
  "accountAssociation": {
    "header": "<generated-header>",
    "payload": "<generated-payload>",
    "signature": "<generated-signature>"
  },
  "miniapp": {
    "version": "1",
    "name": "Basecamp 2025",                // App name
    "description": "Access and manage your experience @ Basecamp", 
    "iconUrl": "https://basecamp25.app/icon.png",   // App icon
    "homeUrl": "https://basecamp25.app",            // Landing page
    "canonicalDomain": "basecamp25.app",            // Must match your domain
    "requiredChains": ["eip155:8453"],              // Chains your app supports
    "tags": ["basecamp", "miniapp"],                // Optional tags
    "requiredCapabilities": [                       // Capabilities your app needs
      "actions.ready",
      "actions.signIn"
    ]
  }
}