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

# Quickstart

> From zero to your first authenticated API call in a few minutes.

This guide gets you to a working API call fast. **You'll need a sandbox API key** — create one in seconds under **Account → Manage Accounts** in the [sandbox dashboard](https://sandbox.etherfuse.com/account/manage) (no approval needed). New here? See [Initial Setup](/initial-setup) for full account setup, base URLs, and going to production.

<Steps>
  <Step title="Make your first call">
    Use the sandbox base URL `https://api.sand.etherfuse.com` and send your key in the `Authorization` header — **with no `Bearer` prefix** (see [Authentication](/authentication)).

    A connectivity check is the simplest authenticated request:

    ```bash theme={null}
    curl https://api.sand.etherfuse.com/ramp \
      -H "Authorization: <your_sandbox_api_key>"
    ```

    Or hit a public endpoint that needs no auth — list the available stablebonds:

    ```bash theme={null}
    curl https://api.sand.etherfuse.com/lookup/stablebonds
    ```
  </Step>

  <Step title="See what your customers can trade">
    Once authenticated, discover the assets available to ramp on a given chain. Use the `identifier` from the response when you create a quote.

    ```bash theme={null}
    curl "https://api.sand.etherfuse.com/ramp/assets?blockchain=solana" \
      -H "Authorization: <your_sandbox_api_key>"
    ```

    See [GET /ramp/assets](/api-reference/assets/list-assets).
  </Step>

  <Step title="Get a quote">
    Quotes return pricing (`exchangeRate`, `feeBps`, `feeAmount`, `destinationAmount`) and **expire after 2 minutes**. A quote needs an **onboarded** `customerId`, so complete [onboarding](/guides/onboarding) first. The asset pair goes in `quoteAssets` (`type` is `onramp`, `offramp`, or `swap`).

    ```bash theme={null}
    curl -X POST https://api.sand.etherfuse.com/ramp/quote \
      -H "Authorization: <your_sandbox_api_key>" \
      -H "Content-Type: application/json" \
      -d '{
        "quoteId": "<uuid>",
        "customerId": "<onboarded_customer_uuid>",
        "blockchain": "solana",
        "sourceAmount": "1000",
        "quoteAssets": {
          "type": "onramp",
          "sourceAsset": "MXN",
          "targetAsset": "<token_identifier>"
        }
      }'
    ```

    See [POST /ramp/quote](/api-reference/quotes/get-quote) for the full payload, and the path-specific guides below for complete examples.
  </Step>
</Steps>

## Pick your path

<CardGroup cols={3}>
  <Card title="Onramp" icon="arrow-up-right-dots" href="/guides/testing-onramps">
    Fiat → tokens. The customer deposits MXN and receives tokens.
  </Card>

  <Card title="Offramp" icon="arrow-down" href="/guides/testing-offramps">
    Tokens → fiat. The customer sends tokens and receives MXN.
  </Card>

  <Card title="Swap" icon="right-left" href="/guides/testing-swaps">
    Token → token. The customer exchanges one asset for another.
  </Card>
</CardGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Onboard customers" icon="user-check" href="/guides/onboarding">
    Most flows require a KYC'd customer with a linked bank account first.
  </Card>

  <Card title="Monitor with webhooks" icon="bell" href="/guides/verifying-webhooks">
    Get real-time, HMAC-signed updates instead of polling.
  </Card>

  <Card title="Understand the model" icon="diagram-project" href="/overview">
    Quote types, fees, order status flows, and resources.
  </Card>

  <Card title="Sandbox reference" icon="flask" href="/test-environment">
    Test KYC data, sandbox RFCs, and testnet token details.
  </Card>
</CardGroup>
