# Contract Interactions

<figure><img src="/files/93eI3PPhJdeQuAOEu2PT" alt=""><figcaption></figcaption></figure>

### Setup: Create new alert

* Contract Address - Any **contract address** on the ethereum chain
* Description - User's own information about the contract.&#x20;
* Custom Settings
* Discord Webhook URL or Telegram Chat ID - Where user receives the alerts
* Discord Ping Role - Adds a role ping to the alert. Must be the UID of the role.&#x20;

### Alert Modes

* User Calls - Monitor any transactions to a contract by a set wallet address
* Block Mints - Get a summary of mints in a block
* Block Secondary - Get a summary of sales in a block

## Custom Settings

* filter - Function name of verified contract or function hex to filter
  * setPaused or 0xf2d12b12 or \*
* owner - Wallet address to monitor, default value picked up from owner() function
  * wallet address or \*
* min mints - Minimal amount of mint transactions in a block to send alert
  * 0 or positive integer
* sale type - Get alerted only if specific type of sale happens
  * 0 - all
  * 1 - orders
  * 2 - offers
* min sales - Minimum amount of sales of chosen type
  * 0 or positive integer
* min volume - Minimum volume of chosen type of sale
  * 0 or positive float(0.2, 0.35, 1, 5)

### Telegram Setup

Create a Telegram Group

Invite 3gm bots (all 5)

* @ThreeGMAlerts1Bot
* @ThreeGMAlerts2Bot
* @ThreeGMAlerts3Bot
* @ThreeGMAlerts4Bot
* @ThreeGMAlerts5Bot

Get Telegram Chat ID by inviting bot @RawDataBot <https://www.alphr.com/find-chat-id-telegram/>

* get ID from&#x20;

```
    "chat": {
        "id": -907304945,
```

* Use the ID in the Discord Alerts setup
* remove @RawDataBot from your group

<div><figure><img src="/files/doM7hVTjx7f8Lom005CI" alt=""><figcaption></figcaption></figure> <figure><img src="/files/MJCtdUYeFiDPMD93ohyX" alt=""><figcaption></figcaption></figure> <figure><img src="/files/egUIXHUmulV6AkDic6Gj" alt=""><figcaption></figcaption></figure></div>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bot.3gm.dev/3gm-notification-services/alerts/contract-interactions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
