Install
Farcaster ships as a single Go binary. There is no separate database, cache, or sidecar required to start it — Postgres is optional (see below).
Requirement: OIDC configuration
Section titled “Requirement: OIDC configuration”The gateway requires OIDC configuration to start. FARCASTER_OIDC_ISSUER
and FARCASTER_OIDC_AUDIENCE must be set, or the process exits immediately
with auth: IssuerURL is required. This is deliberate — there is no
unauthenticated path to bring the gateway up (see
Auth & multi-tenancy).
Local dev (mock OIDC)
Section titled “Local dev (mock OIDC)”Clone the repo and run the bundled dev target, which boots a throwaway mock
OIDC issuer alongside the gateway and writes a ready-to-use bearer token to
/tmp/farcaster-dev-token:
git clone https://github.com/zerkerlabs/farcaster.gitcd farcastermake dev-auth# operational endpoints — no token requiredcurl localhost:8080/healthz # -> {"status":"ok"}curl localhost:8080/versionThe mock issuer is dev-only and must never be used in production.
Production
Section titled “Production”Point the gateway at your real identity provider (Auth0, Okta, Google, or any OIDC-compliant issuer):
FARCASTER_OIDC_ISSUER=https://your-idp.example.com \FARCASTER_OIDC_AUDIENCE=your-audience \ make runBy default the gateway keeps state in memory (agents are lost on restart). Set
FARCASTER_DATABASE_URL to back it with Postgres instead:
FARCASTER_DATABASE_URL="postgres://user:pass@localhost:5432/farcaster?sslmode=disable" \ make runRequires Go 1.26+ to build from source.
Next: the Quickstart walks through registering an agent, proxying a call, and gating a paid tool.