Introduction to Farcaster

Farcaster is a protocol for building sufficiently decentralized social networks. Clients (such as Warpcast) build on top of Farcaster to provide the user interface and user experience for interacting with the decentralized network.

This is a beautiful relationship because the underlying social graph is shared by all the clients. This means that users can switch between clients without losing their social graph. It also means that clients can be built by different teams, each focusing on different aspects of the user experience.

Farcaster is not a blockchain. It is a protocol that stores the social graph on a blockchain, currently Optimism. If you’re wondering what exactly it means when Farcaster defines itself as “sufficiently decentralized”, Varun Srinivasan, one of the co-founders of Farcaster describes it as:

“A social network achieves sufficient decentralization if two users can find each other and communicate, even if the rest of the network wants to prevent it. This implies that users can always reach their audience, which can only be true if developers can build many clients on the network. If only one client existed, it could stop users from communicating. Achieving this only requires three decentralized features: the ability to claim a unique username, post messages under that name, and read messages from any valid name.”

Due to this decentralized and permissionless nature, Farcaster has been able to introduce a number of features that are not possible in traditional social networks, one being Frames which you can think of as “mini-apps”. For example, you can purchase items directly from your social media feed or tip creators directly from your feed.

Farcaster + Dynamic

Our mission is to create incredible onboarding experiences for anyone interacting with Web3. We believe that Farcaster is a key piece of the Web3 puzzle, and we are excited to be working with the Farcaster team to bring the best possible onboarding experience to users of Farcaster. You can do this in a number of different ways:

Sign in with Farcaster

If you want to allow your users to sign into a dapp using their Farcaster identity, similar to how you would with Google or other, this is as easy as a toggle in the dashboard. You can learn about that here.

Enable Write Access

You may want to create certain actions in Farcaster on behalf of your users. For example, you may want to post a message on their behalf. For this you will need your user to go through a write access flow, and you can learn about how to do that here.

Wallets in Frames

If you are building a Frame and want to allow users to interact in a way that requires a wallet, you can generate a wallet from just an email address on multiple chains. You can learn about that here.