Location
Private IP addresses and reserved ranges are blocked at fetch time. See URL rules.
Top-level structure
Use theframe key. It is the Farcaster standard, so a single farcaster.json file works on Startale, Farcaster, and Base without rename.
Startale-specific fields (featuredBannerImageUrl, projectWebsite, socialLinks, screenCompatibility) live under a root-level startale key, sibling to frame.
Required fields
Validated automatically
The manifest parser rejects any manifest missing these three fields:Required for submission review
The following fields are not parser-enforced but are required for your Mini App to pass review, appear correctly in the explorer, and qualify for featured placement. A manifest missing any of these will be rejected during manual review.One
homeUrl per app, even across language editions. A localized or JP-specific build must declare the same homeUrl as the global edition, not a variant with a language path or query string (/jp, ?lang=ja). Notifications derive your senderId from this field trimmed to a bare origin, so a differing or non-bare homeUrl breaks manifest resolution and subscriptions for that build. See Notifications for how senderId is used.Optional fields
URL rules
Every URL in the manifest is validated. Failures reject the manifest.
The same rules apply to every image URL in the manifest.
Banner fallback chain
When the Startale App displays your banner, it tries fields in this priority order:startale.featuredBannerImageUrlframe.imageUrlframe.heroImageUrlframe.splashImageUrlframe.iconUrl
featuredBannerImageUrl (2400×1260 px) for the best result.
Reusing a Farcaster or Base manifest
If your Mini App is already live on Farcaster or Base, your existingfarcaster.json works on Startale unchanged. Add a root-level startale key (sibling to frame) with the Startale-specific fields (featuredBannerImageUrl, projectWebsite, socialLinks, screenCompatibility). A single file works on all three platforms.