Token Activity Feed
Surface the social activity of a token, including swaps and casts. Supports customizable feed types such as swaps from followed farcaster users, swaps from any farcaster users, and casts.
tokenActivityFeed
Use tokenActivityFeed to get a comprehensive feed of token-related social activity from Farcaster users.
Example Variables
{
  "chainId": 8453,
  "tokenAddress": "0x9cb41fd9dc6891bae8187029461bfaadf6cc0c69",
  "fid": 954583,
  "type": "DEFAULT",
  "filters": {
    "minimumUsdVolume": 50
  }
}
Example Query
query TokenActivityFeed(
  $chainId: Int!
  $tokenAddress: String!
  $fid: Int!
  $filters: ChannelFeedFilterArgs
  $type: TokenChannelFeedType
) {
  tokenActivityFeed(chainId: $chainId, tokenAddress: $tokenAddress, fid: $fid, filters: $filters, type: $type) {
    pageInfo {
      hasPreviousPage
      hasNextPage
      startCursor
      endCursor
    }
    edges {
      cursor
      node {
        ... on ChannelFeedSwap {
          id
          fid
          transactionHash
          timestamp
          chainId
          volumeUsd
          amount
          isBuy
          channelParentUrl: parentUrl
        }
        ... on FarcasterTopCast {
          id
          hash
          authorFid
          parentHash
          parentUrl
          rootParentUrl
          parentAuthorFid
          authorPowerBadge
          mentionedFids
          text
          timestamp
        }
      }
    }
  }
}
Example Response
{
  "data": {
    "tokenActivityFeed": {
      "pageInfo": {
        "hasPreviousPage": false,
        "hasNextPage": true,
        "startCursor": "eyJ0aW1lc3RhbXAiOjE3NTc2NzUyNDMwMDAsImhhc2giOiIweDUxMGE2YTM4OGFhMDllNWE4MTVkNTBhZTUxYzU1YWQ1ZTA4YTg5MmRlZjM1M2U4YjIyZTZiMjI1OTZmYzE0MDMifQ==",
        "endCursor": "eyJ0aW1lc3RhbXAiOjE3NTQ5MTcyOTMwMDAsImhhc2giOiIweGQzNjI2YmZlOThiMDY5MWE4ZmViN2MyOWYwMWZlMDNlZjViOWZmODc2MWEwOWFkMjkyY2YwMzllYjBiOGVmN2IifQ=="
      },
      "edges": [
        {
          "cursor": "eyJ0aW1lc3RhbXAiOjE3NTc2NzUyNDMwMDAsImhhc2giOiIweDUxMGE2YTM4OGFhMDllNWE4MTVkNTBhZTUxYzU1YWQ1ZTA4YTg5MmRlZjM1M2U4YjIyZTZiMjI1OTZmYzE0MDMifQ==",
          "node": {
            "id": "Q2hhbm5lbEZlZWRTd2FwLWJhc2V8MHg1MTBhNmEzODhhYTA5ZTVhODE1ZDUwYWU1MWM1NWFkNWUwOGE4OTJkZWYzNTNlOGIyMmU2YjIyNTk2ZmMxNDAzfDYwMnwxNzU3Njc1MjQzMDAwfDB4OWNiNDFmZDlkYzY4OTFiYWU4MTg3MDI5NDYxYmZhYWRmNmNjMGM2OXxmYWxzZQ==",
            "fid": 602,
            "transactionHash": "0x510a6a388aa09e5a815d50ae51c55ad5e08a892def353e8b22e6b22596fc1403",
            "timestamp": 1757675243000,
            "chainId": 8453,
            "volumeUsd": "99.69589241561046",
            "amount": 275124.8512190437,
            "isBuy": false,
            "feedParentUrl": "swap://Q2hhbm5lbEZlZWRTd2FwLWJhc2V8MHg1MTBhNmEzODhhYTA5ZTVhODE1ZDUwYWU1MWM1NWFkNWUwOGE4OTJkZWYzNTNlOGIyMmU2YjIyNTk2ZmMxNDAzfDYwMnwxNzU3Njc1MjQzMDAwfDB4OWNiNDFmZDlkYzY4OTFiYWU4MTg3MDI5NDYxYmZhYWRmNmNjMGM2OXxmYWxzZQ=="
          }
        },
        {
          "cursor": "eyJ0aW1lc3RhbXAiOjE3NTc2MzkxOTcwMDAsImhhc2giOiIweDcxN2M3NDcyZTY4MDVjZWQwYzNjNmY4M2ZmNWZmYWUyMDU1YmY1YmExMWU0YjcyZjFkNmNkMDc1ZTNhZDNhNTYifQ==",
          "node": {
            "id": "Q2hhbm5lbEZlZWRTd2FwLWJhc2V8MHg3MTdjNzQ3MmU2ODA1Y2VkMGMzYzZmODNmZjVmZmFlMjA1NWJmNWJhMTFlNGI3MmYxZDZjZDA3NWUzYWQzYTU2fDYwMnwxNzU3NjM5MTk3MDAwfDB4OWNiNDFmZDlkYzY4OTFiYWU4MTg3MDI5NDYxYmZhYWRmNmNjMGM2OXx0cnVl",
            "fid": 602,
            "transactionHash": "0x717c7472e6805ced0c3c6f83ff5ffae2055bf5ba11e4b72f1d6cd075e3ad3a56",
            "timestamp": 1757639197000,
            "chainId": 8453,
            "volumeUsd": "99.99276469810833",
            "amount": 275124.8512190437,
            "isBuy": true,
            "feedParentUrl": "swap://Q2hhbm5lbEZlZWRTd2FwLWJhc2V8MHg3MTdjNzQ3MmU2ODA1Y2VkMGMzYzZmODNmZjVmZmFlMjA1NWJmNWJhMTFlNGI3MmYxZDZjZDA3NWUzYWQzYTU2fDYwMnwxNzU3NjM5MTk3MDAwfDB4OWNiNDFmZDlkYzY4OTFiYWU4MTg3MDI5NDYxYmZhYWRmNmNjMGM2OXx0cnVl"
          }
        },
        {
          "cursor": "eyJ0aW1lc3RhbXAiOjE3NTc2Mjc2NTMwMDAsImhhc2giOiIweGFjOTUyNjUzN2VhYjk2Zjg4OWRkYjczODgwMmRmYzRhNzVkMGM3OTM5OWE5OGNjZGJkNTcwNjFjODIwNWYxM2IifQ==",
          "node": {
            "id": "Q2hhbm5lbEZlZWRTd2FwLWJhc2V8MHhhYzk1MjY1MzdlYWI5NmY4ODlkZGI3Mzg4MDJkZmM0YTc1ZDBjNzkzOTlhOThjY2RiZDU3MDYxYzgyMDVmMTNifDYwMnwxNzU3NjI3NjUzMDAwfDB4OWNiNDFmZDlkYzY4OTFiYWU4MTg3MDI5NDYxYmZhYWRmNmNjMGM2OXxmYWxzZQ==",
            "fid": 602,
            "transactionHash": "0xac9526537eab96f889ddb738802dfc4a75d0c79399a98ccdbd57061c8205f13b",
            "timestamp": 1757627653000,
            "chainId": 8453,
            "volumeUsd": "96.78894686246994",
            "amount": 270578.33887599834,
            "isBuy": false,
            "feedParentUrl": "swap://Q2hhbm5lbEZlZWRTd2FwLWJhc2V8MHhhYzk1MjY1MzdlYWI5NmY4ODlkZGI3Mzg4MDJkZmM0YTc1ZDBjNzkzOTlhOThjY2RiZDU3MDYxYzgyMDVmMTNifDYwMnwxNzU3NjI3NjUzMDAwfDB4OWNiNDFmZDlkYzY4OTFiYWU4MTg3MDI5NDYxYmZhYWRmNmNjMGM2OXxmYWxzZQ=="
          }
        }
      ]
    }
  }
}
Available Fields
Required Parameters
| Field | Description | Type | 
|---|---|---|
| chainId | Blockchain network ID | Int! | 
| tokenAddress | Token contract address | String! | 
| fid | Farcaster ID for the feed | Int! | 
Optional Parameters
| Field | Description | Type | 
|---|---|---|
| first | Number of results to return | Int | 
| after | Cursor for pagination | String | 
| type | Feed type (DEFAULT, ALL_CASTS, FOLLOWED_SWAPS, ALL_SWAPS, FOLLOWED_SALES, ALL_SALES) | TokenChannelFeedType | 
| filters | Filters for customizing the feed | ChannelFeedFilterArgs | 
Feed Types:
- DEFAULT: Returns both swaps and casts (equivalent to combining ALL_SWAPS and ALL_CASTS)
- ALL_CASTS: Returns only Farcaster casts
- FOLLOWED_SWAPS: Returns only swaps from users followed by the specified fid
- ALL_SWAPS: Returns only swaps from any users
Response Fields
TokenChannelFeedConnection
| Field | Description | Type | 
|---|---|---|
| pageInfo | Pagination information | PageInfo! | 
| edges | Array of activity edges | [TokenChannelFeedItemEdge!]! | 
TokenChannelFeedNodeItem (Union Type)
The activity feed returns a union type that can be either:
ChannelFeedSwap
| Field | Description | Type | 
|---|---|---|
| id | Unique swap identifier | ID! | 
| fid | Farcaster ID of the swapper | Int! | 
| transactionHash | Blockchain transaction hash | String! | 
| timestamp | When the swap occurred | Timestamp! | 
| chainId | Blockchain network ID | Int! | 
| volumeUsd | USD value of the swap | String! | 
| amount | Token amount swapped | Float! | 
| isBuy | Whether this was a buy or sell | Boolean! | 
| parentUrl | Associated channel or parent URL | String! | 
FarcasterTopCast
| Field | Description | Type | 
|---|---|---|
| id | Unique cast identifier | ID! | 
| hash | Cast hash | String! | 
| authorFid | Farcaster ID of the cast author | Int! | 
| parentHash | Hash of parent cast | String | 
| parentUrl | URL of parent content | String | 
| rootParentUrl | URL of root parent content | String | 
| parentAuthorFid | Farcaster ID of parent cast author | Int | 
| authorPowerBadge | Whether author has power badge | Boolean! | 
| mentionedFids | Array of mentioned Farcaster IDs | [Int!]! | 
| text | Cast text content | String! | 
| timestamp | When the cast was created | Timestamp! | 
ChannelFeedFilterArgs
| Field | Description | Type | 
|---|---|---|
| minimumUsdVolume | Minimum USD volume for swaps | Int | 
| ignoreAutomated | Filter out bots | Boolean | 
| isBuy | Filter for token buy transactions | Boolean |