Skip to content

Conversation

@hughescoin
Copy link
Contributor

@hughescoin hughescoin commented Nov 25, 2025

What changed? Why?

  • Include a decision tree for SIWF vs SIWE
  • Move authentication considerations before implementation
  • Included notifications, app location, and leveraging social graph as key considerations

Notes to reviewers

How has it been tested?

@cb-heimdall
Copy link
Collaborator

cb-heimdall commented Nov 25, 2025

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1



## Choosing An Authentication Method
Users in the Base app are authenticated with passkey account using [Sign in with Ethereum](https://docs.login.xyz/) (SIWE) or their Farcaster account using [Sign in With Farcaster](https://docs.farcaster.xyz/developers/siwf/).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Users in the Base app are authenticated with their Base Account using ..."

Is there a reason to say passkey instead of Base Account?


If your app will be used on the open web, other wallets, or standalone mobile apps, use SIWE as your primary authentication.

You can still offer SIWF when the user arrives from a Farcaster client.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How are accounts linked between SIWE outside of a farcaster client and SIWF within a farcaster client?

Are builders supposed to create an association in the database that maps the user's FID to the ethereum wallet they're using?


#### Utilizing Farcaster Social Graph

If your app does not rely on followers, FIDs, casts, or social graph logic, use SIWE and optionally support SIWF for enhanced social features.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "optionally support SIWF" path is unclear to me technically... Are you allowing users to SIWF but not providing any of teh casts / social graph logic / notifications etc because doing so would break the experience for users who are only using SIWE?


Quick Auth provides instant authentication by leveraging Farcaster's identity system - no passwords, email verification, or complex OAuth flows required.

When Quick Auth is called:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After the section between using SIWE vs SIWF we then go into a section that solely talks about SIWF via quick auth. What are the builders who selected SIWE going to do? What is their implementation path?

If we're trying to push builders towards SIWE, should we prioritize that implementation path over quick auth?

## Choosing An Authentication Method
Users in the Base app are authenticated with passkey account using [Sign in with Ethereum](https://docs.login.xyz/) (SIWE) or their Farcaster account using [Sign in With Farcaster](https://docs.farcaster.xyz/developers/siwf/).

When deciding between SIWE and SIWF, the core question is whether your app depends on Farcaster’s social context or must work outside Farcaster clients.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this just a "line"? because you can SIWF in a browser without needing to be inside of a farcaster client. Its the same as sign in with gmail or the like... so this statement isn't really the crux of the decision as I understand it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants