> For the complete documentation index, see [llms.txt](https://docs.reya.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.reya.xyz/developers/getting-started/environments.md).

# Environments

Use **mainnet** for production trading and **devnet1** for integration testing. Keep each environment's endpoints, signing values, accounts and signer authorisations together; do not copy devnet chain IDs or contract addresses into a production signer.

## Mainnet

| Property                                      | Value                                          |
| --------------------------------------------- | ---------------------------------------------- |
| Chain ID (`verifyingChainId`)                 | `1729`                                         |
| REST market and account data                  | `https://api.reya.xyz/v2`                      |
| REST Order Entry (execution)                  | `https://api.reya.xyz/v2`                      |
| WebSocket Info                                | `wss://ws.reya.xyz/`                           |
| WebSocket Order Entry                         | `wss://ws-exec.reya.xyz`                       |
| `OrdersGateway` (EIP-712 `verifyingContract`) | `0xfc8c96be87da63cecddbf54abfa7b13ee8044739`   |
| Exchange id (`exchangeId`)                    | `1`                                            |
| Signer management                             | [API Keys page](https://app.reya.xyz/api-page) |

For the Python SDK, replace the devnet entries in `.env` with:

```dotenv
CHAIN_ID=1729
REYA_API_URL="https://api.reya.xyz/v2"
REYA_WS_URL="wss://ws.reya.xyz/"
REYA_WS_EXEC_URL="wss://ws-exec.reya.xyz"
REYA_ORDERS_GATEWAY="0xfc8c96be87da63cecddbf54abfa7b13ee8044739"
```

Also configure your funded **mainnet account IDs** and authorise your signer on mainnet. Authorising a signer through the API Keys page grants trading access across all accounts owned by that wallet; devnet authorisations do not carry over. Coordinate production source-IP access with Reya if you use WebSocket Order Entry, and confirm your MM rate limits before starting. Fetch production market definitions and reconcile account state before submitting orders.

## devnet1 (testnet)

| Property                                      | Value                                                    |
| --------------------------------------------- | -------------------------------------------------------- |
| Chain ID                                      | `89346162`                                               |
| REST market and account data                  | `https://api-devnet.reya-cronos.network/v2`              |
| REST Order Entry (execution)                  | `https://api-devnet.reya-cronos.network/v2`              |
| WebSocket Info                                | `wss://websocket-devnet.reya-cronos.network/`            |
| WebSocket Order Entry                         | `wss://ws-exec-devnet.reya-cronos.network`               |
| `OrdersGateway` (EIP-712 `verifyingContract`) | `0x7Ec89E555c771D2B5939aBE5C4E4291852633D4D`             |
| Exchange id (`exchangeId`)                    | `1`                                                      |
| Signer management                             | [API Keys page](https://app-devnet-cf.reya.xyz/api-page) |

## How the values are used

* **Signing.** Your [EIP-712 signatures](/developers/authentication/signatures-and-nonces.md) use the selected environment's `verifyingChainId` (`1729` on mainnet; `89346162` on devnet1) and matching `verifyingContract` above. Remember the chain id is a **message** field, not a domain field.
* **REST.** Market/account reads and order-entry requests share the same public base URL. Submit signed order-entry requests to `POST /v2/createOrder`, `POST /v2/modifyOrder`, `POST /v2/cancelOrder`, `POST /v2/cancelAll`, or `POST /v2/cancelAllAfter` on `api.reya.xyz` for mainnet or `api-devnet.reya-cronos.network` for devnet1. There is no separate public REST execution hostname. See the [REST API Reference](/developers/api-reference/rest-api-reference.md).
* **WebSocket Info** (depth, order changes, executions): the [WebSocket Info API Reference](/developers/api-reference/websocket-api-reference.md).
* **WebSocket Order Entry** (create / cancel / cancel-all over a persistent connection): the [WebSocket Order Entry API Reference](/developers/api-reference/ws-exec-api-reference.md).
* **Exchange id.** Sign `exchangeId = 1` into your orders on mainnet and devnet1.
* **Signer management.** Connect the account's owner wallet to the API Keys page to add or remove authorised signer wallets. The page manages signer permissions; it does not issue bearer-token API credentials.

{% hint style="info" %}
The [Python SDK 3.6.1.0](https://github.com/Reya-Labs/reya-python-sdk/tree/v3.6.1.0) ships a `.env.example` preconfigured for devnet1 — the fastest way to confirm your environment wiring is correct before switching to the mainnet values above.
{% endhint %}
