> For the complete documentation index, see [llms.txt](https://docs.hello.trade/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hello.trade/developer-tools/supported-chains.md).

# Supported Chains

HelloTrade runs on Monad. Each network maps to a deployment environment: **mainnet → production**, **testnet → staging**. Use the parameters, endpoints, and EIP-712 domains for the network you are targeting.

***

## Mainnet (Monad)

Production environment.

### Network Parameters

| Parameter        | Value                                        |
| ---------------- | -------------------------------------------- |
| Chain ID         | `143`                                        |
| Vault contract   | `0xe52B14240514E7A05DddA336cFF0D99ce8bB7230` |
| Collateral token | `0x754704bc059f8c67012fed69bc8a327a5aafb603` |

### Endpoints

| Service               | Endpoint                              | Authentication  |
| --------------------- | ------------------------------------- | --------------- |
| REST API              | `https://api.app.hello.trade/api`     | EIP-712         |
| WebSocket Trading     | `wss://api.app.hello.trade/ws`        | EIP-191/EIP-712 |
| WebSocket Market Data | `wss://marketdata.app.hello.trade/ws` | Public token    |
| Public Chain RPC      | `https://rpc.monad.xyz`               | None            |

### EIP-712 Domains

**Vault Domain** (Orders, Withdrawals, Leverage, Cancels):

```json
{
  "name": "HelloVault",
  "version": "1",
  "chainId": 143,
  "verifyingContract": "0xe52B14240514E7A05DddA336cFF0D99ce8bB7230"
}
```

**Token Domain** (Deposits via ERC-2612):

```json
{
  "name": "USDC",
  "version": "2",
  "chainId": 143,
  "verifyingContract": "0x754704bc059f8c67012fed69bc8a327a5aafb603"
}
```

***

## Testnet (Monad)

Staging environment.

### Network Parameters

| Parameter        | Value                                        |
| ---------------- | -------------------------------------------- |
| Chain ID         | `10143`                                      |
| Vault contract   | `0xfA6fcb77ACA7F941861F8Ee0Fb40662A5B28B77b` |
| Collateral token | `0xd1eC521d1A49A1590b6ed06ed7d96dabA24E28C1` |

### Endpoints

| Service               | Endpoint                                  | Authentication  |
| --------------------- | ----------------------------------------- | --------------- |
| REST API              | `https://api.staging.hello.trade/api`     | EIP-712         |
| WebSocket Trading     | `wss://api.staging.hello.trade/ws`        | EIP-191/EIP-712 |
| WebSocket Market Data | `wss://marketdata.staging.hello.trade/ws` | Public token    |
| Public Chain RPC      | `https://rpc-testnet.monad.xyz`           | None            |

### EIP-712 Domains

**Vault Domain** (Orders, Withdrawals, Leverage, Cancels):

```json
{
  "name": "HelloVault",
  "version": "1",
  "chainId": 10143,
  "verifyingContract": "0xfA6fcb77ACA7F941861F8Ee0Fb40662A5B28B77b"
}
```

**Token Domain** (Deposits via ERC-2612):

```json
{
  "name": "UsdcMock",
  "version": "1",
  "chainId": 10143,
  "verifyingContract": "0xd1eC521d1A49A1590b6ed06ed7d96dabA24E28C1"
}
```

***

## Verifying the On-Chain EIP-712 Domain

Both Vault contracts implement [EIP-5267](https://eips.ethereum.org/EIPS/eip-5267) and expose an `eip712Domain()` view function that returns the canonical domain fields (`name`, `version`, `chainId`, `verifyingContract`, …) straight from the deployment. Use it to confirm the values above against the live contract.

Query it through the public chain RPC with a single `eth_call` (the `eip712Domain()` selector is `0x84b0196e`):

```bash
curl -s https://rpc.monad.xyz \
  -X POST -H 'Content-Type: application/json' \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "eth_call",
    "params": [
      { "to": "0xe52B14240514E7A05DddA336cFF0D99ce8bB7230", "data": "0x84b0196e" },
      "latest"
    ]
  }'
```

The ABI-encoded result decodes to `(bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)`. For testnet, send the same call to `https://rpc-testnet.monad.xyz` with the testnet vault address (`0xfA6fcb77ACA7F941861F8Ee0Fb40662A5B28B77b`).

***

See [Signatures](/developer-tools/signatures.md) for signature construction details.
