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

# Quickstart

> From zero to a quote request

<Steps>
  <Step title="Create an account">
    ```bash theme={null}
    curl -X POST https://api.symbiosis.markets/auth/signup \
      -H 'Content-Type: application/json' \
      -d '{"email": "you@example.com", "password": "a-strong-password"}'
    ```
  </Step>

  <Step title="Log in">
    ```bash theme={null}
    curl -X POST https://api.symbiosis.markets/auth/login \
      -H 'Content-Type: application/json' \
      -d '{"email": "you@example.com", "password": "a-strong-password"}'
    ```

    Keep the returned `token`; the remaining steps send it as a bearer token.
  </Step>

  <Step title="Mint an API key (for programmatic trading)">
    ```bash theme={null}
    curl -X POST https://api.symbiosis.markets/auth/api-keys \
      -H "Authorization: Bearer $TOKEN" \
      -H 'Content-Type: application/json' \
      -d '{"label": "trading-bot", "scopes": ["read", "trade"]}'
    ```

    The `secret` in the response is shown once. Programmatic requests sign with it —
    see [Authentication](/authentication) and [Auth](/api-reference/auth).
  </Step>

  <Step title="Get a deposit address and fund it">
    ```bash theme={null}
    curl -X POST https://api.symbiosis.markets/custody/create-deposit-address \
      -H "Authorization: Bearer $TOKEN" \
      -H 'Content-Type: application/json' \
      -d '{"chain": "Polygon"}'
    ```

    Deposits are credited after confirmation; check with
    [`GET /custody/get-usdc-balance`](/api-reference/custody).
  </Step>

  <Step title="Request a quote">
    ```bash theme={null}
    curl -X POST https://api.symbiosis.markets/rfq/request \
      -H "Authorization: Bearer $TOKEN" \
      -H 'Content-Type: application/json' \
      -d '{
        "asset_id": "0x...",
        "venue_id": "polymarket",
        "amount": "1000000",
        "side": "Bid"
      }'
    ```

    Amounts are scaled by 1e6, so `1000000` is one unit. Market makers quote the
    request; poll `GET /rfq/quote?request_id=...` or subscribe to the RFQ websocket,
    then accept with `POST /rfq/accept` — see [RFQ](/api-reference/rfq).
  </Step>
</Steps>
