Build a Farcaster Mini App with Arbitrum in Minutes
Build composable, on-chain social apps using Arbitrum Stylus and Farcaster Mini Apps. This starter template gets you from idea to prototype fast.

A few weeks ago at a developer workshop I facilitated in Berlin, I saw something fantastic: genuine interest in building on-chain. These were traditional developers, not chasing hype, but asking real questions about how to ship fast, including in social experiences.
That energy matches a broader trend: the rise of SocialFi. Developers want to build applications include social graphs, not just around them. Farcaster is leading the way, offering powerful new primitives like Mini Apps that bring interactivity directly into the feed.
At the same time, Arbitrum Stylus is unlocking smart contract development in battle-tested languages like Rust. It combines WebAssembly performance, modern developer tooling, and full EVM interoperability.
Put the two together, and you get something powerful: composable, on-chain social apps written in Rust that live inside Farcaster.
Watch the 3-minute video for a full rundown of what's covered
Why Farcaster Mini Apps?
Mini Apps are one of the most exciting new surfaces for onchain UX. They let you embed interactive apps right inside a Farcaster cast similar to link previews, but actionable and programmable.
With Mini Apps, users can connect their wallets, either the Farcaster native wallet or any EVM-compatible wallet, and interact directly within the app itself. Whether you're minting NFTs, submitting votes, or launching games, the interaction feels seamless and native.
This surface is more than a gimmick. It’s a shift toward making the feed itself the interface for blockchain apps.
Getting Started
To help kickstart exploration in this space, I put together a new open-source project:
It’s a full-stack template for developers who want to build SocialFi apps that run on-chain, featuring a modern TypeScript frontend, wallet integration, and a Stylus-powered smart contract all integrated.
What's Included
This is not a bare-bones scaffold. It’s designed to be used as the starting point for real projects. Here's what you get out of the box:
Frontend
- A React + Vite + Tailwind frontend that works in both browsers and inside Farcaster casts
- Wallet support via Wagmi and Viem, including both browser wallets (like MetaMask) and Farcaster native wallets
- A built-in minting flow that lets users interact with an NFT contract and see their collected tokens in a simple gallery
- All the correct Farcaster meta tags and manifest files, so your app renders as a mini app inside a cast
Smart contract
- A Rust ERC721 contract using Arbitrum Stylus and the OpenZeppelin Stylus Rust crate
- Easy commands to build, deploy, and export the contract’s ABI
- A mint function that automatically assigns new token IDs, along with inline metadata via
tokenURI
- Scripts to fund test wallets, run a local Arbitrum test node, and estimate gas
Developer tooling
- Everything is inside a monorepo with
pnpm
, using isolated workspaces for the frontend, contracts, and utility scripts - Uses test accounts with pre-funded ETH so you can start interacting immediately
This lets you get straight to building the parts that matter instead of setting up boilerplate.
Local development with ngrok
Mini Apps require your frontend to be served over HTTPS to be previewed inside Farcaster, even during development. That's where ngrok comes in.
It creates a secure tunnel from your local dev server to the public Internet, making it easy to test your app live.
Here’s a sample ngrok.yml
config:
tunnels:
web5173:
proto: http
addr: 5173
web8547:
proto: http
addr: 8547
Then just run:
ngrok start --all
Once that’s running, you’ll get public HTTPS URLs like:
https://fancy-sky-5173.ngrok.app
https://fancy-sky-8547.ngrok.app
Update your frontend to use the new RPC URL from web8547
, and paste the frontend URL into Farcaster’s Mini App Previewer. Your cast will now load the local app as if it were hosted in production.
For more details, please take a look at the official ngrok documentation.
Ideas for What to Build
Use this starter template as a launchpad for SocialFi experiments:
- A simple mint-to-collect app
- On-chain voting or polls
- Social games and interactive challenges
- Airdrop claim flows or badge minting
- Reputation systems
- DAO member tools that live in the feed
The possibilities are expansive. The key is you build inside the social graph, not just next to it.
Hacking with the Starter
You can be up and running in minutes:
- Clone the repo
- Install dependencies with
pnpm install
- Run the dev node and the frontend
- Use
ngrok
to expose it for testing - Load it into the Farcaster Mini App Previewer
Whether you're just curious about Stylus or serious about building composable on-chain experiences, this starter gives you everything you need to dive into Farcaster + Arbitrum development fast.
🔗 github.com/hummusonrails/farcaster-arbitrum-miniapp-starter
Follow the README for setup instructions, and use it as inspiration for your project.
If you build something with it, let me know. I’d love to see what you come up with.
Happy hacking.