App Transactions
Presents the onchain activity for a specific application by monitoring transactions through its smart contracts. This endpoint enables you to track all interactions with a particular protocol or dapp across multiple networks.
Try it nowtransactionsForAppV2
Takes an app slug as input, with an optional chainId parameter. Returns chronological on-chain activity for an app.
Example Use Case: Protocol Activity Feed
Let's say you want to build a real-time activity feed showing all transactions happening in a specific app like Uniswap or Aave. Start by passing the app's slug. The query returns:
- Human-readable transaction descriptions (processedDescription)
- Network information
- Complete transaction details
- Comprehensive data about tokens or NFTs involved
- Account information for transaction actors
This allows you to build rich activity feeds with:
- Formatted descriptions (e.g., "Swapped 400 USDC for 0.2 ETH")
- Complete token details including amounts and prices
- NFT transfers and metadata when relevant
- Links to relevant accounts and transactions
To find the correct slug for the app you are trying to reference, find the app on Zapper. The slug is the last part of the URL. For example: https://zapper.xyz/apps/aave-v3 has the slug aave-v3.
Example Variables
{
  "slug": "aave-v3",
  "chainId": 1
}
Example Query
query TransactionsForAppV2($slug: String!, $chainId: Int) {
  transactionsForAppV2(slug: $slug, chainId: $chainId) {
    edges {
      node {
        # Transaction metadata
        transaction {
          hash
          nonce
          gasPrice
          gas
          blockNumber
          timestamp
          fromUser {
            displayName {
              value
            }
          }
          toUser {
            displayName {
              value
            }
          }
        }
        # Application details (if any)
        app {
          slug
          name
          imgUrl
        }
        interpretation {
          # Basic text description
          processedDescription
          # Templated description with reference tokens
          description
          # Structured data for referenced elements
          descriptionDisplayItems {
            ... on TokenDisplayItem {
              type
              network
              tokenAddress
              amountRaw
              tokenV2 {
                address
                symbol
                decimals
                name
                imageUrlV2
                priceData {
                  price(currency: USD)
                  priceChange24h
                  marketCap
                }
              }
            }
            ... on NFTDisplayItem {
              type
              network
              collectionAddress
              tokenId
              quantity
              nftToken {
                collection {
                  name
                }
              }
            }
            ... on ActorDisplayItem {
              type
              address
              account {
                address
                displayName {
                  value
                }
                farcasterProfile {
                  username
                  fid
                }
              }
            }
            ... on NFTCollectionDisplayItem {
              collectionAddress
              network
              nftCollection {
                displayName
                medias {
                  logo {
                    thumbnail
                  }
                }
              }
            }
            ... on StringDisplayItem {
              stringValue
              type
            }
            ... on NetworkDisplayItem {
              chainId
              type
              networkMetadata {
                name
              }
            }
          }
        }
        # Account deltas
        perspectiveDelta {
          tokenDeltasV2(first: 5) {
            edges {
              node {
                address
                amountRaw
                amount
                token {
                  symbol
                  decimals
                  name
                  imageUrlV2
                }
              }
            }
          }
          nftDeltasV2(first: 5) {
            edges {
              node {
                collectionAddress
                tokenId
                amount
                nft {
                  name
                  collection {
                    name
                  }
                }
              }
            }
          }
        }
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}
Example Response
{
  "data": {
    "transactionsForAppV2": {
      "edges": [
        {
          "node": {
            "transaction": {
              "hash": "0x9565a0a94cdca5e94f669291a725fecc441d0f40196a8e230fc5d26ecc739f6b",
              "nonce": 40,
              "gasPrice": "4028763776",
              "gas": 309392,
              "blockNumber": 22390071,
              "timestamp": 1746115451000,
              "fromUser": {
                "displayName": {
                  "value": "0x2439...6fd0"
                }
              },
              "toUser": {
                "displayName": {
                  "value": "Aave V3: supply USDC"
                }
              }
            },
            "app": {
              "slug": "aave-v3",
              "name": "Aave V3",
              "imgUrl": "https://storage.googleapis.com/zapper-fi-assets/apps%2Faave-v3.png"
            },
            "interpretation": {
              "processedDescription": "Failed a transaction on 0x98c2...6f5c",
              "description": "Failed a transaction on $1",
              "descriptionDisplayItems": [
                {
                  "type": "actor",
                  "address": "0x98c23e9d8f34fefb1b7bd6a91b7ff122f4e16f5c",
                  "account": {
                    "address": "0x98c23e9d8f34fefb1b7bd6a91b7ff122f4e16f5c",
                    "displayName": {
                      "value": "Aave V3: supply USDC"
                    },
                    "farcasterProfile": null
                  }
                }
              ]
            },
            "perspectiveDelta": null
          }
        },
        ...
        {
          "node": {
            "transaction": {
              "hash": "0x33dbfcb59f120d15c4c4f35cf4d0e6794a4e871b1adefc36e1cd024e7ce2eb6d",
              "nonce": 145,
              "gasPrice": "1900000000",
              "gas": 70359,
              "blockNumber": 22390016,
              "timestamp": 1746114791000,
              "fromUser": {
                "displayName": {
                  "value": "0x1489...65d9"
                }
              },
              "toUser": {
                "displayName": {
                  "value": "Gho Token"
                }
              }
            },
            "app": {
              "slug": "aave-v3",
              "name": "Aave V3",
              "imgUrl": "https://storage.googleapis.com/zapper-fi-assets/apps%2Faave-v3.png"
            },
            "interpretation": {
              "processedDescription": "Approved GHO",
              "description": "Approved $1",
              "descriptionDisplayItems": [
                {},
                {}
              ]
            },
            "perspectiveDelta": null
          }
        }
      ],
      "pageInfo": {
        "hasNextPage": true,
        "endCursor": "MjAyNS0wNS0wMVQxNTo1MzoxMS4wMDBafHwweDUzOTE3ZDUxOTk2NzUyZGYyOTY4MTY0MjViMzg5MzRiMDNmZmViZDYwMjVhMGU5YTA2Njg2NDM4OWRmYmViNmQ="
      }
    }
  }
}
To create interactive elements referencing tokens, NFTs, accounts, or other onchain items embedded within the transaction description, use description and descriptionDisplayItems instead of processedDescription. This enables you to add links to tokens, NFTs, or accounts (e.g., cl0kwork.eth supplied 50 ETH as collateral).
Pagination is highly recommended using first and after to ensure fast query response times and optimal performance.
Arguments
| Argument | Description | Type | 
|---|---|---|
| slug | The unique identifier for the app (e.g., "uniswap", "aave-v2") | String! | 
| chainId | Filter by a specific chain | Int | 
| first | Number of items to return (for pagination) | Int | 
| after | Cursor for pagination | String | 
| startDate | Start date of events returned | Timestamp | 
| endDate | End date of events returned | Timestamp | 
Fields
Main Fields
| Field | Description | Type | 
|---|---|---|
| key | A unique identifier | String! | 
| network | Network where the transaction occurred | Network! | 
| timestamp | Unix timestamp in milliseconds | Timestamp! | 
| transaction | Contains detailed transaction information | OnChainTransaction! | 
| interpretation | Contains human-readable descriptions and asset transfers | ActivityInterpretation! | 
Transaction Fields
| Field | Description | Type | 
|---|---|---|
| hash | Transaction hash | String! | 
| fromUser | The initiating address with details | Account! | 
| toUser | The receiving address with details | Account! | 
| value | Transaction value in wei | String! | 
Interpretation Fields
| Field | Description | Type | 
|---|---|---|
| description | Human-readable description with variables | String! | 
| processedDescription | Fully processed human-readable description | String! | 
| descriptionDisplayItems | References for variables in the description | [ActivityFeedDisplayItem!]! | 
| inboundAttachments | Assets received in the transaction | [ActivityFeedDisplayItem!]! | 
| outboundAttachments | Assets sent in the transaction | [ActivityFeedDisplayItem!]! | 
Account Fields
| Field | Description | Type | 
|---|---|---|
| address | The wallet address | Address! | 
| displayName | The account's display name (ENS, Lens, etc.) | DisplayName! | 
Delta Fields
| Field | Description | Type | 
|---|---|---|
| perspectiveDelta | Contains token and NFT changes from the actor's perspective | ActivityAccountDelta! | 
| tokenDeltasV2 | Token transfer details including amounts and token info | FungibleTokenDeltaConnection! | 
| nftDeltasV2 | NFT transfer details including collection and token info | NftDeltaConnection! | 
When working with token amounts, remember to divide amountRaw by 10^decimals to get the human-readable amount. For example, an amountRaw of "50000000000000000000" with 18 decimals represents 50 ETH.