> ## Content Index
> Fetch the complete content index at: https://blog.arbitrum.foundation/llms.txt
> Use this file to discover other available public pages before exploring further.

# Build a Farcaster Mini App with Arbitrum in Minutes
- URL: https://blog.arbitrum.foundation/build-a-farcaster-mini-app-with-arbitrum-in-minutes/
- Published: 2025-07-25T14:00:09.000Z
- Updated: 2025-07-29T19:39:54.000Z
- Description: Build composable, on-chain social apps using Arbitrum Stylus and Farcaster Mini Apps. This starter template gets you from idea to prototype fast.
- Author: Ben Greenberg
- Tags: Builder Posts

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.

0:00 

/3:36 

1× 

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:

[GitHub - hummusonrails/farcaster-arbitrum-miniapp-starter: Template to begin creating a Farcaster Mini-App with ArbitrumTemplate to begin creating a Farcaster Mini-App with Arbitrum - hummusonrails/farcaster-arbitrum-miniapp-starter![](https://storage.ghost.io/c/d4/cc/d4cc8040-691e-4dd2-8282-0c08d45fc5a8/content/images/icon/pinned-octocat-093da3e6fa40-1.svg)GitHubhummusonrails![](https://storage.ghost.io/c/d4/cc/d4cc8040-691e-4dd2-8282-0c08d45fc5a8/content/images/thumbnail/farcaster-arbitrum-miniapp-starter)](https://github.com/hummusonrails/farcaster-arbitrum-miniapp-starter?ref=blog.arbitrum.foundation)

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](https://ngrok.com/?ref=blog.arbitrum.foundation) 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:

```yaml
tunnels:
  web5173:
    proto: http
    addr: 5173
  web8547:
    proto: http
    addr: 8547
```

Then just run:

```bash
ngrok start --all
```

Once that’s running, you’ll get public HTTPS URLs like:

```bash
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](https://farcaster.xyz/~/developers/mini-apps/preview?ref=blog.arbitrum.foundation). 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](https://ngrok.com/docs?ref=blog.arbitrum.foundation).

## 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:

1. Clone the [repo](https://github.com/hummusonrails/farcaster-arbitrum-miniapp-starter?ref=blog.arbitrum.foundation)
2. Install dependencies with `pnpm install`
3. Run the dev node and the frontend
4. Use `ngrok` to expose it for testing
5. Load it into the [Farcaster Mini App Previewer](https://farcaster.xyz/~/developers/mini-apps/preview?ref=blog.arbitrum.foundation)

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](https://github.com/hummusonrails/farcaster-arbitrum-miniapp-starter?ref=blog.arbitrum.foundation)

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.