Skip to content

Feature: Support Mini Apps #673

@hellno

Description

@hellno

Summary

Add support for Farcaster Mini Apps in herocast, allowing users to discover, interact with, and launch mini apps directly within the client.

Background

Mini Apps are interactive applications built on Farcaster that provide rich, app-like experiences within the social feed. Supporting mini apps would bring herocast to parity with other Farcaster clients and give power users access to the growing mini app ecosystem.

Proposed Features

  • Render mini app embeds in the feed
  • Mini app launcher/discovery interface
  • Wallet provider integration for transactions and signatures
  • Manifest verification and app metadata display
  • Notification handling (optional)
  • Bookmark/favorite mini apps for quick access

Technical Requirements

Core Host Responsibilities

  1. SDK Communication - JavaScript postMessage channel for iframe communication
  2. Splash Screen - Display branded splash until app calls sdk.actions.ready()
  3. Header Display - Show app name/author from manifest above the mini app
  4. Viewport - Render in vertical modal at 424x695px on web
  5. Manifest Verification - Fetch and validate /.well-known/farcaster.json from each app's domain

Wallet Provider Integration

Mini apps access wallets via the SDK:

const ethProvider = sdk.wallet.getEthereumProvider() // EIP-1193 compatible
const solProvider = sdk.wallet.getSolanaProvider()   // Wallet Standard compatible

Approach Options:

Approach Pros Cons
Pass-through to browser wallet Native UX, user keeps existing wallet Cross-origin iframe security complexity
Herocast as wallet proxy Unified experience, controlled signing flow Additional implementation overhead
WalletConnect bridge Works with mobile/external wallets Extra connection step for users

Relevant Packages

Package Purpose
@farcaster/miniapp-host Web host implementation
@farcaster/miniapp-sdk SDK used by mini apps
@farcaster/miniapp-node Backend webhook verification

Resources

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions