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

# Quickstart

> Create your OrbitFlare account, copy your license key from the dashboard, and call mainnet Solana JSON-RPC with curl or any HTTP client. Includes a free tier; upgrade for higher limits and regional endpoints.

<Steps>
  <Step title="Create an Account">
    Sign up at [orbitflare.com](https://orbitflare.com) and choose a plan that fits your needs. A **free tier** is available so you can start building immediately with no credit card required.

    <Tip>
      The free plan includes 10 requests per second -- enough to prototype and test your integration before upgrading.
    </Tip>
  </Step>

  <Step title="Get Your License Key">
    Once you have signed in, navigate to the **Dashboard** and locate the **Licenses** section. Your license key is provided with your service subscription — copy it from there.

    You will authenticate RPC requests by appending the license key as the `api_key` query parameter to the endpoint URL.

    <Warning>
      Keep your license key secret. Do not commit it to version control or expose it in client-side code.
    </Warning>
  </Step>

  <Step title="Make Your First RPC Call">
    Use the mainnet endpoint to call `getBlockHeight` and confirm everything is working.

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST "https://mainnet.rpc.orbitflare.com?api_key=YOUR_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{
          "jsonrpc": "2.0",
          "id": 1,
          "method": "getBlockHeight"
        }'
      ```

      ```javascript JavaScript theme={null}
      const response = await fetch(
        "https://mainnet.rpc.orbitflare.com?api_key=YOUR_API_KEY",
        {
          method: "POST",
          headers: { "Content-Type": "application/json" },
          body: JSON.stringify({
            jsonrpc: "2.0",
            id: 1,
            method: "getBlockHeight",
          }),
        }
      );

      const data = await response.json();
      console.log("Block height:", data.result);
      ```

      ```python Python theme={null}
      import requests

      response = requests.post(
          "https://mainnet.rpc.orbitflare.com?api_key=YOUR_API_KEY",
          headers={"Content-Type": "application/json"},
          json={
              "jsonrpc": "2.0",
              "id": 1,
              "method": "getBlockHeight",
          },
      )

      data = response.json()
      print("Block height:", data["result"])
      ```
    </CodeGroup>

    A successful response looks like this:

    ```json theme={null}
    {
      "jsonrpc": "2.0",
      "result": 283458923,
      "id": 1
    }
    ```
  </Step>

  <Step title="Try WebSockets">
    OrbitFlare supports persistent WebSocket connections for real-time data. Connect to `wss://mainnet.rpc.orbitflare.com` and subscribe to updates.

    ```javascript JavaScript theme={null}
    const WebSocket = require("ws");

    const ws = new WebSocket(
      "wss://mainnet.rpc.orbitflare.com?api_key=YOUR_API_KEY"
    );

    ws.on("open", () => {
      ws.send(
        JSON.stringify({
          jsonrpc: "2.0",
          id: 1,
          method: "slotSubscribe",
        })
      );
      console.log("Subscribed to slot updates");
    });

    ws.on("message", (data) => {
      const message = JSON.parse(data);
      console.log("Received:", message);
    });

    ws.on("error", (err) => {
      console.error("WebSocket error:", err);
    });
    ```

    <Note>
      WebSocket connections use the same `api_key` query parameter for authentication.
    </Note>
  </Step>
</Steps>

## What's Next?

<CardGroup cols={2}>
  <Card title="Authentication & Limits" icon="key" href="/authentication">
    Understand API key usage, endpoint formats, rate limits, and streaming connection limits.
  </Card>

  <Card title="RPC Documentation" icon="server" href="/rpc/http">
    Dive into the complete HTTP RPC method reference.
  </Card>

  <Card title="Data Streaming" icon="bolt" href="/data-streaming/jetstream">
    Stream real-time Solana data with Jetstream.
  </Card>

  <Card title="Error Codes" icon="triangle-exclamation" href="/rpc/error-codes">
    HTTP status codes, JSON-RPC errors, and how to handle them.
  </Card>

  <Card title="Starter Templates" icon="rectangle-terminal" href="https://github.com/orbitflare/templates">
    Production-ready starter templates for building on Solana — Blinks, swaps, and more.
  </Card>
</CardGroup>
