Get started

Quickstart

From install to verified user in five minutes. Each stack picks up the same four-step shape — install, initialize, ask for an OTP, verify it.

1. Grab your API keys

Sign in to the QuickAuth dashboard at app.quickauth.in and copy your qa_test_*** public key. Test keys never burn credits — every phone number verifies with the fixed OTP 123456.

Public vs secret

The qa_test_*** / qa_live_*** public key is safe to ship in your client bundle. The matching qa_secret_*** stays on your backend and is only used to mint short-lived session tokens — see Backend integration.

2. Pick your stack

Open the SDK page that matches what you’re building:

3. Wire your backend (5 lines)

For production traffic — never embed qa_secret_*** in a mobile app or browser bundle — expose a thin endpoint that mints a 10-minute session token. The SDK calls it whenever it needs to refresh.

// POST /api/quickauth-token
app.post('/api/quickauth-token', requireAuth, async (req, res) => {
  const r = await fetch('https://api.quickauth.in/v1/sdk/session', {
    method: 'POST',
    headers: {
      'Content-Type':    'application/json',
      'X-Client-Id':     process.env.QUICKAUTH_CLIENT_ID,
      'X-Client-Secret': process.env.QUICKAUTH_CLIENT_SECRET,
    },
    body: JSON.stringify({ scope: 'sdk' }),
  })
  res.json(await r.json())
})

4. Run your first OTP

Continue on the SDK page you opened above — each one has a copy-paste “first OTP” block under Headless OTP. You’ll be at a working OTP screen on real device in 5 minutes flat.