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

# Quickstart

> Create your Range account, authenticate, and make your first API call.

Get from zero to your first authenticated API call in under five minutes.

## 1. Create your account and generate an API key

<Steps>
  <Step title="Sign up or log in">
    Create an account or log in at [app.range.org](https://app.range.org/login).
  </Step>

  <Step title="Open your API settings">
    Go to **Settings > API** ([app.range.org/keys](https://app.range.org/keys)).
  </Step>

  <Step title="Generate your API key">
    Generate your key and copy it to start making authenticated requests.
  </Step>
</Steps>

<Info>
  **Copy your API key when you generate it.** Range shows it only once and does not display it again. You can revoke and rotate keys at any time from your API settings.
</Info>

## 2. Authenticate

All Range API requests require authentication via an API key passed in the request header.

Include your API key in every request using the `Authorization` header:

```bash theme={null}
Authorization: Bearer your_api_key_here
```

<Warning>
  **Keep your API key secure.** Never expose it in client-side code or public repositories. Use environment variables in production.
</Warning>

## 3. Make your first request

Pick the API you want to start with. Each tab shows a sample call and a link to that API's own quickstart for the full walkthrough.

<Tabs>
  <Tab title="Data API" icon="database">
    Look up blockchain address data:

    ```bash theme={null}
    curl 'https://api.range.org/v1/address?address=CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3&network=solana' \
      --header 'Authorization: Bearer your_api_key_here'
    ```

    [Explore the Data API →](/data-api/data-introduction)
  </Tab>

  <Tab title="Risk API" icon="shield-check">
    Score an address for risk:

    ```bash theme={null}
    curl -G 'https://api.range.org/v1/risk/address' \
      --data-urlencode 'address=TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA' \
      --data-urlencode 'network=solana' \
      --header 'Authorization: Bearer your_api_key_here'
    ```

    [Risk API quickstart →](/risk-api/quickstart)
  </Tab>

  <Tab title="Platform API" icon="sliders">
    List the counterparties in your workspace:

    ```bash theme={null}
    curl 'https://api.range.org/v2/counterparties' \
      --header 'Authorization: Bearer your_api_key_here'
    ```

    [Explore the Platform API →](/platform-api/platform-introduction)
  </Tab>

  <Tab title="Faraday API" icon="arrows-split-up-and-left">
    Get a quote for a cross-chain transfer using the Faraday SDK:

    ```typescript theme={null}
    import { FaradayClient } from "@rangesecurity/faraday-sdk";

    const client = new FaradayClient({ apiKey: process.env.RANGE_API_KEY });

    const quote = await client.getQuote({
      fromChain: "ethereum",
      toChain: "solana",
      fromToken: "USDC",
      toToken: "USDC",
      amount: "1000",
    });
    ```

    [Integrate Faraday →](/faraday-api/integration/index)
  </Tab>
</Tabs>

## 4. Rate limits and best practices

<AccordionGroup>
  <Accordion title="Rate limits" icon="gauge">
    * **Risk API:** 10 requests per month (trial)
    * **Faraday API:** 100 requests per month (trial)
    * **Data API:** 100 requests per month (trial)
    * **Enterprise:** Custom limits and higher tiers available

    Monitor your usage via the [Range dashboard](https://app.range.org). [Contact us](https://www.range.org/get-in-touch) to upgrade or discuss higher limits.
  </Accordion>

  <Accordion title="Error handling" icon="triangle-exclamation">
    All errors return standard HTTP status codes with JSON error messages:

    ```json theme={null}
    {
      "error": "Invalid API key",
      "status": 401,
      "message": "The provided API key is invalid or expired"
    }
    ```

    Common status codes:

    * `200`: Success
    * `400`: Bad request (invalid parameters)
    * `401`: Unauthorized (invalid API key)
    * `429`: Rate limit exceeded
    * `500`: Server error
  </Accordion>

  <Accordion title="Best practices" icon="lightbulb">
    * Cache responses when possible to reduce API calls
    * Use batch endpoints when available for multiple queries
    * Implement exponential backoff for rate limit errors
    * Monitor your usage via the [Range dashboard](https://app.range.org)
    * Subscribe to webhooks for real-time updates instead of polling
  </Accordion>
</AccordionGroup>

## Next steps

Now that you've made your first request, explore the full Range API suite:

<CardGroup cols={2}>
  <Card title="Data API" icon="database" href="/data-api/data-introduction">
    Access unified blockchain data, protocol analytics and stablecoin
    intelligence across multiple chains.
  </Card>

  <Card title="Risk API" icon="shield-check" href="/risk-api/risk-introduction">
    Screen wallets, transactions and tokens for sanctions, security risks and
    compliance checks.
  </Card>

  <Card title="Faraday API" icon="arrows-split-up-and-left" href="/faraday-api/introduction">
    Execute compliant cross-chain stablecoin transfers with best-price routing
    and built-in compliance.
  </Card>

  <Card title="Platform API" icon="sliders" href="/platform-api/platform-introduction">
    Manage your Range organization, API keys, users and account settings
    programmatically.
  </Card>
</CardGroup>
