How Neynar supports building Farcaster Frames

Build frames 100x quicker than starting from scratch

Neynar supports building frames in a few different ways:

This page will talk about both.


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's page such it that abstracts 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-4 spec upgrades. We don't want Neynar developers to have to worry about handling those.

Here's an example a 1 page with 4 buttons. You can make these in the Frame Studio with no-code or use our REST APIs to create frames quickly.

{
  "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! 🪐