RunFarcaster
Menu

Open source · MIT · No API keys

Read and post on Farcaster from your own server.

RunFarcaster sets up a Farcaster node and app of your own, with no gatekeepers in between.

A node set up by these scripts synced on mainnet and posted a cast on 18 Oct 2026.

Set up with AI

3 commands. Your assistant runs them with you.

Paste this prompt into Claude Code, Codex or Cursor. It walks you through the 3 steps one at a time, and shows you each command and what it costs before it runs anything.

Prompt
Set up RunFarcaster for me: fetch https://sudharshanx.github.io/runfarcaster/agent.md and walk me through the steps. Show me each command and what it costs before you run it.
  1. 01

    Rent a server

    Checks the price, then rents a Hetzner server with a 1000 GB disk. ./provision.sh

    Example report

    Picked cax31, $0.164 an hour with the volume. The server is up at <your-ip>.

  2. 02

    Start the node

    Starts a Snapchain read node and waits until it holds every message. node.sh

    Example report

    Node is in sync after 14 h 06 m: 914,243,963 messages, every shard less than 10 s behind.

  3. 03

    Open the app

    Puts the web app online on the same server, over HTTPS. ./deploy-client.sh

    Example report

    App is up at https://<ip-with-dashes>.sslip.io. The status says Connected to your node.

Keep your recovery phrase and your Hetzner token out of the chat. See the steps the prompt follows: agent.md. Exact commands, to run by hand: Full run. Prompts for when you're stuck: Debug and question prompts.

Read from your own copy.

Your node keeps every Farcaster message. Your app reads your feed from it, with no API key.

Post with your own key.

The app adds a gasless app key, then sends your casts, likes and follows through your node.

Build on it.

Bots, apps and analytics jobs call the same HTTP API as the app. Build on your node

How it works

How the parts connect.

Your browseron your laptop or phone
Your server
Your appserved over HTTPS by Caddy
Your read nodea full copy of every message
Validatorsthe Farcaster network; they make the blocks
A validator puts the cast in a block. Your node copies that block like any other, and the cast shows up in your feed.
How Farcaster works

Proof of work

We ran it ourselves.

Our test accountvia the RunFarcaster app on localhost

My first cast on a local node

· Farcaster mainnet

0x4b4eb31bb28cf0d6d0583c7fc022a60f0af50ec2

  1. 20:53:29Gasless KEY_ADD accepted
  2. 20:53:47Cast confirmed by the node, 18 s later
See the cast

I typed the recovery phrase into the app on localhost. It never left the browser: only the signed key and the cast went to our node.

We synced the node in 14 h 06 m. It then held 914,243,963 messages.

Logs, screenshots and every number
The app on a desktop screen: Connected to your node, the Following feed with casts from Greg, Thomas and adrienne, and the Add app key prompt beside it
The app reading a Following feed from our synced node on 18 Oct 2026.

Cost

What it costs on Hetzner.

Hetzner prices in USD, October 2026.

ItemPer hourPer month
Server: cax31 (8 vCPU ARM, 16 GB RAM)$0.040$24.99
Public IPv4 address$0.001$0.60
1000 GB volume for the node's data$0.123$76.70
Total$0.164$102.29

Estimate your bill

$3.93

Your server. Your node. Your feed.