# How to Become a Super Transmitter

#### Requirements

* An EVM-compatible wallet
* Native NTGL tokens on the Entangle network (to cover registration and transaction fees)
* Docker and Docker Compose installed

## Step 1: Register as a Super Transmitter

{% stepper %}
{% step %}

#### Connect to the Entangle Network

Add the Entangle network to your wallet:

* **RPC URL:** `https://json-rpc.entangle.fi`
* **Chain ID:** `33033`
  {% endstep %}

{% step %}

#### Send the Registration Transaction

Use the following command to register:

```bash
cast send 0xB83E7753CAB418775f0dc91ACfcfECba24FE62C1 \
  "registerSuperAgentOneKeyEVM(address)" <agent-address> \
  -r "https://json-rpc.entangle.fi" \
  --private-key <your-private-key>
```

<details>

<summary>Parameter Explanation</summary>

* `<agent-address>` – The wallet address you want to register as a Super Agent
* `<your-private-key>` – The private key of your EVM wallet

</details>
{% endstep %}

{% step %}

#### Complete Registration

Contact the Entangle team via the [contact page](https://entangle.zendesk.com/hc/en-us/requests/new) to finalize your registration on the network.
{% endstep %}
{% endstepper %}

## Step 2: Launch the Transmitter Node

{% stepper %}
{% step %}

#### Pull the Latest Agent Images

```bash
docker pull msentangle/agent:3.0
docker pull msentangle/agent-setup:3.0
```

{% endstep %}

{% step %}

#### Generate Transmitter Configurations

Create an empty folder and run the setup command:

```bash
bashCopyEditdocker run --rm \
  -v $(pwd)/.:/app/agent/ \
  -e PRIVATE_KEY="yourprivatekey" \
  -e PASSWORD="yourpassword" \
  -e NON_EVM_CHAINS="11100000000000000501,othernonevmchainid" \
  -e EVM_CHAINS="146,1,otherevmchainids" \
  -e IS_SUPER_AGENT=true \
  msentangle/agent-setup:3.0
```

<details>

<summary>Parameter Explanation</summary>

* Replace `yourprivatekey` with your actual private key
* Replace `yourpassword` with a password of your choice
* Use `NON_EVM_CHAINS` for non-EVM chain IDs (e.g., `11100000000000000501` for Solana)
* Use `EVM_CHAINS` for EVM chain IDs (e.g., `146` for Sonic)

</details>
{% endstep %}

{% step %}
**Start the Transmitter Node**

Pick a unique name for your agent (e.g., `superagent-1`) and start it:

```bash
bashCopyEditdocker-compose -p <agent-name> up -d
```

Congratulations, you're now a Super Transmitter.
{% endstep %}
{% endstepper %}

## Changing Nodes

To switch to different nodes, update the relevant configuration files:

* **Solana modules:** Modify node settings in `transmitter-config.yaml`
* **Multiple node support:** In `watcher-config.yml`, use `read_rpcs` and `write_rpcs` fields to define endpoints

```json
evmchains_to_listen:
    - chain_id: "80002"
      name: Polygon Amoy
      rpc_http_urls:
        - https://polygon-amoy.gateway.tenderly.co
        - https://polygon-amoy.gateway.tenderly.co
        - https://polygon-amoy.gateway.tenderly.co
```

## Optional Configuration Parameters

You can adjust performance and behaviour by modifying the following values:

* **`parse_new_headers_interval`** – How often to fetch new block headers (e.g., `5s`, `1m`)
* **`max_query_in_batch`** – Max number of requests in one batch
* **`filter_logs_max_blocks`** – Max block range for log filtering
* **`blocks_delay`** – Delay between latest block and the one being processed
* **`blocks_batch_to_filter`** – Min number of blocks to filter in one go
* **`min_balance_to_alert`** – Threshold (in wei) for triggering low-balance alerts


---

# 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://docs.entangle.fi/universal-interoperability-protocol/developer-guides/how-to-become-a-super-transmitter.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.
