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

# Quickstart: send your first RPC request

> Sign in, create a location-scoped token, and verify a ThorNode RPC URL with curl.

In this quickstart, you will create a location-scoped credential and receive a Solana blockhash from ThorEdge RPC.

## Before you start

You need:

* A Discord account
* An active owned pass or rental
* A Solana wallet if your pass is not yet associated with the account
* `curl` in your terminal

If you own a pass, [register its owning wallet](/dashboard/wallets). Otherwise, [purchase a rental from **Rent**](/dashboard/rentals) before creating the endpoint.

Open the dashboard from [thornode.io](https://www.thornode.io).

<Steps>
  <Step title="Sign in with Discord">
    Choose **Login with Discord** and authorize the account associated with your ThorNode access.

    After sign-in, **Overview** shows the passes and rentals currently associated with that Discord account.
  </Step>

  <Step title="Register the owning wallet if needed">
    If your owned pass is missing, open **Wallets**, choose **Connect Wallet**, and connect the address that holds it. Choose **Register** and sign the verification message.

    Registration succeeds when the address appears under **Verified wallets**. You can register up to three wallets per dashboard account.
  </Step>

  <Step title="Select an access and location">
    Open **Endpoints**, keep the **Endpoints** tab selected, and choose the pass or rental your application will use. Under **Node access**, select a **Network** and **Location**.

    Choose a product and location listed for the selected access.
  </Step>

  <Step title="Generate the location token">
    In **Token & Endpoints**, choose **Generate token for *location***.

    The panel shows a masked location token and the **RPC** and **WS** URLs. Each
    location has an independent token.
  </Step>

  <Step title="Copy the SSL RPC URL">
    In the **RPC** row, copy the URL under **SSL**. Use the copied URL as-is; it already carries the connection details for the selected location.

    Set the environment variable in the same terminal where you will run the request:

    ```bash theme={null}
    export THORNODE_RPC_URL='<full SSL RPC URL copied from Endpoints>'
    ```
  </Step>

  <Step title="Request a blockhash">
    Run:

    ```bash theme={null}
    curl --fail-with-body --request POST "$THORNODE_RPC_URL" \
      --header 'content-type: application/json' \
      --data '{"jsonrpc":"2.0","id":1,"method":"getLatestBlockhash"}'
    ```

    Representative output:

    ```text theme={null}
    {"jsonrpc":"2.0","result":{"context":{"slot":...},"value":{"blockhash":"...","lastValidBlockHeight":...}},"id":1}
    ```

    You are connected when the command returns a JSON-RPC `result` containing `value.blockhash`. A top-level `error` object is not a successful result.
  </Step>
</Steps>

<Warning>
  The complete RPC URL contains a credential. Keep it in a server-side secret
  store and out of repositories, browser code, logs, screenshots, and support
  messages.
</Warning>

## Optional: restrict the token

After the request works from a server with a stable egress address, enter its real, globally routable public IPv4 value in **Restrict to IP — *location* (optional)** and choose **Save restriction**. Repeat the request from that server and from another public address to test the restriction. The same restriction applies to RPC and WebSocket traffic for that location token.

Leave the field blank when the egress address changes or to remove the restriction.

## Next steps

* [Choose a product](/getting-started/choose-a-product) for streaming, raw shreds, replay, or transaction routes.
* [Connect an RPC or WebSocket client](/products/thoredge-rpc) and add production retry behavior.
* [Monitor traffic and live limits](/dashboard/usage-and-limits) before increasing production load.
* [Store and rotate credentials safely](/reference/security).
