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

# Sign up

> Create a Sly account, get a sandbox key, and run your first API call. No invite needed.

Sly is in **open beta**. Anyone can sign up self-serve — sandbox access is immediate, and `pk_test_*` API keys work the moment your account exists. Live (`pk_live_*`) keys and live money movement are gated separately by a [production-access declaration](/get-started/production-access) the owner submits from the dashboard.

The closed-beta invite-code flow has been retired. If you have a legacy invite link, it still resolves at [app.getsly.ai/auth/signup/code](https://app.getsly.ai/auth/signup/code) — but you don't need one.

## Step 1 — Create your account

Go to [app.getsly.ai/auth/signup](https://app.getsly.ai/auth/signup) and pick how to register:

<CardGroup cols={2}>
  <Card title="Google / GitHub SSO" icon="key">
    One-click with your Google Workspace or GitHub account. Email is auto-verified.
  </Card>

  <Card title="Email + password" icon="envelope">
    Pick an organization name, email, and password (minimum 12 characters). You'll get a confirmation link from Supabase Auth — click it to finish.
  </Card>
</CardGroup>

Your organization (tenant) is created with you as the owner. All data going forward is scoped to it.

## Step 2 — Pick your path

The dashboard asks how you want to get started:

<CardGroup cols={2}>
  <Card title="Guided wizard (recommended)" icon="sparkles" href="/onboarding/overview">
    Pick one of four use-case templates — API monetization, e-commerce, agent commerce, or recurring payments. Each walks you through wallet setup, funding, registration, and a test run in 10-15 minutes.
  </Card>

  <Card title="Jump to API keys" icon="code" href="/get-started/quickstart">
    Skip the wizard, grab the test API key, and wire up directly against the REST API.
  </Card>
</CardGroup>

## Step 3 — Use your test API key

Every new tenant gets a `pk_test_*` key minted automatically. Find it under **Settings → API Keys**, or call:

```bash theme={null}
curl https://sandbox.getsly.ai/v1/context \
  -H "Authorization: Bearer pk_test_..."
```

Expected response:

```json theme={null}
{
  "tenant_id": "ten_...",
  "environment": "test",
  "actor_type": "api_key"
}
```

You can mint more test keys for different environments (`local-dev`, `staging-server`, etc.) — all are audit-logged by name:

```bash theme={null}
curl -X POST https://api.getsly.ai/v1/api-keys \
  -H "Authorization: Bearer $EXISTING_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "staging-server",
    "environment": "test",
    "scopes": ["accounts:*", "transfers:*", "webhooks:read"]
  }'
```

The plaintext key is returned **once** — Sly stores only a hash. Save it to your secrets manager immediately.

## Step 4 — Request live access (when you're ready)

When sandbox testing is done and you want to move real money, the owner submits a one-time [**production-access declaration**](/get-started/production-access) from the dashboard. A Sly admin reviews and approves; once approved, `pk_live_*` keys can be created and the live-money paths unlock.

Until then, attempting to create a live key or call a money-moving endpoint with `X-Environment: live` returns `403 FORBIDDEN` — sandbox keeps working unrestricted.

## What's next

<CardGroup cols={2}>
  <Card title="Pick a wizard" icon="wand-magic-sparkles" href="/onboarding/overview">
    Fastest path to a working integration.
  </Card>

  <Card title="5-minute quickstart" icon="bolt" href="/get-started/quickstart">
    First API call + first transfer end-to-end.
  </Card>

  <Card title="Install the SDK" icon="cube" href="/sdks/node-sdk">
    `@sly_ai/sdk` for Node / TypeScript.
  </Card>

  <Card title="Production access" icon="vault" href="/get-started/production-access">
    The flow for unlocking live money movement.
  </Card>
</CardGroup>

## Troubleshooting

<AccordionGroup>
  <Accordion title="I created an account but the dashboard says my email isn't verified">
    Check your spam folder for the Supabase confirmation email (`noreply@getsly.ai`). Click the link to verify. Some production-access paths require email verification; sandbox does not.
  </Accordion>

  <Accordion title="I signed up but don't see the dashboard onboarding">
    Refresh the page. The onboarding state is computed server-side and can lag by a few seconds right after signup.
  </Accordion>

  <Accordion title="I have an old invite code from the closed beta">
    Invite codes still resolve at [/auth/signup/code](https://app.getsly.ai/auth/signup/code) — but you no longer need one. Use the direct signup at [/auth/signup](https://app.getsly.ai/auth/signup) instead.
  </Accordion>

  <Accordion title="I can't create a live API key">
    Live keys require [production access](/get-started/production-access). Submit the declaration from **Settings → Production Access**.
  </Accordion>
</AccordionGroup>
