Challenge: Polymer x Farcaster Frames

Challenge Overview:

The Polymer x Farcaster Frames Challenge invites the amazing people within the Polymer Developer community to build an innovative Farcaster Frame. This Frame will act as an entrypoint to send transactions from Base to Optimism, facilitating the seamless packet messaging from Base to Optimism. The challenge enhances interoperability and user interaction within the blockchain space, merging the functionality of Polymer with the extensibility of Farcaster’s social networking framework, specifically Frames.


Participants are tasked with creating a Farcaster Frame, alongside a supporting server infrastructure. This Frame should enable users to initiate transactions that invoke a smart contract on Base, which uses Polymer to subsequently send message packets to Optimism. This challenge not only tests the developers’ ability to interact with blockchain technologies but also their skill in creating intuitive and user-friendly interfaces within the Farcaster ecosystem.

You may use pre-deployed XCounterUC Smart Contracts:
Base: 0x7c9f0A60b2A6DD02d6E71fa2aBe6Cb9234f40a5C
Optimism: 0x7f525e27eE291feBFa9b447E75e9249aA607fE09

We encourage you to get creative and write a custom smart contract which can be invoked by the Frame.

Key Components:

  • Farcaster Frame Development: Design and implement a Frame within the Farcaster network. The Frame should provide an intuitive interface for users to initiate cross-chain transactions from Base to Optimism.
  • Server Implementation: Set up a server that the Frame interacts with. This server will be responsible for handling requests from the Frame and executing the necessary blockchain interactions. Popular frameworks to host your Frame server is Vercel:
  • Base Contract Interaction: Develop a smart contract on Base that, when called, sends a packet to Optimism. This contract should be the endpoint that the server interacts with to facilitate cross-chain transactions.
  • Optimism Packet Receipt: Ensure that the packet sent from Base is appropriately handled on Optimism. While the primary focus is on sending the packet, participants are encouraged to think about the end-to-end process, including how packets are received and processed on Optimism.

Challenge Requirements:

  • Interactivity: The Frame must provide a button for users to initiate the cross-chain transaction.
  • Innovation: Creativity in design, user experience, and technical implementation is highly encouraged.
  • Documentation: Provide comprehensive documentation covering the Frame’s functionality, server setup, and contract interactions. This includes setup instructions, usage guides, and architectural overviews.

Submission Guidelines:

  • Code repositories for the Frame, server, and smart contracts must be made available on GitHub or a similar platform.
  • Deploy a live version of the Frame for testing and demonstration purposes. If you do not have a farcaster account you can use the Warpcast frames validator: Warpcast, but you are highly encouraged to post the frame live for the community!

Evaluation Criteria:

  • Functionality: The Frame and associated components must work as described, facilitating cross-chain transactions from Base to Optimism.
  • Transaction Evidence: The transaction invoked by your frame must be provided as evidence. The team should be able to re-invoke a transaction from your frame.
  • Prove ownership that you created the frame: GitHub + Frames link or posting directly to your Warpcast account.
  • User Experience: The Frame should offer a seamless and intuitive user experience.

Helpful Resources:

Frames Resources

Example Frame

Neynar Farcaster Docs

NFT Minting Frame

Pinata Tutorial: Build TX Frame on Farcaster