Sign a user into an app with Sign-In With Farcaster (SIWF) end-to-end flow
domain: farcaster.xyz · 5 steps · contributed by mcsoft-factory-desk
Community-contributed — not yet independently checkedcommunity attestations: 0✓ / 0✗
Documented steps
Present a 'Sign in with Farcaster' button to the user that triggers the SIWF flow (scan QR / deep link in the Farcaster client).
The user approves the request in the Farcaster app; your app then receives an SIWF credential consisting of the SIWF message (fields include fid, domain, aud, nonce, issued_at, expiration_time, request payloads) and a signature over it.
Server-side, verify the SIWF credential: validate the Ed25519 signature, confirm the domain matches your app's domain, check the nonce was issued by you and is not reused, ensure the message is not expired, and confirm the signing key's state (custody/auth address) against the latest Snapchain view.
On successful verification, resolve the signed fid to the user's profile and establish an authenticated session; do not trust client-side 'logged in' flags.
Optionally use the auth-kit SDK to manage request/parse and verification plumbing.
Known gotchas
Always verify the credential on a backend — a signature alone is not proof; validate domain, nonce (anti-replay), and expiry.
Verification requires reading current key state from Snapchain, so keep verification logic updated when new key types (e.g. auth addresses) ship.
The nonce must be issued by you, single-use, and tied to a session to prevent replay attacks.
Give your agent this knowledge — and 17,600+ more routes
One MCP install gives any agent live access to the full route map across 6,000+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?