# Tron events server

**Base URL:**`https://mainnet.tron.tronql.com`

## Authorization

There are two ways how you can pass token to server:

* use base url `https://mainnet.tron.tronql.com` and header Authorization=
* pass token in url aka `https://<token>.mainnet.tron.tronql.com`

***

## Transactions

### Get Transaction List

**GET** `/transactions`

Retrieve a paginated list of transactions.

**Query Parameters:**

| Name  | Type   | Description                                    | Default    |
| ----- | ------ | ---------------------------------------------- | ---------- |
| limit | int    | Page size                                      | 25         |
| sort  | string | Sort field (e.g., `-timeStamp` for descending) | -timeStamp |
| start | int    | Page number                                    | 1          |
| block | int    | Starting block number                          | 0          |

**Example:**`https://mainnet.tron.tronql.com/transactions?limit=1&sort=-timeStamp&start=2&block=10000`

***

### Get Transaction by Hash

**GET** `/transactions/{hash}`

Retrieve a transaction by its hash.

**Path Parameters:**

| Name | Description      |
| ---- | ---------------- |
| hash | Transaction hash |

**Example:**`https://mainnet.tron.tronql.com/transactions/9a4f096700672d7420889cd76570ea47bfe9ef815bb2137b0d4c71b3d23309e9`

***

## Transfers

### Get Transfers List

**GET** `/transfers`

Retrieve a list of transfers.

**Query Parameters:**

| Name  | Type   | Description         | Default    |
| ----- | ------ | ------------------- | ---------- |
| limit | int    | Page size           | 25         |
| sort  | string | Sort field          | -timeStamp |
| start | int    | Page number         | 1          |
| from  | string | Source address      | ""         |
| to    | string | Destination address | ""         |
| token | string | Token name          | ""         |

**Example:**`https://mainnet.tron.tronql.com/transfers?token=trx&limit=1&sort=timeStamp&start=2&block=0&from=TJ7yJNWS8RmvpXcAyXBhvFDfGpV9ZYc3vt&to=TAEcoD8J7P5QjWT32r31gat8L7Sga2qUy8`

***

### Get Transfers by Transaction ID

**GET** `/transfers/{hash}`

**Path Parameters:**

| Name | Description   |
| ---- | ------------- |
| hash | Transfer hash |

**Example:**`https://mainnet.tron.tronql.com/transfers/70d655a17e04d6b6b7ee5d53e7f37655974f4e71b0edd6bcb311915a151a4700`

***

## Events

### Get Events List

**GET** `/events`

**Query Parameters:**

| Name  | Description                 | Default    |
| ----- | --------------------------- | ---------- |
| limit | Page size                   | 25         |
| sort  | Sort field                  | -timeStamp |
| since | Start timestamp (inclusive) | 0          |
| start | Page number                 | 1          |
| block | Minimum block number        | 0          |

**Example:**`https://mainnet.tron.tronql.com/events?limit=1&sort=timeStamp&since=0&block=0&start=0`

***

### Get Events by Transaction ID

**GET** `/events/transaction/{transactionId}`

**Example:**`https://mainnet.tron.tronql.com/events/transaction/cd402e64cad7e69c086649401f6427f5852239f41f51a100abfc7beaa8aa0f9c`

***

### Get Events by Contract Address

**GET** `/events/{contractAddress}`

**Example:**`https://mainnet.tron.tronql.com/events/TMYcx6eoRXnePKT1jVn25ZNeMNJ6828HWk?limit=1&sort=-timeStamp&since=0&block=0&start=4`

***

### Get Events by Contract Address and Event Name

**GET** `/events/contract/{contractAddress}/{eventName}`

**Example:**`https://mainnet.tron.tronql.com/events/contract/TMYcx6eoRXnePKT1jVn25ZNeMNJ6828HWk/Bet?limit=1&sort=-timeStamp&since=1&start=0`

***

### Get Events by Contract Address, Event Name, and Block Number

**GET** `/events/contract/{contractAddress}/{eventName}/{blockNumber}`

**Example:**`https://mainnet.tron.tronql.com/events/contract/TMYcx6eoRXnePKT1jVn25ZNeMNJ6828HWk/Bet/4835773`

***

### Get Events by Timestamp

**GET** `/events/timestamp`

**Example:**`https://mainnet.tron.tronql.com/events/timestamp?since=1544483426749&limit=1&start=1&sort=timeStamp`

***

### Get Confirmed Events List

**GET** `/events/confirmed`

**Example:**`https://mainnet.tron.tronql.com/events/confirmed?since=1544483426749&limit=1&start=1&sort=timeStamp`

***

## Blocks

### Get Block by Hash

**GET** `/blocks/{hash}`

**Example:**`https://mainnet.tron.tronql.com/blocks/000000000049c11f15d4e91e988bc950fa9f194d2cb2e04cda76675dbb349009`

***

### Get Block List

**GET** `/blocks`

**Query Parameters:**

| Name  | Description          | Default    |
| ----- | -------------------- | ---------- |
| limit | Page size            | 25         |
| sort  | Sort field           | -timeStamp |
| start | Page number          | 1          |
| block | Minimum block number | 0          |

**Example:**`https://mainnet.tron.tronql.com/blocks?limit=1&sort=timeStamp&start=0&block=0`

***

### Get Latest Block Number

**GET** `/blocks/latestSolidifiedBlockNumber`

**Example:**`https://mainnet.tron.tronql.com/blocks/latestSolidifiedBlockNumber`

***

## Contract Logs

### Get Contract Logs

**GET** `/contractlogs`

**Example:**`https://mainnet.tron.tronql.com/contractlogs`

***

### Get Contract Logs by Transaction ID

**GET** `/contractlogs/transaction/{transactionId}`

**Example:**`https://mainnet.tron.tronql.com/contractlogs/transaction/f7440eb396632db8e279078069a55abc0a3c018072b458bbd4eeddafc4782b55`

***

### Post ABI to Get Logs by Transaction ID

**POST** `/contract/transaction/{transactionId}`

**Body Example:**

```json
{
  "abi": "<ABI JSON>"
}
```

**Example:**`https://mainnet.tron.tronql.com/contract/transaction/f7440eb396632db8e279078069a55abc0a3c018072b458bbd4eeddafc4782b55`

### Get Contract Logs by Contract Address

**GET** `/contractlogs/contract/{contractAddress}`

**Example:**`https://mainnet.tron.tronql.com/contractlogs/contract/TXDk8mbtRbXeYuMNS83CfKPaYYT8XWv9Hz`

### Post ABI to Get Logs by Contract Address

**POST** `/contract/contractAddress/{contractAddress}`

**Body Example:**

```json
{
  "abi": "<ABI JSON>"
}
```

**Example:**`https://mainnet.tron.tronql.com/contract/contractAddress/{contractAddress}`

### Get Contract Logs by Unique ID

**GET** `/contractlogs/uniqueId/{uniqueId}`

**Example:** `https://mainnet.tron.tronql.com/contractlogs/uniqueId/{uniqueId}`

### Post ABI to Get Logs by Unique ID

**POST** `/contract/uniqueId/{uniqueId}`

**Body Example:**

```json
{
  "abi": "<ABI JSON>"
}
```

**Example:** `https://mainnet.tron.tronql.com/contract/uniqueId/{uniqueId}`
