project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Brian Frame

Brian Frame is a Farcaster frame allowing users to make transaction by prompting such as "Swap 10 usdc to eth on base" and execute it from their connected wallet

Brian Frame

Created At

Frameworks

Winner of

trophy

Optimism - Seamless Bridge Frame

Project Description

Brian Frame is a Farcaster frame that allows users to write a prompt in English about a swap or bridge on Base or Optimism, build the transaction through the Brian API, a noncustodial AI assistant, and execute it directly from their wallet. Still a noncustodial solution using AI to extract user intent. The project aims to offer a different way of interacting for token swapping and bridge, directly from Farcaster without leaving the social. The frame has been set up as a mini app that can guide and explain to the user how to use the frame and how to properly prompt.

How it's Made

The frame is built on the following technologies:

  • frames.js -> as the React-based framework for making the frame
  • Brian API -> We used Brian API to pass a prompt in plain English and get back all the transaction data to execute the transaction described in the prompt intent
  • Qstash -> We used QStash (an HTTP-based messaging and scheduling solution) to manage transaction queues. In particular, we used ìt to overcome the 5s frame timeout. In this way, we execute the request in the background using qstash queue
  • Vercel KV -> We used KV as a key-value store solution to store transaction requests when exiting from the QStash queue
  • Pinata Farcaster Development Kit -> We used the SDK both for validating message signatures and for tracking Frame analytics interaction metrics.
  • Next.js and Vercel -> We used Next.js as the React framework for building the full-stack web app and we hosted it on Vercel

In addition, the frame uses an innovative animated GIF system to handle response loads while handling queued transactions. This gives the user an impression of loading until the expected result is reached.

background image mobile

Join the mailing list

Get the latest news and updates