<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Neynar</title>
        <link>https://blog.neynar.com</link>
        <description>Developer platform for web3 social protocols</description>
        <lastBuildDate>Thu, 14 May 2026 04:25:12 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Neynar</title>
            <url>https://storage.googleapis.com/papyrus_images/ce1459ee998365c7ead012500b4e94cc</url>
            <link>https://blog.neynar.com</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Understanding message propagation on Farcaster mainnet]]></title>
            <link>https://blog.neynar.com/understanding-message-propagation-on-farcaster-mainnet</link>
            <guid>qhgjVAOIHmzKvwRjD0wd</guid>
            <pubDate>Thu, 08 Feb 2024 18:31:38 GMT</pubDate>
            <description><![CDATA[This post is meant to help you think through message propagation on the Farcaster network. I wrote a few casts about this earlier (see below) but fig...]]></description>
            <content:encoded><![CDATA[<p>This post is meant to help you think through message propagation on the Farcaster network. I wrote a few casts about this earlier (see below) but figured I would write a longer form now. </p><div data-type="embedly" src="https://warpcast.com/rish/0x33b5e1d0" data="{&quot;large&quot;:true,&quot;title&quot;:&quot;rish on Warpcast&quot;,&quot;description&quot;:&quot;reminder if building on FC protocol -\n\nclient -> protocol has a time gap - an action on WC shows up on WC immediately but during times of heavy load, can take up to mins to appear on the protocol (this is expected and WC is usually pretty good)\n\nworth keeping in mind when building frames that rely on quick actions&quot;,&quot;url&quot;:&quot;https://warpcast.com/rish/0x33b5e1d0&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/ee801ee6e6088869546c4421bef5f3c5.png&quot;,&quot;provider_url&quot;:&quot;Farcaster&quot;}" format="large"><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="twitter-card-link" href="https://warpcast.com/rish/0x33b5e1d0" target="_blank" rel="noreferrer"><div class="twitter-summary-large-image"><img src="https://storage.googleapis.com/papyrus_images/ee801ee6e6088869546c4421bef5f3c5.png" class="large-summary-image"><div class="twitter-summary-card-text"><span>Farcaster</span><h2>rish on Warpcast</h2><p>reminder if building on FC protocol -

client -&gt; protocol has a time gap - an action on WC shows up on WC immediately but during times of heavy load, can take up to mins to appear on the protocol (this is expected and WC is usually pretty good)

worth keeping in mind when building frames that rely on quick actions</p></div></div></a></div></div><p>The goal is of this article is to explain the <em>technical details </em>of what I'm seeing while building on the protocol, in case it helps you build. <span data-name="slightly_smiling_face" class="emoji" data-type="emoji">🙂</span>  </p><p>Varun and Dan have written in length about the protocol, read architecture doc <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.farcaster.xyz/learn/architecture/overview">here</a>. In quick summary, every app / client on Farcaster reads and writes messages from an underlying network of hubs (nodes). Each hub stores a state of the network and communicates (aka gossips) any incoming messages to other hubs its peered with. Through this gossiping between the hubs, all hubs <em>eventually </em>receive the same messages and can serve it back to the clients. </p><figure float="none" width="660px" data-type="figure" class="img-center" style="max-width: 660px;"><img src="https://storage.googleapis.com/papyrus_images/61795addfa81d67d9ff215f5046ecbeb.png" class="image-node embed"><figcaption htmlattributes="[object Object]" class=""><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.farcaster.xyz/learn/architecture/overview">Architecture diagram link</a></figcaption></figure><p>However, this does mean that there will be times where individual hubs have a different state of the network because they have not yet finished gossiping all the messages to other hubs. This can happen either at the hub level if some hub is running slow or at the client level where the client can have bottlenecks and not push data to their hub fast enough. In the latter case, the client has data that users of that client can see without problems, but that data is not available to the rest of the network. This creates disjointed experiences between clients that are built on the same underlying protocol. </p><p>The thing to note here is that if you're coming to Farcaster after having built on blockchains, this can be a bit surprising. Blockchains have a deterministic current state which is the head of the chain and apps know whether they are reading the latest block in the chain or not. Farcaster is not a blockchain, and thus, the concept of time within Farcaster is vague. Hubs don't know whether they have the latest message. The idea being that for social data having the latest message is less important compared to financial data. In the case of financial data, if you don't have the latest record, you don't know how much money was moved and who owns what. Dan and Varun made a bet that social data does not need that level of finality. That bet allows Farcaster to move data at much cheaper prices than a blockchain would be able to. Writing all Farcaster data to blockchains would be extremely cost prohibitive, something that stopped prior decentralized social networks from growing. </p><p>I personally think this is a good bet, at least for the time being. If blockchains ever get cheap enough, maybe Farcaster can introduce protocol upgrades that respect finality more. However, till then, current version of the protocol allows <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.varunsrinivasan.com/2022/01/11/sufficient-decentralization-for-social-networks">sufficient decentralization</a> with eventually consistent state. What does this mean for you as a developer for Farcaster? It means accounting for states where hubs and clients have different data, especially during times of peak network load that Farcaster has been experiencing lately. </p><figure float="none" width="667px" data-type="figure" class="img-center" style="max-width: 667px;"><img src="https://storage.googleapis.com/papyrus_images/cbd90609dce23c06fe531a20e8bf9572.png" class="image-node embed"><figcaption htmlattributes="[object Object]" class=""><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://dune.com/pixelhack/farcaster">dashboard link</a></figcaption></figure><p>See these casts to get a sense:</p><div data-type="embedly" src="https://warpcast.com/v/0xcbdd0ad4" data="{&quot;large&quot;:true,&quot;title&quot;:&quot;Varun Srinivasan on Warpcast&quot;,&quot;description&quot;:&quot;Hubs are seeing record traffic and message propagation is sometimes delayed. \n\nShould have significantly improved performance in 24 hrs https://warpcast.com/woj.eth/0x82d3e781&quot;,&quot;url&quot;:&quot;https://warpcast.com/v/0xcbdd0ad4&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/2649b605791815a9d6c098129ad7dd08.png&quot;,&quot;provider_url&quot;:&quot;Farcaster&quot;}" format="large"><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="twitter-card-link" href="https://warpcast.com/v/0xcbdd0ad4" target="_blank" rel="noreferrer"><div class="twitter-summary-large-image"><img src="https://storage.googleapis.com/papyrus_images/2649b605791815a9d6c098129ad7dd08.png" class="large-summary-image"><div class="twitter-summary-card-text"><span>Farcaster</span><h2>Varun Srinivasan on Warpcast</h2><p>Hubs are seeing record traffic and message propagation is sometimes delayed. 

Should have significantly improved performance in 24 hrs https://warpcast.com/woj.eth/0x82d3e781</p></div></div></a></div></div><div data-type="embedly" src="https://warpcast.com/linda/0xc43dbfd2" data="{&quot;large&quot;:true,&quot;title&quot;:&quot;Linda Xie on Warpcast&quot;,&quot;description&quot;:&quot;Warpcast currently delayed ~1 hour showing \&quot;@bountybot\&quot; posts, it's up on our website bountycaster.xyz and picked up by Farcaster network if you want to check if it worked correctly. Thanks for the patience 🙏&quot;,&quot;url&quot;:&quot;https://warpcast.com/linda/0xc43dbfd2&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/7ff9093a3e088d3fec64f72358126d57.png&quot;,&quot;provider_url&quot;:&quot;Farcaster&quot;}" format="large"><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="twitter-card-link" href="https://warpcast.com/linda/0xc43dbfd2" target="_blank" rel="noreferrer"><div class="twitter-summary-large-image"><img src="https://storage.googleapis.com/papyrus_images/7ff9093a3e088d3fec64f72358126d57.png" class="large-summary-image"><div class="twitter-summary-card-text"><span>Farcaster</span><h2>Linda Xie on Warpcast</h2><p>Warpcast currently delayed ~1 hour showing "@bountybot" posts, it's up on our website bountycaster.xyz and picked up by Farcaster network if you want to check if it worked correctly. Thanks for the patience 🙏</p></div></div></a></div></div><p>This level of sudden growth is insane and Merkle has been handling it extremely well. Neynar gets a fraction of that load and we have been fully under water for the last ten days, scrambling to get our server traffic under control.</p><p>I expect such issues to reduce as the network scales and grows more resilient, though we are far from that yet. I am optimistic that this is just the beginning of the growth curve. There will be growing pains as with everything and the best products will figure out how to provide a robust user experience in spite of such gaps. There will be innovations not only at the consumer product level but also at the developer product level e.g. better debugging tools - take a cast hash or fid as input and see the state of the cast or the user across multiple known hubs and public replicators. I have been pushing developers to try a version of this by checking the network state on clients that run on different hubs e.g. Supercast vs Warpcast. </p><div data-type="embedly" src="https://warpcast.com/rish/0x08230b8e" data="{&quot;large&quot;:true,&quot;title&quot;:&quot;rish on Warpcast&quot;,&quot;description&quot;:&quot;PSA if you're seeing data slowness -- test with @supercast. Write from there and see when it appears in our APIs.\n\nWarpcast is having issues pushing data to the protocol due to increased load (quite understandable, their team is working hard on a solution).\n\nThis might help you isolate where the issue is in the stack.&quot;,&quot;url&quot;:&quot;https://warpcast.com/rish/0x08230b8e&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/1f1eb5b947eb1004cdb00992c4d7b268.png&quot;,&quot;provider_url&quot;:&quot;Farcaster&quot;}" format="large"><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="twitter-card-link" href="https://warpcast.com/rish/0x08230b8e" target="_blank" rel="noreferrer"><div class="twitter-summary-large-image"><img src="https://storage.googleapis.com/papyrus_images/1f1eb5b947eb1004cdb00992c4d7b268.png" class="large-summary-image"><div class="twitter-summary-card-text"><span>Farcaster</span><h2>rish on Warpcast</h2><p>PSA if you're seeing data slowness -- test with @supercast. Write from there and see when it appears in our APIs.

Warpcast is having issues pushing data to the protocol due to increased load (quite understandable, their team is working hard on a solution).

This might help you isolate where the issue is in the stack.</p></div></div></a></div></div><p>I am not sure what all the solutions look like here but I am curious to see what people come up with. </p><p>At <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://neynar.com">Neynar</a>, our main focus has been on scaling the Hubs and replicator infrastructure to better support the growing traffic. Manan and I will write more about our solution stack in detail in a different post. If you have been building using Neynar, you know we've been seeing issues. I appreciate you bearing with us. </p><p>If you read this far and have ideas (or corrections I should make to this article), reach out @<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/rish">rish</a> on Farcaster. If you chose to build on Farcaster, we're glad to have you! <span data-name="ringed_planet" class="emoji" data-type="emoji">🪐</span></p><p></p>]]></content:encoded>
            <author>neynar@newsletter.paragraph.com (rish)</author>
            <category>farcaster</category>
        </item>
        <item>
            <title><![CDATA[14 ideas for what to build on Farcaster]]></title>
            <link>https://blog.neynar.com/farcaster-ideas</link>
            <guid>g4lFJjGRgLoFmdays9SA</guid>
            <pubDate>Wed, 13 Sep 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Permissionless signups are around the corner and it feels like the Farcaster community is just getting started! 🔥 We wanted to share a list of ideas...]]></description>
            <content:encoded><![CDATA[<figure float="none" width="295px" data-type="figure" class="img-center" style="max-width: 295px;"><img src="https://storage.googleapis.com/papyrus_images/d6e5b5b6d5940e60f5c741112a88362d.gif" blurdataurl="data:image/png;base64,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" nextheight="200" nextwidth="268" class="image-node embed"><figcaption htmlattributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Permissionless signups are around the corner and it feels like the Farcaster community is just getting started! <span data-name="fire" class="emoji" data-type="emoji">🔥</span> We wanted to share a list of ideas that we think would be cool to build on top of Farcaster. </p><h3>Clients</h3><p>Farcaster being a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://hackmd.io/@farcasterxyz/Hyyt7NFb2">turing complete protocol</a> means that Warpcast is just one of the ways to interact with the underlying data and the people in your network. Here's a few ideas we'd love to see in the ecosystem:</p><ol><li><p><strong>Slack UI on top of channels</strong>, responses to a parent cast show up in Slack-like thread views (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://farcord.com/">https://farcord.com/</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://farchat.xyz/">https://farchat.xyz/</a> <span data-name="eyes" class="emoji" data-type="emoji">👀</span>)</p></li><li><p><strong>Instagram story / TikTok like client</strong> for seamless video creation and consumption - memes channel is a good example of how funny the community can be with still images, we might be able to unlock more with other media types</p></li><li><p><strong>Fitness client </strong>that integrates Whoop, Strava, Nike+, Apple Health data and combines that with the conversations and the network in the Fitness channel </p></li><li><p><strong>Permissionless channel browsing </strong>client for content under <code>parent_urls</code> that don't show up on Warpcast; can also create channels on the fly and write to such new channels</p></li></ol><h3>Analytics </h3><ol start="5"><li><p><strong>Quantified analytics for your profile - </strong>essentially <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="http://farcaster.network">farcaster.network</a> but for any given <code>fid</code> (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://www.farcasteruserstats.com/">www.farcasteruserstats.com/</a>)</p></li><li><p><strong>Reputation scoring </strong>based on engagement / activity / follower &lt;&gt; following relationships on the protocol - will only get more important after permissionless signups </p></li><li><p><strong>Protocol usage</strong> for Farcaster users i.e. which protocols / dapps does the Farcaster population use the most, what are interesting finds on the tail end? (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://dune.com/yesyes/farcaster-users-onchain-activities">dune.com/yesyes/farcaster-users-onchain-activities</a>)</p></li></ol><h3>Developer</h3><ol start="8"><li><p><strong>Explorer</strong> that takes in a hub url and provides a stream of data from that hub, useful for troubleshooting when developing (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="http://casthose.xyz">casthose.xyz</a> <span data-name="eyes" class="emoji" data-type="emoji">👀</span>)</p></li><li><p><strong>Plug and play bot platform </strong>- no code tools to build a bot on Farcaster</p></li></ol><h3>Marketing solutions </h3><ol start="10"><li><p><strong>Marketing tools for Farcaster</strong> e.g. social pilot for Twitter (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="http://saymore.tv">saymore.tv</a> <span data-name="eyes" class="emoji" data-type="emoji">👀</span>)</p></li></ol><h3>Fun</h3><p>List is incomplete without experiences that are not utilitarian but just fun to play around with</p><ol start="11"><li><p><strong>FC profile trivia</strong> - answer questions about Farcaster users and earn bragging points e.g. "<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://warpcast.com/dwr.eth/0x84f0ae">why doesn't dwr eat fruits?</a>"</p></li><li><p><strong>Extension that inserts FC content on Twitter </strong>so that when viewing Twitter feed or profile, tweets and casts show up interspersed on the same timeline</p></li><li><p><strong>Mutual follows </strong>- when looking at a profile, see who amongst your following graph follows them (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://docs.neynar.com/reference/relevant-followers">docs.neynar.com/reference/relevant-followers</a>)</p></li><li><p><strong>Unfollowed by</strong> - who's the target of unfollows <span data-name="hot_pepper" class="emoji" data-type="emoji">🌶</span> (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out dont-break-out" href="http://hatecast.xyz">hatecast.xyz</a>)</p></li></ol><p>Have other ideas or already built any of the above? Ping <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="http://warpcast.com/rish">@rish</a> and we will update this list!</p><p></p><h1><span data-name="ringed_planet" class="emoji" data-type="emoji">🪐</span></h1><p></p>]]></content:encoded>
            <author>neynar@newsletter.paragraph.com (rish)</author>
        </item>
    </channel>
</rss>