> ## Documentation Index
> Fetch the complete documentation index at: https://docs.joyride.exchange/llms.txt
> Use this file to discover all available pages before exploring further.

# Getting Started

> Hosted endpoints plus the fastest path for agent users and API integrators.

## No API key required

Joyride uses wallet-based authentication (SIWS — Sign-In with Solana), no API key. Create your account in the web app at [joyride.exchange](https://joyride.exchange) (referral code + terms attestation), then sign in with the same wallet. The CLI is login-only — invite/referral codes are redeemed in the web app, not the CLI. Signing in with a wallet that has no Joyride account fails with a clear "sign up at joyride.exchange" message.

## Choose your path

### I want to use an AI agent (MCP)

Start with [Agent Quickstart](./quickstart).

Recommended for:

* Claude Code
* Cursor
* Codex
* VS Code Copilot
* any other local MCP client

Five commands: `npm install -g joyride-cli`, `joyride setup`, `joyride login`, `joyride mcp install --client <name>`, restart.

### I want to build a custom trading bot

Skip the SDK. Use the raw HTTP and WebSocket APIs directly in any language.

* See [Authentication](./exchange/authentication) for the SIWS flow
* See [Data Conventions](./exchange/data-conventions) for units and instrument IDs
* See [WebSocket API](./exchange/websocket) for the JSON-RPC protocol
* Use the `REST API` and `WebSocket Reference` tabs for the full spec

No CLI or npm package required — just HTTP, WebSockets, and a Solana keypair.

### I want to build a custom frontend or integration

Use the hosted endpoints and exchange docs below.

## Hosted endpoints

Every surface derives from the single public origin `https://joyride.exchange`:

| Surface               | URL                                        | Example                                                    |
| --------------------- | ------------------------------------------ | ---------------------------------------------------------- |
| Trading WebSocket     | `wss://joyride.exchange/api/client`        | JSON-RPC 2.0 (SIWS auth, order placement)                  |
| Market-data WebSocket | `wss://joyride.exchange/api/md`            | JSON-RPC 2.0 (books, trades, lifecycle)                    |
| Oracle WebSocket      | `wss://joyride.exchange/api/oracle`        | Spot/TWAP price feed                                       |
| Public HTTP           | `https://joyride.exchange/api/v1/market/*` | `curl .../api/v1/market/instruments`                       |
| Query API (Bearer)    | `https://joyride.exchange/api/query/*`     | `curl -H "Authorization: Bearer …" .../api/query/balances` |

The SDK config key `http_url` (env `JOYRIDE_HTTP_URL`) is the **bare origin** `https://joyride.exchange`; the SDK derives every service URL above from it. Public market reads live under `/api/v1/market/*`; self-scoped account reads (balances, positions, fills) live under `/api/query/*` and require the session JWT as a Bearer token.

Do not use `https://api.joyride.exchange/v1` for production integrations — that legacy split-host name may appear in older examples, but the supported surface is the single `joyride.exchange` origin above.

Use the hosted endpoints above for direct client integrations. Public docs intentionally avoid local deployment instructions for backend services.

## Recommended reading order for API integrators

1. [Exchange Overview](./exchange/overview)
2. [Trading Hours and Rollover](./exchange/trading-hours)
3. [Data Conventions](./exchange/data-conventions)
4. [Authentication](./exchange/authentication)
5. `REST API` tab
6. `WebSocket Reference` tab
7. [WebSocket API](./exchange/websocket)
8. [Risk Engine](./exchange/risk-engine)
9. [SDK Overview](./sdk/overview) if you want the CLI or MCP server
