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

> List recent swaps, liquidity adds, and removes for a pool with page or cursor-based pagination

# Get transactions of a pool on a network. Paging can be used up to 100 pages.

## Endpoint overview

List recent swaps, adds, and removes for a pool with paging.

<Tip>
  See also: [Pool details](/api-reference/pools/get-a-pool-on-a-network),
  [Token data](/api-reference/tokens/get-a-tokens-latest-data-on-a-network)
</Tip>

### FAQs

<AccordionGroup>
  <Accordion title="Which pagination parameters are supported?">
    Use `page`/`limit` or the `cursor` for deep pagination. `cursor` points to a specific transaction id for resume.
  </Accordion>

  <Accordion title="Which transaction types are included?">
    Swaps, liquidity adds, and removes with token amounts, USD values when available, and timestamps.
  </Accordion>

  <Accordion title="How to fetch only recent swaps?">
    Request with `limit` (e.g., 20–100) and without `page` to get the latest batch; poll periodically for new entries.
  </Accordion>

  <Accordion title="Is ordering guaranteed?">
    Results are returned in reverse chronological order (most recent first) per pool.
  </Accordion>
</AccordionGroup>

<script type="application/ld+json">
  {JSON.stringify({
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [
        {"@type": "Question","name": "Which pagination parameters are supported?","acceptedAnswer": {"@type": "Answer","text": "Use page/limit or cursor for deep pagination. Cursor is a transaction id."}},
        {"@type": "Question","name": "Which transaction types are included?","acceptedAnswer": {"@type": "Answer","text": "Swaps, liquidity adds, and removes with amounts, USD values, and timestamps."}},
        {"@type": "Question","name": "How to fetch only recent swaps?","acceptedAnswer": {"@type": "Answer","text": "Use limit without page to get the latest batch and poll periodically."}},
        {"@type": "Question","name": "Is ordering guaranteed?","acceptedAnswer": {"@type": "Answer","text": "Reverse chronological order (most recent first) per pool."}}
      ]
    })}
</script>


## OpenAPI

````yaml get /networks/{network}/pools/{pool_address}/transactions
openapi: 3.1.0
info:
  title: DexPaprika API
  version: 1.0.2
  description: >
    # Introduction
      Welcome to the DexPaprika API! This product is developed by [CoinPaprika](https://coinpaprika.com).

      Our API enables developers to query token, pool, and DEX data across multiple blockchain networks. Feel free to explore our endpoints below.

      **Important:** This API is currently in beta and **should not be used in critical solutions or features**, as the service is under active development. We reserve the right to introduce changes or break backward compatibility.

      ---
    # Getting Started

    ## Testing the API - Code Snippets

    The snippets below show how to quickly make a **GET** request. Since this is
    a **public beta** (no API key needed), you can simply call the endpoints
    directly.


    > **Note**: If you see CORS issues in a browser, you may need to call these
    endpoints from a backend server to avoid local browser restrictions.


    ### 1. cURL


    ```bash

    curl -X GET "https://api.dexpaprika.com/networks/ethereum/pools" | jq

    ```

    ### 2. Node.js (JavaScript)

    ```js

    const https = require('https');


    const options = {
      hostname: 'api.dexpaprika.com',
      path: '/networks/ethereum/pools',
      method: 'GET',
    };


    const req = https.request(options, res => {
      let data = '';
      res.on('data', chunk => { data += chunk; });
      res.on('end', () => { console.log(JSON.parse(data)); });
    });


    req.on('error', error => { console.error(error); });

    req.end();

    ```


    ### 3. Python

    ```python

    import requests


    url = "https://api.dexpaprika.com/networks/ethereum/pools"


    response = requests.get(url)

    if response.status_code == 200:
        print(response.json())
    else:
        print(f"Error: {response.status_code} -> {response.text}")
    ```

    ### 4. PHP

    ```php

    <?php

    $curl = curl_init();


    curl_setopt_array($curl, array(
      CURLOPT_URL => "https://api.dexpaprika.com/networks/ethereum/pools",
      CURLOPT_RETURNTRANSFER => true
    ));


    $response = curl_exec($curl);


    if(curl_errno($curl)) {
      echo "Error: " . curl_error($curl);
    } else {
      echo $response;
    }


    curl_close($curl);

    ?>

    ```


    ### 5. Java

    ```java

    import java.io.*;

    import java.net.HttpURLConnection;

    import java.net.URL;


    public class DexPaprikaExample {
        public static void main(String[] args) {
            try {
                URL url = new URL("https://api.dexpaprika.com/networks/ethereum/pools");
                HttpURLConnection con = (HttpURLConnection) url.openConnection();
                con.setRequestMethod("GET");
                int responseCode = con.getResponseCode();
                try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()))) {
                    String inputLine;
                    StringBuilder content = new StringBuilder();
                    while ((inputLine = in.readLine()) != null) {
                        content.append(inputLine);
                    }
                    if (responseCode == 200) {
                        System.out.println(content.toString());
                    } else {
                        System.out.println("Error: " + responseCode);
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    ```


    ### 6. Go

    ```go

    package main


    import (
        "fmt"
        "io/ioutil"
        "log"
        "net/http"
    )


    func main() {
        client := &http.Client{}
        req, err := http.NewRequest("GET", "https://api.dexpaprika.com/networks/ethereum/pools", nil)
        if err != nil {
            log.Fatal(err)
        }

        resp, err := client.Do(req)
        if err != nil {
            log.Fatal(err)
        }
        defer resp.Body.Close()

        body, err := ioutil.ReadAll(resp.Body)
        if err != nil {
            log.Fatal(err)
        }

        if resp.StatusCode == http.StatusOK {
            fmt.Println(string(body))
        } else {
            fmt.Printf("Error: %d -> %s\n", resp.StatusCode, body)
        }
    }

    ```


    ### 7. C#

    ```csharp

    using System;

    using System.Net.Http;

    using System.Threading.Tasks;


    class Program

    {
        static async Task Main()
        {
            using var client = new HttpClient();
            var url = "https://api.dexpaprika.com/networks/ethereum/pools";
            
            var response = await client.GetAsync(url);
            
            if (response.IsSuccessStatusCode)
            {
                var content = await response.Content.ReadAsStringAsync();
                Console.WriteLine(content);
            }
            else
            {
                Console.WriteLine($"Error: {response.StatusCode}");
            }
        }
    }

    ```


    ## Feedback & Next Steps

    1. **Test** any of the snippets above.  

    2. **Explore** our other endpoints in this documentation.   

    3. **Share** your feedback with us at
    [support@coinpaprika.com](mailto:support@coinpaprika.com).

    4. If you want implement our API into your project or simply discuss
    possible collaboration, please reach out to msroka@coinpaprika.com.

    ---
  contact:
    name: CoinPaprika Support
    email: support@coinpaprika.com
    url: https://coinpaprika.com
  license:
    name: Proprietary
    url: https://dexpaprika.com/terms
servers:
  - url: https://api.dexpaprika.com
    description: Production server
security: []
tags:
  - name: Networks
    description: Endpoints for retrieving information about supported blockchain networks
  - name: DEXes
    description: Endpoints for retrieving information about decentralized exchanges
  - name: Pools
    description: Endpoints for retrieving information about liquidity pools
  - name: Tokens
    description: Endpoints for retrieving information about tokens
  - name: Search
    description: Endpoints for searching across tokens, pools, and DEXes
  - name: Utils
    description: Utility endpoints for system metadata
paths:
  /networks/{network}/pools/{pool_address}/transactions:
    get:
      tags:
        - Pools
      summary: >-
        Get transactions of a pool on a network. Paging can be used up to 100
        pages.
      operationId: getPoolTransactions
      parameters:
        - $ref: '#/components/parameters/pageParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/networkParam'
        - $ref: '#/components/parameters/poolAddressParam'
        - in: query
          name: from
          required: false
          schema:
            type: integer
            format: int64
          description: Filter transactions starting from this UNIX timestamp.
        - in: query
          name: to
          required: false
          schema:
            type: integer
            format: int64
          description: Filter transactions up to this UNIX timestamp.
        - in: query
          name: cursor
          description: >-
            Cursor is a transaction ID used for pagination. If empty, the first
            set of results is returned.
          schema:
            type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    description: Response for a request with page-based pagination.
                    properties:
                      transactions:
                        type: array
                        items:
                          $ref: '#/components/schemas/Transaction'
                      page_info:
                        type: object
                        properties:
                          limit:
                            type: integer
                          page:
                            type: integer
                          total_items:
                            type: integer
                          total_pages:
                            type: integer
                  - type: object
                    description: Response for a request with cursor-based pagination.
                    properties:
                      transactions:
                        type: array
                        items:
                          $ref: '#/components/schemas/Transaction'
                      page_info:
                        type: object
                        properties:
                          next_cursor:
                            type: string
                          limit:
                            type: integer
        '400':
          description: The specified network or pool address is invalid.
        '404':
          description: Network not found or pool not found.
components:
  parameters:
    pageParam:
      name: page
      in: query
      schema:
        type: integer
        minimum: 0
        maximum: 1000
      description: Zero-based page index for paginated results.
    limitParam:
      name: limit
      in: query
      schema:
        type: integer
        default: 10
        minimum: 1
        maximum: 100
      description: Number of items to return per page (max 100).
    networkParam:
      name: network
      in: path
      required: true
      schema:
        type: string
      description: >-
        Network slug or ID (e.g., 'solana'). You can find the list of supported
        networks with their IDs here: [/networks](/api-reference/networks).
      example: solana
    poolAddressParam:
      name: pool_address
      in: path
      required: true
      schema:
        type: string
      description: >-
        Unique pool address or identifier. Such as
        `0xc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b` for WETH / USDT on
        `ethereum`.
      example: '0xc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b'
  schemas:
    Transaction:
      type: object
      description: >
        Information about a transaction, including addresses, amounts, and block
        reference.
      properties:
        id:
          type: string
          description: Unique identifier/hash for the transaction event.
        log_index:
          type: number
          description: The log index within the block for this transaction event.
        transaction_index:
          type: number
          description: Position of the transaction in the block.
        pool_id:
          type: string
          description: The liquidity pool address or ID involved in this transaction.
        sender:
          type: string
          description: Address of the sender.
        recipient:
          type: number
          description: Address (or numeric ID) of the recipient.
        token_0:
          type: string
          description: The primary token's address (or symbol) for this transaction.
        token_0_symbol:
          type: string
          description: The primary token's symbol for this transaction.
        token_1:
          type: string
          description: The secondary token's address (or symbol) for this transaction.
        token_1_symbol:
          type: string
          description: The secondary token's symbol for this transaction.
        amount_0:
          type: string
          description: Amount of token_0 transferred/swapped.
        amount_1:
          type: string
          description: Amount of token_1 transferred/swapped.
        price_0:
          type: number
          format: double
          description: Price of token_0
        price_1:
          type: number
          format: double
          description: Price of token_1
        price_0_usd:
          type: number
          format: double
          description: Price of token_0 in USD.
        price_1_usd:
          type: number
          format: double
          description: Price of token_1 in USD.
        created_at_block_number:
          type: number
          description: The block number at which this transaction was recorded.
        created_at:
          type: string
          format: date-time
          description: The timestamp when this transaction was created.

````