-
Notifications
You must be signed in to change notification settings - Fork 518
Create a doc that simplifies signing Mini App manifest #382
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
8a580e0
create streamlined quickstart for new mini app
hughescoin f7f47e3
update side nav and redirects for creating a new mini app
hughescoin 0730eff
swap farcaster manifest reference with base docs
hughescoin cbe4981
add images and reference base.dev for manifest signing
hughescoin fba731e
Fix a few typos in Readme
hughescoin 1c6f1bf
add warning callout for base account signing
hughescoin ea48628
change repo location
hughescoin 44d8bbe
update frame language to miniapp
hughescoin 8bb00b5
add tip for deployment protection
hughescoin 6492bc9
Add Sign Manifest guide
hughescoin b709d5d
run spellcheck
hughescoin 6720d42
Merge master into pat/sign-manifest
hughescoin e4fad09
remove manifest from quickstart section
hughescoin 6e0921b
move sign manifest guide
hughescoin bf9f2f7
add sign manifest to launch checklist
hughescoin f3d8671
Fix based on Sohey's comments
hughescoin 1ef38e0
move migrate app guide to top
hughescoin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,103 @@ | ||
| --- | ||
| title: Sign Your Manifest | ||
| description: Learn what a Mini App manifest is, why signing it matters, and how to generate and add an account association to your app. | ||
| --- | ||
|
|
||
| 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` | ||
|
|
||
|
|
||
| <Tip> Want to learn more about manifests? 👉 Check out our [Manifest guide](/mini-apps/features/manifest).</Tip> | ||
|
|
||
|
|
||
| ## Sign Your Manifest | ||
|
|
||
| There are two supported ways to sign and generate your manifest: | ||
|
|
||
|
|
||
| <Tabs> | ||
| <Tab title="Base Build" icon="star"> | ||
| ## Option 1: Base Build Preview Tool | ||
|
|
||
| 1. Visit **[Base.dev](https://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. | ||
|
|
||
| <img | ||
| src="/images/base-build/basedev-manifest-success.png" | ||
| alt="Main dashboard interface" | ||
| height="300" | ||
| className="rounded-lg" | ||
| /> | ||
|
|
||
|
|
||
| </Tab> | ||
|
|
||
| <Tab title="Farcaster"> | ||
| ## Option 2: Farcaster Manifest Tool | ||
|
|
||
| 1. Go to **[farcaster.xyz](https://farcaster.xyz)** and log in. | ||
| 2. Navigate to **Developers → Manifest Tool**. | ||
| 3. Enter your domain (exclude `https://` and trailing slashes). | ||
| 4. Click **Refresh** to fetch your app. | ||
| 5. Select **Generate Account Association**. | ||
| 6. Copy the generated object. | ||
| 7. Paste it into your project’s `farcaster.json` under `accountAssociation`. | ||
| 8. Redeploy your application to production. | ||
|
|
||
| You should now see green check marks indicating successful signing. | ||
|
|
||
| <img | ||
| src="/images/base-build/farcaster-manifest-success.png" | ||
| alt="Main dashboard interface" | ||
| height="300" | ||
| className="rounded-lg" | ||
| /> | ||
| </Tab> | ||
| </Tabs> | ||
|
|
||
| ## Example Manifest | ||
|
|
||
|
|
||
| Here’s a simplified example of what a `farcaster.json` could look like from the [Base Camp Mini App](https://basecamp25.app/.well-known/farcaster.json): | ||
|
|
||
| ```json | ||
| { | ||
| "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" | ||
| ] | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.