🤝Tokens In Common

Learn how to fetch ERC20, NFTs, or POAPs in common from multiple Farcaster users.

🤝 Tokens In Common

Airstack provides easy-to-use APIs for enriching Farcaster applications and for integrating onchain and offchain data with Farcaster.

Table Of Contents

In this guide you will learn how to use Airstack to:

Pre-requisites

  • An Airstack account

  • Basic knowledge of GraphQL

Get Started

JavaScript/TypeScript/Python

If you are using JavaScript/TypeScript or Python, Install the Airstack SDK:

React

npm install @airstack/airstack-react

Node

npm install @airstack/node

Then, add the following snippets to your code:

import { init, useQuery } from "@airstack/airstack-react";

init("YOUR_AIRSTACK_API_KEY");

const query = `YOUR_QUERY`; // Replace with GraphQL Query

const Component = () => {
  const { data, loading, error } = useQuery(query);

  if (data) {
    return <p>Data: {JSON.stringify(data)}</p>;
  }

  if (loading) {
    return <p>Loading...</p>;
  }

  if (error) {
    return <p>Error: {error.message}</p>;
  }
};

Other Programming Languages

To access the Airstack APIs in other languages, you can use https://api.airstack.xyz/gql as your GraphQL endpoint.

ERC20 Tokens In Common Owned By Farcaster User(s)

You can fetch common ERC20 tokens of multiple Farcaster user(s):

Try Demo

Code

query MyQuery {
  TokenBalances(
    input: {
      filter: {
        owner: { _eq: "fc_fname:betashop.eth" }
        tokenType: { _eq: ERC20 }
      }
      blockchain: base
    }
  ) {
    TokenBalance {
      token {
        tokenBalances(
          input: {
            filter: {
              owner: { _eq: "fc_fname:sarvesh" }
              tokenType: { _eq: ERC20 }
            }
          }
        ) {
          id
          token {
            address
            symbol
            name
          }
        }
      }
    }
  }
}

NFTs In Common Owned By Farcaster User(s)

You can fetch common NFTs of multiple Farcaster user(s):

Try Demo

Code

query MyQuery {
  TokenBalances(
    input: {
      filter: {
        owner: { _eq: "fc_fname:betashop.eth" }
        tokenType: { _in: [ERC721, ERC1155] }
      }
      blockchain: base
    }
  ) {
    TokenBalance {
      token {
        tokenBalances(
          input: {
            filter: {
              owner: { _eq: "fc_fname:sarvesh" }
              tokenType: { _in: [ERC721, ERC1155] }
            }
          }
        ) {
          id
          token {
            address
            symbol
            name
          }
        }
      }
    }
  }
}

POAPs In Common Owned By Farcaster User(s)

You can fetch common POAPs of multiple Farcaster user(s):

Try Demo

Code

query MyQuery {
  Poaps(
    input: {
      filter: { owner: { _eq: "fc_fname:betashop.eth" } }
      blockchain: ALL
      order: { createdAtBlockNumber: DESC }
    }
  ) {
    Poap {
      poapEvent {
        poaps(input: { filter: { owner: { _eq: "fc_fname:ipeciura" } } }) {
          poapEvent {
            eventName
            eventId
            endDate
            country
            city
          }
        }
      }
    }
  }
}

Developer Support

If you have any questions or need help regarding fetching common ERC20 tokens, NFTs, or POAPs of multiple Farcaster users, please join our Airstack's Telegram group.

More Resources

  • Tokens In Common Guides

  • POAPs API Reference

  • TokenBalances API Reference

Last updated

Was this helpful?