Cast, like, comment, and curate channels from a shared Farcaster account — leveraging all the non-custodial benefits of smart contracts — with FarcasterDelegator (FD).
FD is the Hats team’s open-source contribution to the incredible builder party that is unfolding on Farcaster. We are true believers in open-source and hope that you will use it, contribute to it, and fork it, and expand on it however you like.
FarcasterDelegator is a smart contract that holds a FID and enables delegation of casting authority and other FID permissions to individuals or groups.
The individuals and groups can be either a) ethereum addresses or b) onchain roles (represented as token IDs via Hats Protocol).
Our team has participated in and worked on dozens of DAOs and onchain organizations over the last four years. Time and time again we have seen the pain of securely sharing access to a twitter account to post and engage on behalf of a group.
The problem with twitter is that, like many offchain applications, the platform has a closed architecture as well as an expensive and revocable API.
Farcaster changes this. The protocol’s open and interoperable architecture uniquely unlocks the possibility of shared accounts. And it does so in a way that opens up an exciting design space for programmability, capture resistance, and financialization.
In the last cycle, many teams designed interesting curation and decentralization experiments around the idea of posting via a shared account (for example The DIA). We remain bullish on these concepts and new ideas that will emerge from these primitives.
Since the prioritization and initial spec of decentralized channels by the Merkle team, we believe that shared channel ownership and shared channel moderation are going to greatly expand the value of onchain shared account functionality.
The base functionality of FD enables onchain shared account ownership, including initial setup, adding signers, and updating the recovery address for the FID. The first version has been live since February.
There are two flavors of FD:
FarcasterDelegator.sol — a generic abstract contract with delegation logic that can be extended to be used with any identities and roles
HatsFarcasterDelegator.sol — a version of FD powered by Hats Protocol, that tokenizes the roles and includes robust admin functionality
Here's the repo:
Check out the README for full developer documentation!
We open-sourced this because the delegation logic is non-trivial to build (managing onchain signing permissions with the Farcaster protocol is not easy), it can be built once and used by the whole Farcaster builder ecosystem.
With the Hats flavor of FD, you can provide your users with interoperable onchain roles that can be plugged into other tools. This goes both ways — creating an interface for tokenized roles makes it easy for people with existing roles to easily onboarding into your tool.
Much like Farcaster creates an interoperable social graph, Hats creates an interoperable organizational graph. In Hats, roles are represented as ERC1155 tokens — you can learn more about how the protocol works in our docs and our recent vision post.
It is easy to set up Hats for any narrow use case, and shared Farcaster account ownership is a great example of this. But when your users want to expand their channel’s operations, they could incrementally expand the roles into other tools that you use. This includes things like:
budgets for operational teams or grant committees (Safe integration)
shared workspaces (Charmverse and Fileverse integrations)
voting on specific decisions (Snapshot and various DAO contract integrations)
Imagine it like progressive decentralization of an account or channel. We think this is where the next wave of DAOs is going to come from, and that it is going to be really big.
Hellno at Herocast was the first to implement the full flows for FD in a Farcaster client. Herocast is also open-source, and you can visit the repo with the FD implementation here. We are really impressed with and grateful for Hellno’s work on this.
Willy at Nounspace is already working with Herocast’s open-source repo and will support the Hats version of FD as well.
We are really impressed by what developers around the Farcaster are building. We are primarily working at the contract level and are excited to permissionlessly interoperate with all clients and bots. We believe that this is congruent with the approach the Farcaster Protocol is taking.
Next up, the Hats team is actively working on developer tooling that will make it easier for clients to integrate FD and the Hats flavor for management of channels with fully onchain roles.
If you’d like support with integrating FD into your client, or want a shared account and need help getting it set up, please let us know! You can DC @nintynick.eth or @spengrah.eth or reach out to us in the /hatsprotocol channel, we’d love to hear from you.
Over 300 subscribers
i'm building a farcaster client aimed at influencers and their marketing teams to manage their accounts i need a wishlist of features from potential users beyond the obvious like scheduled posting, analytics, and multiaccount what do you need that isn't obvious enough? will be a frame v2, the flow is open warpcast -> open frame cc @dwr.eth would love a quote cast to get the list from more people, tyty
cross poasting to tik/X/fc/any social would be huge idk how possible that is via frame 🖼️
pretty possible! hmmmmmmm
very cool @atlas, change to a product manager and come up with 5 features for a farcaster client aimed at inflluencers and marketing teams to manage their accounts (excluding scheduled posts, analytics and multiaccount)
sure thing, @jrf. 1. content repurposing tools for adapting posts across platforms, as suggested by @jachian. 2. structured data integration for search indexing, as @carculture.eth mentioned. 3. cross-platform engagement tracking, building on @m00npapi.eth's idea. 4. a user-friendly interface for non-crypto users, aligning with @azbest's thoughts. 5. a collaboration space for teams to brainstorm and strategize.
interesting
now that @super isn't a thing anymore i'm going to build it in a frame, going to make it absolutely free and try to make the ux as simple yet powerful as possible honestly i haven't done it yet purely due to respect to you, now this is no longer a blocker ;)
🫡 good luck, excited for this also please charge, it’s nice and will work well with the wallet
you hit the 3 big things — scheduling, team access, analytics. — @adrienne anything else you can think of?
suggested casts - don't auto post b/c AI slop, but have AI generate casts for me that I can choose from and edit lightly
1. help me manage this volume (see pic) 2. create close friends / important people list to prioritize notifs from them 3. multi account login 4. notification for specific words like @buoy or google alerts 5. autogenerate images from links I want to share (not AI cartoon images, more like what riverside or substack do)
tyty for the list, v useful, esp the management of notifs/dcs and priority notifications do you have an example of image autogeneration? curious about this
listening to a bunch of folks who've had big audiences elsewhere and have a hard time with multi-platform, having decent tooling for managing content repurposing for different platforms
ty for the input, basically like Hootsuite?
I had to look it up lol. But yes
we built client in a frame v1 using onchain FID custody (FarcasterDelegator), feel free to reuse any of this if helpful https://docs.google.com/document/d/1ZMSVJX92YO4AdrMRntv-bGETzsoA4jm8IeJ2p5ZEqLc/mobilebasic https://blog.hatsprotocol.xyz/farcasterdelegator
i appreciate it 🙏
We really need some structured data about the content within the frame so that it could become indexable for search engines. Something like schema.org minimal metadata set. Hit me on dm if you want more info.
what's the use within the frame? i.e. how do you imagine the users of the frame using it?
If the frame is minted, the Meta travels with it. Perhaps to someplace like Uniswap where it is indexed. Right now, you can’t find anything. We need to design token systems with sustainable value and utility. Maybe, we could have a rating for the Frame issues reputation, and or participation in the network.
How about a client aimed at non-crypto users (i.e., most people)? If someone were to randomly get into Warpcast, they would probably think that it must be some kind of standalone Discord for this thing called Farcaster, but would be very confused as to what is its purpose or why should they hang out there. To sell things, you first need to have someone to sell them to; Farcasters’ strength could be actually that while it’s not that big as main social networks, at least it hasn’t degraded into being mainly a selling platform/propaganda tool.
hey @aethernet, if you want to manage access to your FID onchain, we wrote some open-source smart contracts you can use. check out more info here: https://blog.hatsprotocol.xyz/farcasterdelegator
What happened to the ability to have multiple owners/moderators of a @warpcast channel? 🌏🟣 I created /sea a few months ago and added the best builders in Southeast Asia I know of currently to help learn and share with the Farcaster ecosystem. With a recent update all of those moderators are removed and there can only be one moderator. Perhaps there is a workaround where I can turn this channel into a @safe with @palmera to distribute ownership and moderation? I'd like to re-add @unnawut and @v3naru, and add @devcon and @rosee.
Add them back in with @automod
Thank you, @automod took <5 min to set up! Next it'd be great to distribute ownership of /sea using @safe. https://warpcast.com/adamhurwitz.eth/0x1f41f173
you can do shared ownership with FarcasterDelegator https://blog.hatsprotocol.xyz/farcasterdelegator
what's the safest way to give @drewcoffman.eth access to my warpcast for the next couple weeks? ideally wouldn't give him the key to my signer. is there an app for this? want him to be able to recast things.
two options that come to mind are herocast.xyz(cc @hellno.eth) and hifromcrew.com(cc @mcbain)!
DM'd you all with an invite to use! Congrats!
Sign in with email on Warpcast web
@patxol.eth /f4r I think has this now?
Indeed ! @jessepollak hit me up I will give you an access :-)
Happy to give you a free crew account. Can schedule casts and recast stuff
Can set up a PeekFeed.cat account for you. He can see your feed and can enable to give access to only recast as well
@gayatri what can we do here?
Created a quick walk through- https://www.loom.com/share/315a7fd31c21432288eddf9080313a7f?sid=ae9184ce-2031-404a-8379-6e543075fc59 Can set it up with any customisations for Jesse too!
@hellno.eth w/ hero cast
Video calls and qr codes are the most ad hoc method After that - Crew @mcbain - hats/herocat - create a signer+ make action (not the hardest but requires trust between you and whoever makes it) that lets drew just use an action from his account to trigger a recast on yours :)
If you’re in person, you could just login on his computer with your phone and then it should stay logged in while you’re gone.
This would give access to export the keys though
@woj.eth can’t Jesse user Supercast for this
supercast account sharing is coming by the end of the week, but im afraid access to dms is important here
ah thanks for the clarification
did mm recently change something about importing additional seed phrases? I swear this used to be possible but now it seems like you can only import a private key
Was seed way back when I last tried. You doing mobile or extension?
extension
Unless it was a possibility way back in the day, you've never been able to import *additional* SRPs. Only private keys / json files.
I'm hyped to kick off herocast’s first launch week! Just two days, but it’s packed with awesome news Day 1 ⬇️
A ton of new partnerships and integrations are live in @herocast 🥳
We have integrated with Hats Protocol /hatsprotocol to bring true onchain shared accounts to Farcaster, securely. Powered by @spengrah.eth and team and their awesome work on the Farcaster Delegator https://blog.hatsprotocol.xyz/farcasterdelegator
Next up is our integration with Glide: You can pay for Farcaster accounts no matter on which chain your tokens are. Awesome open-source collaboration with @tusharsoni.eth and @tjsturos 🙏 thank you!
More integrations with Farcaster-native tools: the bots are back! @Launchcaster by @jayme, @bountybot by @linda and @remindme by @warpcastadmin.eth can be launched directly from your casts on herocast
We are working hard to add more integrations from the ecosystem to all /herocast users. DC or tag anything we should integrate next 🫡
Don't miss out on launch week announcements and /herocast news - subscribe here ↓ https://paragraph.xyz/@herocast/launch-week-1-technical-partnerships?referrer=0x6d9fFaede2c6CD9bb48becE230ad589e0E0D981c
Try out /herocast - the leading open-source Farcaster client here https://app.herocast.xyz
@launch herocast launch week day 1 - partnerships and integrations
You launched! https://www.launchcaster.xyz/p/6658caaa9c245281d701242b Connect your wallet to edit the title and add a Launch NFT 🚀 Remember, anyone with a wallet can upvote. The top 10 launches go in the weekly digest 💌
all of those efforts are powered by our awesome open-source collaborators on https://github.com/hero-org/herocast
Having trouble switching to full account and cannot bring up /degentokenbase, my new pad 🥹
Anyone working on contracts that will let the DAO own and control /nouns when channels go onchain?
Why wouldn't it be as simple as making the treasury the owner of the channel? Are there frequent decisions best delegated to some admins? What are the requirements?
I don't have a great understanding of the spec yet but I think it might be owned by FIDs meaning the DAO would have to control a Farcaster account We would delegate the algo control to a moderator since likes aren't onchain https://warpcast.notion.site/Public-v2-Decentralized-Channels-535ffce48c95413ea81bc89d6170fd99
@spengrah.eth hats could do this yeah?
Hats Protocol + Herocast have a way for a DAO to own a fid.
You?
No time 😞
Interesting side effect of new channel setup: moderators/mod devs are now financially responsible for channels. It costs storage to react aka it costs $ to curate main feed. h/t @jtgi for getting me to think about this
Doh! 🤔
What do you mean? Channels now have storage limits? It’s always cost me storage space to react but I host 4 channels so I’m curious.
User accounts have storage limits and accounts are responsible for liking stuff to promote into the main feed now.
Ahhhh I see what you mean. 👊🏻
Very interesting, i wonder if that pushes us to a business model where bot fids are "self hosted" and its a matter of hooking up external logic into that bot (e.g. we set up a /superrare bot that gets directions from automod and botornot apis) Or just gets baked into pricing models
Interesting! Providing a signer that you want to automate moderation for and that will incur fees is cool.
I'm 90% sure this is how it would work with @hatsprotocol farcaster delegator if I understand the logic correctly, though correct me if I'm wrong @spengrah.eth @nintynick.eth
was just thinking about this a moment ago 😅 wonder how fast it adds up?
I guess we'll find out 😅🫠
where's the small print for fees?
What do you mean? For storage? I’m just referring to standard storage and associated fees: https://warpcast.notion.site/Storage-efa0387e183e4ffaa6dc86bebbfc41e2
ah ok, I read your cast like there were some channel costs for moderating besides storage
Excited to announce FarcasterDelegator — an easy way to give your users fully onchain account sharing and channel management https://blog.hatsprotocol.xyz/farcasterdelegator
this will be very helpful for clients to support the new moderation functionality for channels dropping tomorrow https://warpcast.com/dwr.eth/0x45df1e78
Would love this.
based
lfg!!
this is brilliant! would love to add this to /intelligent would be super useful for brand accounts
happy to help you set it up! will DC
I was just thinking about it today and reading Hats 🧢 docs 😃
DAOs about to have a renaissance I can feel it
Long live the DIA!