# How can we track a user's transactions?

If you want to track and display information to the user about their transactions on the blockchain, you can use our User Events API. Transactions on the blockchain are transparent to every user and do not require additional authorization. Below is an example of one of such queries and the received information.

{% hint style="info" %}
**GET** /v1/user-events/{address}
{% endhint %}

The `GET /v1/user-events/{address}` allows to retrieve information about the history of a specific wallet address on the blockchain. By providing the wallet address, you can obtain details about various events, transactions, and other activities.

#### Authentication

Authentication is not required to send this request, but it is necessary to provide the user's wallet address from which we want to retrieve data.

**Query parameters**

<table data-header-hidden><thead><tr><th width="226"></th><th></th></tr></thead><tbody><tr><td><strong>Name</strong></td><td><strong>Description</strong></td></tr><tr><td><strong>address</strong></td><td>(string, required): The wallet address for which you want to retrieve event history.</td></tr><tr><td><strong>skip</strong></td><td>(number, optional): The number of records to skip in the response.</td></tr><tr><td><strong>limit</strong></td><td>(number, optional): The maximum number of records to return in the response.</td></tr><tr><td><strong>blockNumber</strong></td><td>(number, optional): Filter events by block number.</td></tr><tr><td><strong>transactionHash</strong></td><td>(string, optional): Filter events by transaction hash.</td></tr><tr><td><strong>event</strong></td><td>(string, optional): Filter events by event type.</td></tr><tr><td><strong>_quantity</strong></td><td>(string, optional): Filter events by quantity.</td></tr><tr><td><strong>_tokenId</strong></td><td>(string, optional): Filter events by token ID.</td></tr><tr><td><strong>id</strong></td><td>(string, optional): Filter events by ID.</td></tr><tr><td><strong>createdAt</strong></td><td>(string, optional): Sort the results (e.g., "asc" or "desc").</td></tr><tr><td><strong>blockNumber</strong></td><td>(number, optional): Filter events by block number.</td></tr></tbody></table>

<details>

<summary><strong>Example cURL</strong></summary>

{% code overflow="wrap" %}

```bash
curl --location 'https://api.metaproprotocol.com/ms/nft-events/v1/user-events/0x767e5c2359e7c809b16d8cffdb9464f91b6c970b?createdAt=desc' \
--header 'accept: application/json'
```

{% endcode %}

</details>

<details>

<summary><strong>Example response body (200 OK)</strong></summary>

```json
{
  "_id": "6399fff8267ef946a3139dfb",
  "address": "0x1033307dd108ee32931f553a78f8f457e855d9fe",
  "blockNumber": 25452855,
  "logId": "log_9fe855",
  "transactionHash": "0xa196e0b69aa1a09123544a7fb6bb3f85b0d7512c0cdce97a439fcc72f29cfa94",
  "type": "NftMintedEvent",
  "_bucketHash": "ecfac6d9-1449-4d81-ab73-6bc7b9a559f7",
  "_quantity": "100",
  "_tokenId": "814",
  "chainId": 97,
  "createdAt": "2022-12-14T16:55:20.775Z",
  "creator": "0x767e5c2359e7c809b16d8cffdb9464f91b6c970b",
  "event": "Minted",
  "initialOwner": "0x767e5c2359e7c809b16d8cffdb9464f91b6c970b",
  "network": "bnb-chain"
}
```

</details>

<details>

<summary>E<strong>xample of the response body (400 Bad Request)</strong></summary>

```json
{
    "statusCode": 400,
    "messages": [
        "address must be longer than or equal to 42 characters"
    ],
    "error": "Bad Request"
}
```

</details>

<details>

<summary><strong>Example of the response body (404 Not found)</strong></summary>

```json
{
  "statusCode": 404,
  "messages": [
    "Not found!"
  ],
  "error": "Not Found"
}
```

</details>
