Building frames
Build frames 100x quicker than starting from scratch
Neynar supports building frames in a few different ways:
- Neynar Frame Studio: allows building frames with no code and pre-made templates
- Frame APIs:
- Validating frame actions, user and cast data in one API call
- CRUD for hosted frames
- Embedding frames in your client and posting actions
Neynar Frame architecture
Pages for a frame
A page represents the most basic unit of a frame. A frame consists of one or more pages.
We've thoughtfully crafted a JSON format for a frames' page to abstract away building on the rapidly moving foundation of Farcaster Frames. For context, Frames were launched a few weeks before writing this and have already seen 3-to 4 spec upgrades. We don't want Neynar developers to have to worry about handling those.
Here's an example of a single page with four buttons. You can create these in the Frame Studio with no code or quickly create frames using our REST APIs.
{
"uuid": "5ec484f5-efaf-4bda-9a3f-0579232a386a",
"image": "https://i.imgur.com/gpn83Gm.png",
"title": "Farcaster Dev Call",
"buttons": [
{
"title": "Notes",
"next_page": {
"redirect_url": "https://warpcast.notion.site/Feb-1st-934e190578144aba8273b2bbdc29e5ab"
},
"action_type": "post_redirect"
},
{
"title": "Calendar",
"next_page": {
"redirect_url": "https://calendar.google.com/calendar/u/0/r?cid=NjA5ZWM4Y2IwMmZiMWM2ZDYyMTkzNWM1YWNkZTRlNWExN2YxOWQ2NDU3NTA3MjQwMTk3YmJlZGFjYTQ3MjZlOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t"
},
"action_type": "post_redirect"
},
{
"title": "Zoom",
"next_page": {
"redirect_url": "https://zoom.us/j/98052336425?pwd=aFYyRk9ZSDhqR1h5eVJENmtGSGo4UT09#success"
},
"action_type": "post_redirect"
},
{
"title": "Recordings",
"next_page": {
"redirect_url": "https://www.youtube.com/playlist?list=PL0eq1PLf6eUeZnPtyKMS6uN9I5iRIlnvq"
},
"action_type": "post_redirect"
}
],
"version": "vNext"
}
Hosting
Neynar hosts pages on behalf of developers. We convert this JSON format into the Metatags expected by the Frame spec here.
If you have questions/feedback, please reach out to @rishor @manan on Farcaster. We will continue improving the frames experience! 🪐
Updated about 1 month ago