<?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>Farchiver — the easiest way to save your Farcaster activity</title>
        <link>https://paragraph.com/@farchiver</link>
        <description>Farchiver — the easiest way to save your Farcaster activity</description>
        <lastBuildDate>Sat, 14 Nov 2026 04:11:11 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[On cast storage]]></title>
            <link>https://paragraph.com/@farchiver/on-cast-storage</link>
            <guid>APH3zippjhUdCpwfZm6W</guid>
            <pubDate>Tue, 05 Mar 2024 21:31:30 GMT</pubDate>
            <description><![CDATA[Thanks to @trish for initiating a lively discussion, and thanks to @nounishprof for the hat tip 🎩.FarcasterTrish🫧 on WarpcastI’m one of the 5-15 an...]]></description>
            <content:encoded><![CDATA[<p>Thanks to <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/trish">@trish</a> for initiating a lively discussion, and thanks to <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/nounishprof">@nounishprof</a> for the hat tip <span data-name="top_hat" class="emoji" data-type="emoji">🎩</span>.</p><div data-type="embedly" src="http://warpcast.com/trish/0x291071a3" data="{&quot;large&quot;:true,&quot;title&quot;:&quot;Trish🫧 on Warpcast&quot;,&quot;description&quot;:&quot;I’m one of the 5-15 and this stresses me out. \n\nPeople might not care now, but nobody knows how valuable a fully archived Farcaster will be.  Undoubtedly very valuable and possibly most to people who aren’t thinking of it. \n\nI’m pretty much in this space for watching history unfold. https://warpcast.com/dwr.eth/0xe06c1d17&quot;,&quot;url&quot;:&quot;http://warpcast.com/trish/0x291071a3&quot;,&quot;thumbnail_url&quot;:&quot;https://img.paragraph.com/cdn-cgi/image/format=auto/https://storage.googleapis.com/papyrus_images/cb6869214a603db8d0f534217290d27e.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="http://warpcast.com/trish/0x291071a3" target="_blank" rel="noreferrer"><div class="twitter-summary-large-image"><img src="https://img.paragraph.com/cdn-cgi/image/format=auto/https://storage.googleapis.com/papyrus_images/cb6869214a603db8d0f534217290d27e.png" class="large-summary-image"><div class="twitter-summary-card-text"><span>Farcaster</span><h2>Trish🫧 on Warpcast</h2><p>I’m one of the 5-15 and this stresses me out. 

People might not care now, but nobody knows how valuable a fully archived Farcaster will be.  Undoubtedly very valuable and possibly most to people who aren’t thinking of it. 

I’m pretty much in this space for watching history unfold. https://warpcast.com/dwr.eth/0xe06c1d17</p></div></div></a></div></div><div data-type="embedly" src="https://warpcast.com/nounishprof/0x69e12554" data="{&quot;large&quot;:true,&quot;title&quot;:&quot;Nounish Prof ⌐◧-◧🎩💩 on Warpcast&quot;,&quot;description&quot;:&quot;As of now, you save everything w/ @farchiver — maybe @artlu can elaborate?&quot;,&quot;url&quot;:&quot;https://warpcast.com/nounishprof/0x69e12554&quot;,&quot;thumbnail_url&quot;:&quot;https://img.paragraph.com/cdn-cgi/image/format=auto/https://storage.googleapis.com/papyrus_images/4c72140deeed0bbec0942e3f9613a6fc.png&quot;,&quot;provider_url&quot;:&quot;Farcaster&quot;}" format="small"><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/nounishprof/0x69e12554" target="_blank" rel="noreferrer"><div class="twitter-summary"><img src="https://img.paragraph.com/cdn-cgi/image/format=auto/https://storage.googleapis.com/papyrus_images/4c72140deeed0bbec0942e3f9613a6fc.png" class="false"><div class="twitter-summary-card-text"><span>Farcaster</span><h2>Nounish Prof ⌐◧-◧🎩💩 on Warpcast</h2><p>As of now, you save everything w/ @farchiver — maybe @artlu can elaborate?</p></div></div></a></div></div><p><strong><u>TL;DR</u></strong></p><ul><li><p>casts are kept live in Hubs</p></li><li><p>casts are stored in databases</p></li><li><p>casts are exportable as JSONs</p></li><li><p>threads are savable as Farchives</p></li><li><p>Farchiver hosts public and semi-private Farchives</p></li></ul><p><strong><u>Casts are kept live in Hubs</u></strong></p><p>The Farcaster protocol achieves eventually-consistent consensus on live state. Each FID has a storage allocation, and activities that go over the allocation lead to pruning of older activities. More details elsewhere.</p><div data-type="embedly" src="https://warpcast.com/dwr.eth/0x0502314c" data="{&quot;large&quot;:true,&quot;title&quot;:&quot;Dan Romero on Warpcast&quot;,&quot;description&quot;:&quot;A few of things:\n\n1. You can keep paying for storage and as long as someone is running a valid Hub your content will be preserved. You could even make a smart contract that drips out payments for 100 years.\n\n2. Anyone can pay for someone else's storage ($3 in OP ETH)\n\n3. Back up off protocol on Arweave or onchain https://warpcast.com/dwr.eth/0xa7eb1dbb&quot;,&quot;url&quot;:&quot;https://warpcast.com/dwr.eth/0x0502314c&quot;,&quot;thumbnail_url&quot;:&quot;https://img.paragraph.com/cdn-cgi/image/format=auto/https://storage.googleapis.com/papyrus_images/414e40d640a2f7842e610ff6576c180c.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/dwr.eth/0x0502314c" target="_blank" rel="noreferrer"><div class="twitter-summary-large-image"><img src="https://img.paragraph.com/cdn-cgi/image/format=auto/https://storage.googleapis.com/papyrus_images/414e40d640a2f7842e610ff6576c180c.png" class="large-summary-image"><div class="twitter-summary-card-text"><span>Farcaster</span><h2>Dan Romero on Warpcast</h2><p>A few of things:

1. You can keep paying for storage and as long as someone is running a valid Hub your content will be preserved. You could even make a smart contract that drips out payments for 100 years.

2. Anyone can pay for someone else's storage ($3 in OP ETH)

3. Back up off protocol on Arweave or onchain https://warpcast.com/dwr.eth/0xa7eb1dbb</p></div></div></a></div></div><p><strong><u>Casts are stored in databases</u></strong></p><p>A handful of individuals maintain public databases of cast history. Some will prune, some will not.</p><p>The best known example is <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://searchcaster.xyz">searchcaster.xyz</a> by <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/greg">@greg</a>. Somebody else (pixel?) received early Purple grants to make their database snapshots public.</p><p>Neynar pushes their private custom Replicator dataset to Dune, where it is available to the public via Dune's gating. Airstack provides access to Farcaster data via their own private APIs. Etc.</p><p><strong><u>Casts are exportable as JSONs</u></strong></p><p>It is fast and low-cost (often free) to get your own cast history on your local machine! It is entirely yours, and you can do anything with it, including back it up.</p><p>Check out <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://fcau.xyz">fcau.xyz</a> by <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/iammathias">@iammathias</a> for an MIT-licensed FOSS Node CLI utility.</p><p>Check out <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/vrypan/fario">fario</a> by <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/vrypan">@vrypan</a> for a powerful CLI tool in python, also MIT-licensed.</p><p>Check out <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/pixel">@pixel</a>'s <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.neynar.com/docs/archiving-casts-with-neynar">guide</a>. Neynar is not free, but the one-month cost is less than one year of Farchiver.</p><p>All of these are really fast. The actual process to download full history takes less than ~2 minutes for most users. The setup may be intimidating to some, but is not super difficult for experienced devs.</p><p>To find free, open Hub endpoints at which to point these utilities, check out the list we maintain at <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://foss.farchiver.xyz">foss.farchiver.xyz</a>.</p><p><strong><u>Threads are savable as Farchives</u></strong></p><p>Farchiver lets you download every thread you've ever touched, with all interactions, in a delightful package. We suggest Obsidian for browsing; it can be any Markdown-aware knowledge tool.</p><p>We believe this is more interesting than just one's own casts. We charge 0.03 ETH for one year of this unique service.</p><p>You may purchase a snapshot of any FID.</p><p><strong><u>Farchiver hosts public Farchives</u></strong></p><p>In the public interest, Farchiver hosts Farchives, pinned on IPFS and available for the community to preserve collectively. </p><p>Examples:</p><ul><li><p>the proto channels thread, NBA game 5</p></li><li><p>an epic <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/keccers.eth">@keccers.eth</a> thread, requested by <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/shazow.eth">@shazow.eth</a></p></li><li><p>a month of <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/dwr.eth">@dwr.eth</a> interactions, around the wowow meme</p></li></ul><p>Farchiver also enables <em>private, sharable Farchives</em> of threads of interest. Each user has access to a section of private Farchives (possibly encrypted) behind a wallet login. This includes Farchives that others have paid for, to share with others.</p><p>As an example, one caster wanted to own the toxic interaction they had with a powerful account. It had been deleted, and only pieces of it had been screen-shotted without the full context. Now this user has a copy of the deleted abusive casts, and this Farchive can be shared with others as a semi-private, but transparent and permissionless record.</p><p></p>]]></content:encoded>
            <author>farchiver@newsletter.paragraph.com (Farchiver — the easiest way to save your Farcaster activity)</author>
        </item>
        <item>
            <title><![CDATA[How Farchiver (Part 4 of a 4-part series)]]></title>
            <link>https://paragraph.com/@farchiver/how-farchiver-part-4-of-4</link>
            <guid>8uRq3K1AiQAaEB3xGPmL</guid>
            <pubDate>Fri, 22 Dec 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[🙌 FC Community + FOSS FTW]]></description>
            <content:encoded><![CDATA[<p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://farchiver.xyz/uses">farchiver.xyz/uses</a> showcases Farchiver's community stack.</p><p><strong><u>TL;DR</u></strong> </p><ul><li><p>Community. </p></li><li><p>Hub, Replicator, or both. </p></li><li><p>On bootstrapping. </p></li></ul><p><strong><u>Community</u></strong> </p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://farcaster.xyz">Farcaster</a> and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thehubble.xyz">Hubble</a> are FOSS. As mentioned in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://paragraph.xyz/@farchiver/why-farchiver-part-1-of-4">Part 1</a> of this series, the team provided the major unlock with "100% permissionless" in early 2023.</p><p>By buidling on the shoulders of giants in the Farcaster community, Farchiver can focus on farchiving. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://obsidian.md">Obsidian</a> for visualization, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://deform.cc">DeForm</a> for signups, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://paragraph.xyz">Paragraph</a> for blogging, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://poidh.xyz">POIDH</a> for security bounties. The <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://templates.borodutch.com">FE starter</a> by <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/farcasteradmin.eth">@farcasteradmin.eth</a> makes sane, cost-effective decisions everywhere. A powerful tool called <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/vrypan/fario">fario</a> by <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/vrypan.eth">@vrypan.eth</a> simplifies exploration of Hub data. </p><p>S/O wallet services by <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://dynamic.xyz">Dynamic</a> and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://rainbow.me">Rainbow</a>. Never roll your own auth or crypto!</p><p><strong><u>Hub, Replicator, or both</u></strong> </p><p>Hub maintains consensus on live state, as well as an auditable, off-chain and purge-able history. A node responds to queries via its own APIs.</p><p>Replicator is a set of services, primarily a Node app that listens to Farcaster protocol messages (via Hub) and updates a PostgreSQL instance.</p><p>Neither Hub nor Replicator guarantees full synchronization, or a complete snapshot.</p><p>The Farcaster community provided useful discussion and advice on the trade-offs, in the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/~/channel/neynar">/Neynar</a> channel.</p><p>How it started:</p><div data-type="embedly" src="https://warpcast.com/artlu/0xc73398eb" data="{&quot;large&quot;:true,&quot;title&quot;:&quot;artlu.eth (🗝️,👑) - l/dau on Warpcast&quot;,&quot;description&quot;:&quot;strong opinion, weakly held: there are always better choices than Replicator\n\n- clients do not need complex joins\n- 2 Hubs handle concurrency as well as 1 Postgres constantly drip-fed by Replicator\n- tested APIs > rewriting logic in SQL\n- backfill is too complex: distinct state layers in Hub, bullmq, redis, postgres&quot;,&quot;url&quot;:&quot;https://warpcast.com/artlu/0xc73398eb&quot;,&quot;thumbnail_url&quot;:&quot;https://img.paragraph.com/cdn-cgi/image/format=auto/https://storage.googleapis.com/papyrus_images/78ecf5552124d03a18f0635a3da221e8.png&quot;}" format="small"><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/artlu/0xc73398eb" target="_blank" rel="noreferrer"><div class="twitter-summary"><img src="https://img.paragraph.com/cdn-cgi/image/format=auto/https://storage.googleapis.com/papyrus_images/78ecf5552124d03a18f0635a3da221e8.png" class="false"><div class="twitter-summary-card-text"><span></span><h2>artlu.eth (🗝️,👑) - l/dau on Warpcast</h2><p>strong opinion, weakly held: there are always better choices than Replicator

- clients do not need complex joins
- 2 Hubs handle concurrency as well as 1 Postgres constantly drip-fed by Replicator
- tested APIs &gt; rewriting logic in SQL
- backfill is too complex: distinct state layers in Hub, bullmq, redis, postgres</p></div></div></a></div></div><p>How it's going:</p><div data-type="embedly" src="http://warpcast.com/artlu/0x297ad0" data="{&quot;large&quot;:true,&quot;title&quot;:&quot;artlu.eth (🗝️,👑) - l/dau on Warpcast&quot;,&quot;description&quot;:&quot;strong opinion, weakly held: client devs should not run Hubs (they should run a Replicator)\n\n- Hubs are expensive\n- point Replicator to nemes, StandardCrypto, Neynar\n- Replicator is copy of all (verified) data, without overhead of CRDT, syncing, network spam\n- SQL is more flexible+expressive than Hub HTTP API or gRPC&quot;,&quot;url&quot;:&quot;http://warpcast.com/artlu/0x297ad0&quot;,&quot;thumbnail_url&quot;:&quot;https://img.paragraph.com/cdn-cgi/image/format=auto/https://storage.googleapis.com/papyrus_images/24648bf769b15141a01d6c59197cf885.png&quot;}" format="small"><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="http://warpcast.com/artlu/0x297ad0" target="_blank" rel="noreferrer"><div class="twitter-summary"><img src="https://img.paragraph.com/cdn-cgi/image/format=auto/https://storage.googleapis.com/papyrus_images/24648bf769b15141a01d6c59197cf885.png" class="false"><div class="twitter-summary-card-text"><span></span><h2>artlu.eth (🗝️,👑) - l/dau on Warpcast</h2><p>strong opinion, weakly held: client devs should not run Hubs (they should run a Replicator)

- Hubs are expensive
- point Replicator to nemes, StandardCrypto, Neynar
- Replicator is copy of all (verified) data, without overhead of CRDT, syncing, network spam
- SQL is more flexible+expressive than Hub HTTP API or gRPC</p></div></div></a></div></div><p>Farchiver currently runs on two Replicators: a <strong><em>stock</em></strong> instance pulled directly from the repository, and a <strong><em>magpie</em></strong> instance that grabs subsets of data from multiple data sources.</p><p>Charitably, the "eventually consistent" Hub network is not yet completely in sync. Practically, different Hubs provide slightly different slices of history, and consolidating it all into one data store is a quirky and undocumented process.</p><p>At some point in the future, Replicator will work perfectly out of the box. Or perhaps, something else like Teleport (a Hub + SQL database in one) may better serve our particular needs. Farchiver is buidling before everything is settled.</p><p><strong><u>On boostrapping</u></strong> </p><p>Farchiver uses <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://neynar.com">Neynar</a> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.neynar.com">APIs</a> for bootstrapping. They are a tremendous resource. We are also exploring the open-source <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.wield.co/farcaster/api">Farcaster APIs</a> from <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://wield.co">Wield</a>.</p><p>However, none of the API providers provide exactly everything needed to produce a Farchive. This feels fine. For the project to offer something unique and valuable, it has to do more than bundle together a bunch of off-the-shelf services.</p><p>Furthermore, generating a Farchive can incur a significant load on the infra and bandwidth. We have timed out/maxxed out on various API provider limits, which of course can be relaxed on our own infra.</p><p>Farchiver runs its own Hub + Replicator(s) for long-term sustainability. This is a significant diversion of resources from the core product, but it gives us better visibility to steer around bottlenecks.</p><p><strong><u>CONCLUSION</u></strong> </p><p>We have now reached the end of the 4-part series. Please check out <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://farchiver.xyz">farchiver.xyz</a> and follow <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/farchiver">@farchiver</a> on Farcaster for more!</p>]]></content:encoded>
            <author>farchiver@newsletter.paragraph.com (Farchiver — the easiest way to save your Farcaster activity)</author>
            <category>foss</category>
            <category>farcaster-protocol</category>
            <category>neynar</category>
            <category>permissionless</category>
            <enclosure url="https://img.paragraph.com/cdn-cgi/image/format=auto/https://storage.googleapis.com/papyrus_images/7efe97055eec72b26cb686b4fb4ac120.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Farchiver Security (Part 3 of a 4-part series)]]></title>
            <link>https://paragraph.com/@farchiver/farchiver-security-part-3-of-4</link>
            <guid>0uhxM8UcehvskQZA50gV</guid>
            <pubDate>Sat, 16 Dec 2023 18:37:21 GMT</pubDate>
            <description><![CDATA[Casts are public, collections are private. And Security Bounties!]]></description>
            <content:encoded><![CDATA[<p><strong><u>TL;DR </u></strong></p><ul><li><p>No secrets. </p></li><li><p>Serverless and Stateless. </p></li><li><p>Security bounties. </p></li></ul><p><strong><u>No secrets</u></strong> </p><p>POV December 2023: if Ledger Connect can be supply-chain attacked, if X can get link-jacked, then a smol project like Farchiver should never manage secrets.</p><p>The contents of any Farchive are 100% public. Farcaster shares everything in real-time, across the decentralized and permissionless Hub network.</p><p>Meanwhile, a Farchive collects all your social activities into a neat package. The act of extracting one individual's activities, out of the swirling sea of global messages, can feel intrusive.</p><p>For most users, it is better to keep the files unencrypted. For those who are extremely concerned about privacy, we offer symmetric encryption of each Farchive. We will throw away the key right after encryption, making the contents of the Farchive unrecoverable if the key becomes lost.</p><p><strong><u>Serverless and Stateless</u></strong></p><p>The Farchiver <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://farchiver.xyz">website</a> offers a private section, behind signed wallet authentication provided by <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://dynamic.xyz">Dynamic</a>. Connection + signature takes two clicks, in one flow.</p><p>Each Farchive is a gzipped tarball with a random name. Cloudflare R2 protects these assets from scraper bots, providing access by exact filename only. Serverless Cloudflare Workers verify Dynamic-signed JWTs, and Cloudflare KV holds meta-data mappings at the edge.</p><p>Even if a malicious actor is able to present properly-structured spoofed credentials after reverse-engineering the flow, they would still need to break whitelisted communication channels, the JWT signature chain, and/or the adaptive Cloudflare network, in order to access unauthorized data.</p><p>Farchiver does not need to secure a large set of private secrets, only a handful of API keys across multiple trustworthy providers.</p><p><strong><u>Security Bounties</u></strong></p><p>One view on Farcaster: startups paying for smart contract audits before PMF ngmi</p><div data-type="embedly" src="https://warpcast.com/briang/0x606c683f" data="{&quot;large&quot;:true,&quot;title&quot;:&quot;briang is live on unlonely on Warpcast&quot;,&quot;description&quot;:&quot;I’m sorry but if you’re paying $200k for a smart contract engineer you’re ngmi\n\nany solid dev should be able to write solidity with the help of chatgpt\n\n“no, the smart contract needs to be perfect and be audited” bro hit $100k in daily volume then worry about it being perfect&quot;,&quot;url&quot;:&quot;https://warpcast.com/briang/0x606c683f&quot;,&quot;thumbnail_url&quot;:&quot;https://img.paragraph.com/cdn-cgi/image/format=auto/https://storage.googleapis.com/papyrus_images/5d3671d55f0e67cb76f7fab6d635f097.png&quot;}" format="small"><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/briang/0x606c683f" target="_blank" rel="noreferrer"><div class="twitter-summary"><img src="https://img.paragraph.com/cdn-cgi/image/format=auto/https://storage.googleapis.com/papyrus_images/5d3671d55f0e67cb76f7fab6d635f097.png" class="false"><div class="twitter-summary-card-text"><span></span><h2>briang is live on unlonely on Warpcast</h2><p>I’m sorry but if you’re paying $200k for a smart contract engineer you’re ngmi

any solid dev should be able to write solidity with the help of chatgpt

“no, the smart contract needs to be perfect and be audited” bro hit $100k in daily volume then worry about it being perfect</p></div></div></a></div></div><p>Our problem is different. Farchiver is never gonna hit $100k in daily volume. Nobody with skillz would waste their time on our tiny-stakes project. Yet security is of paramount importance to end users.</p><p>So we launched a 0.75 ETH bounty on POIDH, payable to anybody who could retrieve private filenames hidden with Vitalik's public ENS. To our vast surprise, a 21-year-old anon weightlifter in a small village in Germany hacked the site in ~45 minutes.</p><p>The smart contract paid 0.75 ETH [<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://poidh.xyz/bounties/192">proof</a>]. We learned many valuable lessons. Individual pieces may be highly secure, but a project combining battle-tested, open-source technologies can still have holes.</p><div data-type="embedly" src="https://warpcast.com/0xchew/0x9f1eb" data="{&quot;large&quot;:true,&quot;title&quot;:&quot;0xChew on Warpcast&quot;,&quot;description&quot;:&quot;The biggest lesson to take away is no matter how widely adopted and trusted contracts are, if they are secure independently, they still may not be secure when used together, no matter how trivial they may seem.&quot;,&quot;url&quot;:&quot;https://warpcast.com/0xchew/0x9f1eb&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/db2040b3cc2c58195408614e200f9d0b&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/0xchew/0x9f1eb" target="_blank" rel="noreferrer"><div class="twitter-summary-large-image"><img src="https://storage.googleapis.com/papyrus_images/db2040b3cc2c58195408614e200f9d0b" class="large-summary-image"><div class="twitter-summary-card-text"><span></span><h2>0xChew on Warpcast</h2><p>The biggest lesson to take away is no matter how widely adopted and trusted contracts are, if they are secure independently, they still may not be secure when used together, no matter how trivial they may seem.</p></div></div></a></div></div><p>We immediately hardened endpoints and rotated secrets. The hacker is actually a member of a whitehat collective and worked with us responsibly. Very happy to recommend privately.</p><p>We implemented three features/migrations which were already on the roadmap, but got pulled forward from nice-to-haves to P0:</p><ul><li><p>random filenames + (optional) encryption + obfuscation</p></li><li><p>migrated from DigitalOcean to Cloudflare</p></li><li><p>switched from wagmi + WalletConnect to Dynamic (still wrapping WalletConnect)</p></li></ul><p>Follow <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://warpcast.com/farchiver">@farchiver</a> on Forecaster for new security bounties in January 2024 <span data-name="eyes" class="emoji" data-type="emoji">👀</span> .</p><p><strong><u>Up Next: How Farchiver</u></strong></p>]]></content:encoded>
            <author>farchiver@newsletter.paragraph.com (Farchiver — the easiest way to save your Farcaster activity)</author>
            <category>secret-less</category>
            <category>serverless</category>
            <category>stateless</category>
            <category>security bounty</category>
            <enclosure url="https://img.paragraph.com/cdn-cgi/image/format=auto/https://storage.googleapis.com/papyrus_images/e9645118c83a41567f862be9d9822261.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Farchiver as a Business (Part 2 of a 4-part series)]]></title>
            <link>https://paragraph.com/@farchiver/farchiver-as-a-business-part-2-of-4</link>
            <guid>RJNsAt5NIythf0ICg4gt</guid>
            <pubDate>Tue, 12 Dec 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[buidling a N+W side hustle on Farcaster]]></description>
            <content:encoded><![CDATA[<p>Many crypto projects over-promise and under-deliver. One game is to build hype, announce features before they are ready, start the flywheel.</p><p>In contrast, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://farchiver.xyz">Farchiver</a> is building in public as a sustainable business. Hopefully, the choices we've made create a stronger foundation for the business, which provides more upfront confidence in the product.</p><p><strong>TL;DR</strong></p><ul><li><p>pricing</p></li><li><p>costs</p></li><li><p>roadmap</p></li></ul><p><strong>Pricing</strong></p><p>KISS. Buy once, own the Farchive forever.</p><p>Base price is 0.005 ETH per quarter. Free samples + discounts for early-users.</p><p>Compare with Farcaster storage units, which cost ~0.0032 ETH on-chain, or ~0.0055 ETH via Apple/Google, and expire after one year. Most early Farcaster accounts have two storage units.</p><p><strong>Costs</strong></p><p>Farchiver primarily uses protocol-level primitives, rather than convenience API services. This is much slower, but also more robust and less dependent on business decisions by others.</p><p>Hub (~$50/month incl. compute + RPC access), Replicator (~$20/month). Neynar ($9/month as bootstrap). Domain name + hosting (~$1/month). Farcaster account ($1/month). These costs will fluctuate, probably increasing as usage + network value grows.</p><p>Dev and ops time + labor. Mostly front-loaded, with ongoing costs expected to whittle down over time, replaced with automation.</p><p><strong>Roadmap</strong></p><p>Public Goods: important threads saved as Public Farchives.</p><p>Farchives as building block for other Farcaster apps: useful for permanently saving content (with credible neutrality + promise of immortality). Displaying comments, testimonials, and providing permalinks that point to interactive spaces for perusal.</p><p>Farchives as building block for personal (self-owned) platforms: React components for publishing to a blog platform; UI-agnostic components that rely on Farchive data + metadata.</p><p>Farchiver as testbed for new crypto primitives: e.g., Quilibrium MPC for encryption, Mod Protocol for credible storage, Fabric Hypersub for subscriptions. Will be guided by customer interest.</p><p><strong>Up Next: Farchiver Security</strong></p>]]></content:encoded>
            <author>farchiver@newsletter.paragraph.com (Farchiver — the easiest way to save your Farcaster activity)</author>
            <category>buidling-in-public</category>
            <enclosure url="https://img.paragraph.com/cdn-cgi/image/format=auto/https://storage.googleapis.com/papyrus_images/9660e09e0e749e56bf6e0bdb1d5ec539.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Why Farchiver (Part 1 of a 4-part series)]]></title>
            <link>https://paragraph.com/@farchiver/why-farchiver-part-1-of-4</link>
            <guid>u2T9jAJ11Zlt2GdELAaE</guid>
            <pubDate>Thu, 07 Dec 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Why we built Farchiver - the easiest way to save your Farcaster activity.

]]></description>
            <content:encoded><![CDATA[<div data-type="embedly" src="https://warpcast.com/pushix/0xe915c7bc" data="{&quot;large&quot;:true,&quot;title&quot;:&quot;Nicholas Charriere on Warpcast&quot;,&quot;description&quot;:&quot;App request: farchiver\n\nCasts only last for 1 year by default in hubs. This is good generally, but as a user I probably would like to curate some of my (and others?) casts and mark them as persistent and backed up.\n\nOpen-minded about the interface (could be a built-in button in a client, a bot, a dedicated app).&quot;,&quot;url&quot;:&quot;https://warpcast.com/pushix/0xe915c7bc&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/9f9237646c3fdb080ef013ba06bb2ded&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/pushix/0xe915c7bc" target="_blank" rel="noreferrer"><div class="twitter-summary-large-image"><img src="https://storage.googleapis.com/papyrus_images/9f9237646c3fdb080ef013ba06bb2ded" class="large-summary-image"><div class="twitter-summary-card-text"><span></span><h2>Nicholas Charriere on Warpcast</h2><p>App request: farchiver

Casts only last for 1 year by default in hubs. This is good generally, but as a user I probably would like to curate some of my (and others?) casts and mark them as persistent and backed up.

Open-minded about the interface (could be a built-in button in a client, a bot, a dedicated app).</p></div></div></a></div></div><p><strong><u>TL;DR</u></strong></p><ul><li><p>the spark</p></li><li><p>pain points</p></li><li><p>opportunity for delight</p></li></ul><p><strong><u>The spark</u></strong></p><p>POV early 2023: new Warpcast user looking for ideas, still trying to grow my <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://free.byokapp.xyz">previous project</a> from its MVP stage. Way too early for me to think about cast purging. Wasn't ready yet to care about future coffee spit takes. Couldn't foresee anon frenships taking over my <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://warpcast.com/~/channel/shower-thoughts">f/Shower Thoughts</a>.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://warpcast.com/pushix">@pushix</a> floated his thought bubble [<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out dont-break-out" href="https://warpcast.com/pushix/0xe915c7bc">thread</a>], and got a ton of engagement. (Unfortunately, most of the likes disappeared around 3 months later, ~July 2023.) </p><p>Then <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://warpcast.com/dwr.eth">@dwr.eth</a> said the magic word: <strong><em>permissionless</em></strong>.</p><div data-type="embedly" src="https://warpcast.com/dwr.eth/0x6b0bc26e" data="{&quot;large&quot;:true,&quot;title&quot;:&quot;Dan Romero on Warpcast&quot;,&quot;description&quot;:&quot;Important: now with Hubs, 100% permissionless to do.&quot;,&quot;url&quot;:&quot;https://warpcast.com/dwr.eth/0x6b0bc26e&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/6bf17bc9f891cff9f6c0665be1496b85&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/dwr.eth/0x6b0bc26e" target="_blank" rel="noreferrer"><div class="twitter-summary-large-image"><img src="https://storage.googleapis.com/papyrus_images/6bf17bc9f891cff9f6c0665be1496b85" class="large-summary-image"><div class="twitter-summary-card-text"><span></span><h2>Dan Romero on Warpcast</h2><p>Important: now with Hubs, 100% permissionless to do.</p></div></div></a></div></div><p><strong><u>Pain points</u></strong></p><p>Plenty of us are completionists, hoarders, compulsive archivers and Zettelkästen crafters. No need to justify this service to <em>you</em>! if the idea of having your casts deleted causes an inner twinge, you already know what you have to do.</p><p>There's obvious benefit to having a record of the public discourse. A way to celebrate people who do what they say will do. To admire and partake in personal growth. To provide a perspective on how challenges shift over time. Also, a way for the Third Estate to speak truth to power.</p><p>On the world wide web, someone else preserves public information (<em>e.g.</em>, the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://archive.org">Internet Archive</a>). In web3, an immutable public blockchain means everyone gets the history for free.</p><p>Alas, Farcaster social activities are not on-chain (by design!). Only the <strong><em>sufficient</em></strong> pieces of identity are. Hubs de-centralize the data + metadata, as light consensus clients for global live state. Activity does not get stored on a slow, expensive blockchain.</p><p>Arweave immortalizes this blogpost. But every Warpcast link inside the post will break within a year, by protocol design.</p><p><strong><u>Opportunity for Delight</u></strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://warpcast.com/kepano">@kepano</a> shared some cool visualizations of his <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://obsidian.md">Obsidian</a> knowledge base. It became obvious that a living view of Farcaster interactions would be amazing to play with! Even better that it can be beautiful, self-sovereign, offline-first, and future-proof/readable forever.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://warpcast.com/valcoholics">@valcoholics</a> proved how mesmerizing Obsidian could make one's Farchiver interactions!</p><div data-type="embedly" src="https://warpcast.com/valcoholics/0x97bf1c2d" data="{&quot;large&quot;:true,&quot;title&quot;:&quot;V on Warpcast&quot;,&quot;description&quot;:&quot;my farcaster history visualized with Obsidian \n\n(cc: @artlu.eth) https://i.imgur.com/nQDnJ80.gif&quot;,&quot;url&quot;:&quot;https://warpcast.com/valcoholics/0x97bf1c2d&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/68113da1c85891cdb186eb76826859f0&quot;}" format="small"><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/valcoholics/0x97bf1c2d" target="_blank" rel="noreferrer"><div class="twitter-summary"><img src="https://storage.googleapis.com/papyrus_images/68113da1c85891cdb186eb76826859f0" class="false"><div class="twitter-summary-card-text"><span></span><h2>V on Warpcast</h2><p>my farcaster history visualized with Obsidian 

(cc: @artlu.eth) https://i.imgur.com/nQDnJ80.gif</p></div></div></a></div></div><p>Check out this lost [<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out dont-break-out" href="https://searchcaster.xyz/search?text=future-proof&amp;username=kepano">thread</a>] about this from over a year ago, courtesy of <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://searchcaster.xyz">Searchcaster</a>. Try to find it in Warpcast now, you can't!</p><p>If you want to own your own Farchive forever, we have <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out dont-break-out" href="https://farchiver.xyz">multiple plans</a> to suit your needs!</p><p><strong><u>Up Next: Farchiver as a Business</u></strong></p>]]></content:encoded>
            <author>farchiver@newsletter.paragraph.com (Farchiver — the easiest way to save your Farcaster activity)</author>
            <category>the purge</category>
            <category>permissionless to build</category>
            <category>ownership</category>
            <enclosure url="https://img.paragraph.com/cdn-cgi/image/format=auto/https://storage.googleapis.com/papyrus_images/65389d1ae39937e0873d64dc94e0fed8.png" length="0" type="image/png"/>
        </item>
    </channel>
</rss>