> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sim.dune.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Activity

> View chronologically ordered transactions including native transfers, ERC20 movements, NFT transfers, and decoded contract interactions.

export const SupportedChains = ({endpoint, title, excludeChains}) => {
  const dataState = useState(null);
  const data = dataState[0];
  const setData = dataState[1];
  useEffect(function () {
    var url = "https://api.sim.dune.com/v1/evm/supported-chains";
    fetch(url, {
      method: "GET"
    }).then(function (response) {
      return response.json();
    }).then(function (responseData) {
      setData(responseData);
    });
  }, [endpoint]);
  if (data === null) {
    return <div>Loading chain information...</div>;
  }
  if (!data.chains) {
    return <div>No chain data available</div>;
  }
  var supportedChains = [];
  var totalChains = data.chains.length;
  var excludedChainNames = excludeChains || [];
  for (var i = 0; i < data.chains.length; i++) {
    var chain = data.chains[i];
    if (excludedChainNames.indexOf(chain.name) !== -1) continue;
    if (endpoint === undefined) {
      supportedChains.push(chain);
    } else if (chain[endpoint] && chain[endpoint].supported) {
      supportedChains.push(chain);
    }
  }
  var count = supportedChains.length;
  var endpointName = endpoint ? endpoint.charAt(0).toUpperCase() + endpoint.slice(1).replace(/_/g, " ") : "All";
  var accordionTitle = title ? title + " (" + count + ")" : "Supported Chains (" + count + ")";
  return <Accordion title={accordionTitle}>
      <table>
        <thead>
          <tr>
            <th>name</th>
            <th>chain_id</th>
            <th>tags</th>
          </tr>
        </thead>
        <tbody>
          {supportedChains.map(function (chain) {
    return <tr key={chain.name}>
                <td><code>{chain.name}</code></td>
                <td><code>{chain.chain_id}</code></td>
                <td><code>{chain.tags ? chain.tags.join(", ") : ""}</code></td>
              </tr>;
  })}
        </tbody>
      </table>
    </Accordion>;
};

<img src="https://mintcdn.com/sim-dune/ZJaWY5isqbzG1C45/images/activity.svg?fit=max&auto=format&n=ZJaWY5isqbzG1C45&q=85&s=530b1135a297dd80376c28492d9492d9" alt="Activity Sv" width="720" height="275" data-path="images/activity.svg" />

The Activity API provides a realtime feed of onchain activity for any EVM address.
The newest activity is returned first and includes the following activity types:

* **send** - Outgoing transfers of tokens or native assets
* **receive** - Incoming transfers of tokens or native assets
* **mint** - Token minting activities
* **burn** - Token burning activities
* **swap** - Token swaps and exchanges
* **approve** - Token approval transactions
* **call** - Generic contract interactions that don't fall into the above categories

Each activity includes detailed information such as:

* Native token transfers
* ERC20 token transfers with metadata (symbol, decimals)
* ERC721 (NFT) transfers with token IDs
* Contract interactions with decoded function calls

<SupportedChains endpoint="activity" />

<Callout type="info">
  Activities are mostly indexed events. There are, of course, no events for native token transfers (wen [7708](https://ethereum-magicians.org/t/eip-7708-eth-transfers-emit-a-log/20034)?). We do have a heuristic to catch very simple native token transfers, where the native token transfer is the entirety of the transaction, but unfortunately we don't currently catch native token transfers that happen within internal txns.
</Callout>

## Data Finality & Re-orgs

Sim APIs are designed to automatically detect and handle blockchain re-organizations.
We detect any potentially broken parent-child block relationships as soon as they arise and update our internal state to match the onchain state, typically within a few hundred milliseconds.
This re-org handling is an automatic, non-configurable feature designed to provide the most reliable data.

## Warnings

When requesting activity for specific chains using the `chain_ids` parameter, the API may return warnings if some requested chain IDs are not supported. Unlike errors, warnings indicate non-fatal issues where the request can still be partially fulfilled.

When unsupported chain IDs are included in your request, the API will:

* Return activity for all supported chains you requested
* Include a `warnings` array in the response with details about the unsupported chains

### Example: Request with Unsupported Chain IDs

If you request `?chain_ids=1,9999,10`, the API returns activity for chains 1 and 10 (supported), and includes a warning about chain 9999 (unsupported):

```json theme={null}
{
  "activity": [
    {
      "chain_id": 1,
      "block_number": 18500000,
      "block_time": "2025-02-20T13:52:29+00:00",
      "tx_hash": "0x184544c8d67a0cbed0a3f04abe5f958b96635e8c743c070f70e24b1c06cd1aa6",
      "type": "receive",
      "asset_type": "erc20",
      "token_address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
      "from": "0xd152f549545093347a162dce210e7293f1452150",
      "value": "1000000",
      "value_usd": 1.0,
      "token_metadata": {
        "symbol": "USDC",
        "decimals": 6,
        "price_usd": 1.0
      }
    }
  ],
  "warnings": [
    {
      "code": "UNSUPPORTED_CHAIN_IDS",
      "message": "Some requested chain_ids are not supported. Activity is returned only for supported chains.",
      "chain_ids": [9999],
      "docs_url": "https://docs.sim.dune.com/evm/supported-chains"
    }
  ]
}
```

<Tip>
  Check the [Supported Chains](/evm/supported-chains) page to see which chains are currently supported for the Activity endpoint.
</Tip>

## Filtering

You can filter activities server-side using the following query parameters:

* **`token_address`** — Filter by token contract address. Accepts a single address or a comma-separated list. For example, pass the USDC contract address to return only USDC-related activity, or pass multiple addresses to match any of them. Note: swap and call activities do not have a single token address, so they are always excluded when this filter is set. Native transfers are also excluded since they have no token contract.
* **`activity_type`** — Filter by activity type. Accepts a single value or a comma-separated list. Accepted values: `send`, `receive`, `mint`, `burn`, `swap`, `approve`, `call`.
* **`asset_type`** — Filter by asset standard. Accepts a single value or a comma-separated list. Accepted values: `native`, `erc20`, `erc721`, `erc1155`. Use `native` to include native token transfers (e.g. ETH). Contract call activities have no asset type and are excluded when this filter is set.

All filters are optional and can be combined. For example, to get only native token receives:

```
GET /v1/evm/activity/{address}?activity_type=receive&asset_type=native
```

To get only sends and receives (multi-value):

```
GET /v1/evm/activity/{address}?activity_type=send,receive
```

Or to get only USDC sends:

```
GET /v1/evm/activity/{address}?token_address=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48&activity_type=send
```

For additional client-side filtering, we include all the data needed in the responses. See our [Token Filtering](/token-filtering) guide for more details.

## Compute Unit Cost

The Activity endpoint has a fixed CU cost of **3** per request. See the [Compute Units](/compute-units) page for detailed information.

## Real-Time Updates

<Tip>
  **Skip the polling.** Use the [Subscriptions API](/evm/subscriptions) to receive webhook notifications the moment new activity is detected. [Set up a webhook in minutes](/evm/subscriptions/create-webhook).
</Tip>


## OpenAPI

````yaml /openapi.json GET /v1/evm/activity/{address}
openapi: 3.0.3
info:
  title: Sim API
  description: >-
    The Sim API by Dune provides real-time blockchain data across EVM and SVM
    chains. Access token balances, transaction history, on-chain activity, DeFi
    positions, NFT collectibles, token information, and webhook subscriptions
    through a unified REST API.
  version: 1.0.0
  license:
    name: ''
  contact:
    name: Dune Support
    url: https://docs.sim.dune.com
    email: support@dune.com
servers:
  - url: https://api.sim.dune.com
security:
  - ApiKeyAuth: []
tags:
  - name: evm
    description: EVM-compatible blockchain endpoints.
  - name: svm
    description: Solana/SVM blockchain endpoints.
  - name: activity
    description: On-chain activity feed.
  - name: balances
    description: Token balances (EVM and SVM).
  - name: transactions
    description: Transaction history (EVM and SVM).
  - name: collectibles
    description: NFT and ERC721/ERC1155 holdings.
  - name: defi
    description: DeFi protocol positions.
  - name: supported-chains
    description: Supported blockchain networks.
  - name: token-info
    description: Token metadata and pricing.
  - name: token-holders
    description: Token holder distribution.
  - name: subscriptions
    description: >-
      Webhook subscription management for real-time on-chain event
      notifications.
paths:
  /v1/evm/activity/{address}:
    get:
      tags:
        - evm
        - activity
      summary: Get EVM activity for a given address
      description: >-
        This endpoint provides a real-time feed of on-chain activity for any EVM
        address. Activity is returned in chronological order (newest first) and
        includes native token transfers, ERC20 token transfers with metadata,
        ERC721 (NFT) transfers with token IDs, and contract interactions with
        decoded function calls.
      operationId: getEvmActivity
      parameters:
        - name: address
          in: path
          description: Wallet address to get activity for
          required: true
          schema:
            type: string
            format: address
            pattern: ^0x[a-fA-F0-9]{40}$
            default: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
          example: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
        - name: chain_ids
          in: query
          required: false
          description: >-
            Filter by chain(s). Accepts numeric chain IDs and/or tags. Provide a
            single value (e.g. `?chain_ids=1` or `?chain_ids=mainnet`) or a
            comma-separated list (e.g. `?chain_ids=1,8543,testnet`). Chain names
            are not accepted. If this query parameter is omitted, results
            include activity from chains with the `default` tag. See the
            [Supported Chains Tags](/evm/supported-chains#tags) section.
          schema:
            type: string
        - name: offset
          in: query
          description: >-
            The offset to paginate through result sets. This is a cursor being
            passed from the previous response, only use what the backend returns
            here.
          required: false
          schema:
            type: string
        - name: limit
          in: query
          description: >-
            Maximum number of activity items to return. Default is 20 when not
            provided. Values above 100 are reduced to 100.
          required: false
          schema:
            type: integer
            format: int64
            minimum: 1
            maximum: 100
            default: 20
        - name: token_address
          in: query
          description: >-
            Filter activities by token contract address. Provide a single
            address (e.g. `?token_address=0xa0b8...`) or a comma-separated list
            (e.g. `?token_address=0xa0b8...,0xdac1...`). Only activities
            involving the specified token(s) will be returned. Swap and call
            activities are excluded when this filter is set, as they do not have
            a single token address. Native transfers are also excluded since
            they have no token contract.
          required: false
          schema:
            type: string
          example: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
        - name: activity_type
          in: query
          description: >-
            Filter activities by type. Provide a single value (e.g.
            `?activity_type=send`) or a comma-separated list (e.g.
            `?activity_type=send,receive`). Only activities matching one of the
            specified types will be returned.
          required: false
          schema:
            type: array
            items:
              type: string
              enum:
                - approve
                - burn
                - call
                - mint
                - receive
                - send
                - swap
                - transfer
          example:
            - send
            - receive
          style: form
          explode: false
        - name: asset_type
          in: query
          description: >-
            Filter activities by asset standard. Provide a single value (e.g.
            `?asset_type=native`) or a comma-separated list (e.g.
            `?asset_type=erc20,erc721`). Use `native` to include native token
            transfers (e.g. ETH). Contract call activities have no asset type
            and are excluded when this filter is set.
          required: false
          schema:
            type: array
            items:
              type: string
              enum:
                - native
                - erc20
                - erc721
                - erc1155
          example:
            - erc20
          style: form
          explode: false
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivityResponse'
              examples:
                success:
                  summary: Successful response
                  value:
                    activity:
                      - chain_id: 8453
                        block_number: 26635101
                        block_time: '2025-02-20T13:52:29+00:00'
                        tx_hash: >-
                          0x184544c8d67a0cbed0a3f04abe5f958b96635e8c743c070f70e24b1c06cd1aa6
                        type: receive
                        asset_type: erc20
                        token_address: '0xf92e740ad181b13a484a886ed16aa6d32d71b19a'
                        from: '0xd152f549545093347a162dce210e7293f1452150'
                        value: '123069652500000000000'
                        value_usd: 0.14017463965013963
                        token_metadata:
                          symbol: ENT
                          decimals: 18
                          price_usd: 0.001138986230989314
                          pool_size: 5.2274054439382835
                    next_offset: >-
                      KgAAAAAAAAAweDQ4ZDAwNGE2YzE3NWRiMzMxZTk5YmVhZjY0NDIzYjMwOTgzNTdhZTdAVxVC-y0GAAUhAAAAAAAA6XCRAQAAAAAAAAAAAAAAAD0AAAAAAAAAAAAAAAAAAAA
                with_warnings:
                  summary: Response with unsupported chain IDs warning
                  value:
                    activity:
                      - chain_id: 1
                        block_number: 18500000
                        block_time: '2025-02-20T13:52:29+00:00'
                        tx_hash: >-
                          0x184544c8d67a0cbed0a3f04abe5f958b96635e8c743c070f70e24b1c06cd1aa6
                        type: receive
                        asset_type: erc20
                        token_address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
                        from: '0xd152f549545093347a162dce210e7293f1452150'
                        value: '1000000'
                        value_usd: 1
                        token_metadata:
                          symbol: USDC
                          decimals: 6
                          price_usd: 1
                    warnings:
                      - code: UNSUPPORTED_CHAIN_IDS
                        message: >-
                          Some requested chain_ids are not supported. Activity
                          is returned only for supported chains.
                        chain_ids:
                          - 9999
                          - 77777777777
                        docs_url: https://docs.sim.dune.com/evm/supported-chains
                    next_offset: >-
                      KgAAAAAAAAAweDQ4ZDAwNGE2YzE3NWRiMzMxZTk5YmVhZjY0NDIzYjMwOTgzNTdhZTdAVxVC-y0GAAUhAAAAAAAA6XCRAQAAAAAAAAAAAAAAAD0AAAAAAAAAAAAAAAAAAAA
        '400':
          description: Bad Request - Invalid address or validation error.
          content:
            text/plain:
              schema:
                type: string
              examples:
                validationError:
                  summary: Validation error
                  value: Invalid address format
        '401':
          description: Unauthorized - Invalid or missing API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayErrorResponse'
              examples:
                invalidApiKey:
                  value:
                    error: invalid API Key
        '429':
          description: Rate Limit Exceeded - Too many requests.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayErrorResponse'
              examples:
                rateLimitExceeded:
                  value:
                    error: >-
                      Too many requests. Please contact sales@dune.com to
                      increase your limit.
        '500':
          description: Internal Server Error.
          content:
            text/plain:
              schema:
                type: string
              examples:
                internalError:
                  summary: Internal server error
                  value: Internal server error
components:
  schemas:
    ActivityResponse:
      type: object
      required:
        - activity
      properties:
        activity:
          type: array
          items:
            $ref: '#/components/schemas/ActivityItem'
          description: Array of activity items
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/Warning'
          description: >-
            Array of warnings that occurred during request processing. Warnings
            indicate non-fatal issues (e.g., unsupported chain IDs) where the
            request can still be partially fulfilled.
        next_offset:
          type: string
          description: Pagination cursor for the next page of results
    GatewayErrorResponse:
      type: object
      description: >-
        Error response from the API gateway. Returned for authentication,
        permissions, rate-limiting, and quota errors.
      properties:
        error:
          type: string
          description: Error message.
      required:
        - error
    ActivityItem:
      type: object
      properties:
        chain_id:
          type: integer
          format: int64
          description: ID of the blockchain where activity occurred
        block_number:
          type: integer
          format: int64
          description: Block number where activity occurred
        block_time:
          type: string
          format: date-time
          description: Timestamp of the block
        tx_hash:
          type: string
          description: Hash of the transaction
        type:
          type: string
          description: Activity type.
          enum:
            - approve
            - burn
            - call
            - mint
            - receive
            - send
            - swap
            - transfer
        asset_type:
          type: string
          description: Asset standard of the activity.
          enum:
            - native
            - erc20
            - erc721
            - erc1155
        token_address:
          type: string
          description: Contract address of token (for ERC20/ERC721/ERC1155)
        from:
          type: string
          description: Address initiating the activity
        to:
          type: string
          description: Recipient address
        value:
          type: string
          description: Amount transferred (in WEI) or contract call value
        value_usd:
          type: number
          format: double
          description: USD value of the transaction
        id:
          type: string
          description: Token ID (for ERC721/ERC1155 transfers)
        spender:
          type: string
          description: Address being approved to spend tokens (for approve activities)
        token_metadata:
          type: object
          description: Additional token information
          properties:
            symbol:
              type: string
              description: Token symbol
            decimals:
              type: integer
              description: Token decimals
            name:
              type: string
              description: Token name
            logo:
              type: string
              description: URL to token logo
            price_usd:
              type: number
              format: double
              description: Token price in USD
            pool_size:
              type: number
              format: double
              description: Token pool size
            standard:
              type: string
              description: Token standard (e.g., 'erc721')
        function:
          type: object
          description: Decoded function information (for contract calls)
          properties:
            signature:
              type: string
              description: Function signature
            name:
              type: string
              description: Function name
            inputs:
              type: array
              description: Function parameters
              items:
                type: object
                properties:
                  name:
                    type: string
                    description: Parameter name
                  type:
                    type: string
                    description: Parameter type
                  value:
                    type: string
                    description: Parameter value
        contract_metadata:
          type: object
          description: Contract metadata
          properties:
            name:
              type: string
              description: Contract name
        from_token_address:
          type: string
          description: Source token address (for swaps)
        from_token_value:
          type: string
          description: Source token amount (for swaps)
        from_token_metadata:
          type: object
          description: Source token metadata (for swaps)
          properties:
            symbol:
              type: string
            decimals:
              type: integer
            name:
              type: string
            logo:
              type: string
        to_token_address:
          type: string
          description: Destination token address (for swaps)
        to_token_value:
          type: string
          description: Destination token amount (for swaps)
        to_token_metadata:
          type: object
          description: Destination token metadata (for swaps)
          properties:
            symbol:
              type: string
            decimals:
              type: integer
            name:
              type: string
            logo:
              type: string
    Warning:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Warning code identifier (e.g., 'UNSUPPORTED_CHAIN_IDS')
          example: UNSUPPORTED_CHAIN_IDS
        message:
          type: string
          description: Human-readable warning message
          example: >-
            Some requested chain_ids are not supported. Activity is returned
            only for supported chains.
        chain_ids:
          type: array
          items:
            type: integer
            format: int64
          description: >-
            List of chain IDs that triggered this warning (for chain-related
            warnings)
        docs_url:
          type: string
          description: URL to documentation with more information about the warning
          example: https://docs.sim.dune.com/evm/supported-chains
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Sim-Api-Key
      description: >-
        API key for authentication. Obtain your key from the Dune dashboard at
        sim.dune.com.

````