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

# Quickstart

> Run your first ramp transaction in sandbox on either path.

Two paths on this page. The hosted path takes five minutes and needs no code. The API path takes about thirty minutes and needs a workspace API key. To put buying and selling on your own website, go to [Add the widget](/ramps/widget/quickstart) instead.

## Before you start

* A dashboard account at `https://dashboard.onstacks.io`. Sign-up is self-serve and sandbox is open immediately. Live access opens after business verification.
* For the API path, create a sandbox API key under **Developer**. The full key is shown once.
* For webhooks, a publicly reachable HTTPS URL. Localhost is not supported.

```bash theme={"system"}
export ONSTACKS_API_URL="https://api.onstacks.io"
export ONSTACKS_API_KEY="ostk_live_..."   # sandbox and live keys share the prefix; scope is set by environment
```

<Tabs>
  <Tab title="Ramp Checkout (5 minutes)">
    <Steps>
      <Step title="Open the Ramp Checkout">
        Go to `https://ramp.onstacks.io`. For a sell flow use `https://ramp.onstacks.io/?tab=offramp`.
      </Step>

      <Step title="Get a quote">
        Choose a stablecoin and network (for example USDC on Base), pick a local currency (for example NGN), and enter an amount. The rate and fees appear before you continue.
      </Step>

      <Step title="Complete onboarding">
        Enter an email, confirm the one-time code, then complete identity verification when prompted.
      </Step>

      <Step title="Finish the transaction">
        Follow the payment or send instructions on the page and watch the status update.
      </Step>
    </Steps>

    Next: [Ramp Checkout](/ramps/hosted/quickstart) for link parameters and the full user flow.
  </Tab>

  <Tab title="White-Label API (30 minutes)">
    <Steps>
      <Step title="Confirm the service is up">
        ```bash theme={"system"}
        curl "$ONSTACKS_API_URL/readyz"
        ```
      </Step>

      <Step title="See what you can offer">
        ```bash theme={"system"}
        curl "$ONSTACKS_API_URL/v1/ramp/routes?environment=sandbox&direction=off_ramp&destination_asset=NGN" \
          -H "Authorization: Bearer $ONSTACKS_API_KEY"
        ```
      </Step>

      <Step title="Request a quote">
        ```bash theme={"system"}
        curl -X POST "$ONSTACKS_API_URL/v1/ramp/quote?environment=sandbox" \
          -H "Authorization: Bearer $ONSTACKS_API_KEY" \
          -H "Content-Type: application/json" \
          -d '{
            "direction": "off_ramp",
            "source_asset": "USDC",
            "source_amount": "1000000",
            "destination_asset": "NGN",
            "country_code": "NG",
            "rail": "bank"
          }'
        ```

        The response lists one quote per provider with rate, fees, and an expiry. Confirm within two minutes.
      </Step>

      <Step title="Confirm and track">
        ```bash theme={"system"}
        curl -X POST "$ONSTACKS_API_URL/v1/ramp/quote/$QUOTE_REFERENCE?environment=sandbox" \
          -H "Authorization: Bearer $ONSTACKS_API_KEY" \
          -H "Content-Type: application/json" \
          -d '{ "destination": { "bank_account": { "account_name": "Mason Emma", "account_number": "0234247896", "bank_code": "058" } }, "idempotency_key": "demo-1" }'
        ```

        Then read `GET /v1/ramp/payments/{reference}?environment=sandbox`, or register a webhook. See [Status tracking](/ramps/api/status-tracking).
      </Step>
    </Steps>

    Next: [White-Label API](/ramps/api/overview) for the full lifecycle.
  </Tab>
</Tabs>

## Sandbox test data

| Item | Value |
| - | - |
| Test bank | Code `058` (GTBank sandbox) |
| Test account number | `0234247896`, resolves to a test account holder |
| Test identity number (Nigeria sandbox BVN) | `22222222222` |
| Source network | `ethereum_sepolia` with test USDC |

See [Sandbox testing](/ramps/reference/sandbox-test-data) for how sandbox differs from live.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.