> 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/devnet/getting-started/onboarding.md).

# Quickstart

Connect to Reya's **devnet1 order book** to read market data, submit orders, and track executions. You can start with market data before configuring an account or signer.

{% hint style="info" %}
This guide targets **devnet1** and API **3.5.2**. Use the endpoints and signing values in [Environments](/developers/devnet/getting-started/environments.md) together. The [current mainnet API documentation](https://docs.reya.xyz/developers/) describes a different trading surface; see the [V2 Migration Reference](/developers/devnet/changelog/v2-migration.md) when adapting an existing client.
{% endhint %}

## 1. Read market data

Market-data requests do not require a signer or wallet signature. Fetch the available perpetual markets and collateral assets:

```bash
curl --fail --silent --show-error https://api-devnet.reya-cronos.network/v2/perpMarketDefinitions
curl --fail --silent --show-error https://api-devnet.reya-cronos.network/v2/assetDefinitions
```

Use the returned market definitions when constructing orders rather than hard-coding symbols, market IDs, or price and quantity increments. See [Markets & Assets](/developers/devnet/reference/markets-and-assets.md) and the [REST API Reference](/developers/devnet/api-reference/rest-api-reference.md) for spot markets and other queries.

For streaming depth and prices, use the [WebSocket Info API](/developers/devnet/api-reference/websocket-api-reference.md). Its depth stream maintains the top 100 levels on each side; read the `/v2/market/{symbol}/depth` section before combining REST snapshots with WebSocket updates.

## 2. Select your account and authorise a signer

To submit orders, use a devnet1 account with sufficient collateral and a signer authorised for that account. You only need the account type you intend to trade; see [Accounts & Subaccounts](/developers/devnet/getting-started/accounts-and-subaccounts.md).

Query `GET /v2/wallet/{address}/accounts` using your **owner wallet address** to find your `accountId`. The owner wallet owns the account; the signer key authorises orders. They can be different wallets.

Connect the owner wallet to the devnet1 [API Keys page](https://app-devnet-cf.reya.xyz/api-page) to authorise the public address of your signer. Keep the signer's private key in your client. [Signer Authorization](/developers/devnet/getting-started/signer-authorization.md) explains permissions and nonce handling.

## Install the pinned Python SDK

Use Python **3.12 or later** and install this source snapshot:

```bash
git clone --no-checkout https://github.com/Reya-Labs/reya-python-sdk.git
cd reya-python-sdk
git checkout --detach 37450ccb2babc99398d1ac1290d48860a9a2e2fa
git submodule update --init specs
python3.12 -m venv .venv
.venv/bin/python -m pip install .
.venv/bin/python -c "from importlib.metadata import version; print(version('reya-python-sdk'))" # 3.5.2.0
cp .env.example .env
```

Fill in the account and signer values in `.env`; its network defaults target devnet1. The snapshot's package metadata and generated client version are **3.5.2.0**, matching API specs **3.5.2** with SDK build number `0`. Use the **commit above** to install this exact source snapshot.

## 3. Submit and cancel an order

The pinned SDK includes a [WebSocket order-entry example](https://github.com/Reya-Labs/reya-python-sdk/blob/37450ccb2babc99398d1ac1290d48860a9a2e2fa/examples/websocket/exec/ws_exec.py) that creates and cancels one spot LIMIT GTC order. For this example, configure these `.env` values:

| Variable                | Value                                                     |
| ----------------------- | --------------------------------------------------------- |
| `SPOT_ACCOUNT_ID_1`     | Your devnet1 spot account ID                              |
| `SPOT_WALLET_ADDRESS_1` | The account owner's wallet address                        |
| `SPOT_PRIVATE_KEY_1`    | The private key of the signer authorised for that account |

Run from the SDK checkout:

```bash
.venv/bin/python -m examples.websocket.exec.ws_exec
```

The example uses `WETHRUSD`; check its [prerequisites](https://github.com/Reya-Labs/reya-python-sdk/blob/37450ccb2babc99398d1ac1290d48860a9a2e2fa/examples/websocket/exec/README.md) and the current market definition before running it. For perpetual orders or another language, follow [Signatures & Nonces](/developers/devnet/authentication/signatures-and-nonces.md), [Order Types & Time-in-Force](/developers/devnet/order-entry/order-types-and-tif.md), and the [REST](/developers/devnet/api-reference/rest-api-reference.md) or [WebSocket Order Entry](/developers/devnet/api-reference/ws-exec-api-reference.md) reference.

## 4. Track the outcome and stay current

Subscribe to account updates through the [WebSocket Info API](/developers/devnet/api-reference/websocket-api-reference.md). An accepted order or a matching-engine fill does not by itself confirm settlement: reconcile confirmed [Executions & Trade History](/developers/devnet/executions-and-settlement/executions-and-trade-history.md) and handle [Trade Busts](/developers/devnet/executions-and-settlement/trade-busts.md). On reconnect, rebuild subscriptions and reconcile account state through REST.

Follow the [Changelog](/developers/devnet/changelog/changelog.md) and [API updates channel](https://t.me/reya_api_updates) for changes that affect your integration.
