{"id":8196182,"url":"https://github.com/eucalyptus-viminalis/interframe","last_synced_at":"2026-02-02T16:39:40.254Z","repository":{"id":221920883,"uuid":"751998298","full_name":"eucalyptus-viminalis/interframe","owner":"eucalyptus-viminalis","description":"interframe","archived":false,"fork":false,"pushed_at":"2024-07-22T06:12:10.000Z","size":3229,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-20T23:06:50.666Z","etag":null,"topics":["farcaster","farcaster-frames","nft","zora"],"latest_commit_sha":null,"homepage":"https://warpcast.com/3070/0xb1cfd7bc","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eucalyptus-viminalis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-02T19:39:00.000Z","updated_at":"2025-05-15T11:28:49.000Z","dependencies_parsed_at":"2024-02-27T00:42:12.547Z","dependency_job_id":"97dd256f-8b24-4bc9-a229-e291c26ce690","html_url":"https://github.com/eucalyptus-viminalis/interframe","commit_stats":null,"previous_names":["eucalyptus-viminalis/interframe"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eucalyptus-viminalis/interframe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eucalyptus-viminalis%2Finterframe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eucalyptus-viminalis%2Finterframe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eucalyptus-viminalis%2Finterframe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eucalyptus-viminalis%2Finterframe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eucalyptus-viminalis","download_url":"https://codeload.github.com/eucalyptus-viminalis/interframe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eucalyptus-viminalis%2Finterframe/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261032071,"owners_count":23100049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["farcaster","farcaster-frames","nft","zora"],"created_at":"2024-04-18T21:09:55.782Z","updated_at":"2026-02-02T16:39:40.220Z","avatar_url":"https://github.com/eucalyptus-viminalis.png","language":"TypeScript","readme":"# interframe\n\nLive on Warpcast: https://warpcast.com/3070/0xb1cfd7bc\n\n\u003cimg width=\"517\" alt=\"image\" src=\"https://github.com/eucalyptus-viminalis/interframe/assets/65995595/79880bbb-f3cf-4cc9-a5c5-528211fe35e5\"\u003e\n\n1. [Overview](https://github.com/eucalyptus-viminalis/interframe#overview)\n2. [Integration](https://github.com/eucalyptus-viminalis/interframe#integration)\n3. [Frame Flow](https://github.com/eucalyptus-viminalis/interframe#frame-flow)\n4. [Features](https://github.com/eucalyptus-viminalis/interframe#features)\n5. [Technologies](https://github.com/eucalyptus-viminalis/interframe#technnologies)\n\n## Overview\n\ninterframe is a Farcaster Frame implementation of a blockchain reader for NFT collections.\n\nTry it in action: [Try me](https://warpcast.com/3070/0xb1cfd7bc)\n\n## Integration\n\n\u003e a.k.a. interframation\n\nThis is a special note to any frame devs out there\n\nIf you'd like to refer to this frame in anyway, the home page can be retrived by fetching this url:\n`https://interframe-eight.vercel.app/api/home`\n\nIf you'd like to **navigate user to a summary page for a particular token** that you'd provide to interframe, fetch the `/api/summary` endpoint with the collection address as a `tokenAddy` query parameter.\n\n**Example**\n```ts\n// Handing off frame to interframe/summary example:\n// request URL: https://interframe-eight.vercel.app/api/summary?tokenAddy=0xb0349245e142635f0ea094e413502f6223d37cd7\nconst res = await fetch('https://interframe-eight.vercel.app/api/summary?tokenAddy=0xb0349245e142635f0ea094e413502f6223d37cd7)'\nreturn new Response(res.body, {headers: {'Content-Type'}: 'text/html'})\n```\n\n### Endpoints\n\nName | Endpoint | Notes\n-|-|-\nHomepage | `https://interframe-eight.vercel.app/api/home` | No query parameters required\nSummary | `https://interframe-eight.vercel.app/api/summary?tokenAddy=` | tokenAddy: a string representing a token address\nLatest mints | `https://interframe-eight.vercel.app/api/latest-mints?tokenAddy=` | tokenAddy: a string representing a token address\nTop holders | `https://interframe-eight.vercel.app/api/holders?tokenAddy=` | tokenAddy: a string representing a token address\n\n\u003e These endpoints can all be fetched with a `GET` request as in the example shown above.\n\n## Frame Flow\n\nAfter the user selects a particular token, interframe navigates the user to view useful information about that token.\n\nThis includes a summary, top holders, latest mints, and popular casts related to the selected token.\n\nIt currently supports ERC-721 and ERC-1155 tokens on *Base*, *Ethereum*, and *Zora*.\n\n## Features\n\n### My Tokens (`/api/select-blockchain` `/api/my-tokens`)\n\nUsers can browse from a selection of tokens that they own.\n\n\u003cimg width=\"517\" alt=\"image\" src=\"https://github.com/eucalyptus-viminalis/interframe/assets/65995595/d2da69e0-2fc9-4f22-9c96-161e80a82e1e\"\u003e\n\n\u003cimg width=\"517\" alt=\"image\" src=\"https://github.com/eucalyptus-viminalis/interframe/assets/65995595/afd50f90-53c5-4c07-8340-ae4bd2d1dd5c\"\u003e\n\n### Search (`/api/search`)\n\nUsers can input and submit a contract address or token name to view blockchain data about that token.\n\n\u003cimg width=\"517\" alt=\"image\" src=\"https://github.com/eucalyptus-viminalis/interframe/assets/65995595/57f277b6-a7fa-4fc0-ae06-5cac9f24c570\"\u003e\n\n\u003cimg width=\"517\" alt=\"image\" src=\"https://github.com/eucalyptus-viminalis/interframe/assets/65995595/1580b1a2-488a-4543-9492-377e2c9e2494\"\u003e\n\n\n\n\n### Summary (`/api/summary`)\n\nThe summary page gives a brief summary of a specific token.\n\n\u003cimg width=\"517\" alt=\"image\" src=\"https://github.com/eucalyptus-viminalis/interframe/assets/65995595/11261951-0fd4-422f-83ec-94d30142a981\"\u003e\n\n### Top Holders (`/api/holders`)\n\nThe top holders page allows users to nagivate through the top 10 holders of a collection.\n\n\u003cimg width=\"517\" alt=\"image\" src=\"https://github.com/eucalyptus-viminalis/interframe/assets/65995595/7b7b9fc6-8d38-4898-bacd-00d2a0929a73\"\u003e\n\n### Latest Mints (`/api/latest-mints`)\n\nThe latest mints page allows users to nagivate through the latest mints of a collection.\n\n\u003cimg width=\"517\" alt=\"image\" src=\"https://github.com/eucalyptus-viminalis/interframe/assets/65995595/c33353ee-48cb-4254-afd2-943815fb668f\"\u003e\n\n### Popular Casts\n\n\u003e Note: This feature is yet to be implemented\n\n## Technologies\n\ninterframe uses several APIs to retreive its data.\n\n- `zdk`: ZDK is a Typescript abstraction of Zora's GraphQL API\n  - usage: the zdk is being used in interframe to retrieve basic information about a collection. This information is served in `/api/summary`\n  - website: [ZDK](https://docs.zora.co/docs/zora-api/zdk)\n- `The Graph`: The Graph is a collection of decentralized GraphQL APIs\n  - usage: The Graph is being used in interframe to retrieve information about top holders for collections on Ethereum and Base. This information is served in `/api/holders`\n  - website: [The Graph](https://thegraph.com/)\n- `@vercel/og`: This Typescript library exposes a convenience method to generate a valid OpenGraph image using JSX elements. It uses `satori` under the hoood.\n  - usage: `ImageResponse` is used for generating all OpenGraph images for interframe. See: `/api/images/*`\n  - website: [Vercel OG](https://vercel.com/docs/functions/og-image-generation)\n- `Farcaster Frame`: Farcaster Frame(s) are an extension of the OpenGraph protocol to generate interactive content on decentralized social platforms.\n  - usage: The API routes return a valid response that adheres to the Farcaster Frames spec\n  - website: [Farcaster Frame spec](https://docs.farcaster.xyz/reference/frames/spec)\n- `Airstack`: A GraphQL API for decentralized social graphs and Ethereum+ blockchains\n  - usage: Airstack is used to deduce Farcaster-related information about a token. E.g. using `TokenBalances` query to calculate what percentage of the holder base are verified Farcaster accounts. It is also being used for the query string search functionality on `/api/search/results` route.\n  - website: [Airstack](https://www.airstack.xyz/)\n\n\n","funding_links":[],"categories":["Useful Tools \u0026 Libraries"],"sub_categories":["Open source Frames"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feucalyptus-viminalis%2Finterframe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feucalyptus-viminalis%2Finterframe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feucalyptus-viminalis%2Finterframe/lists"}