# /docs/quickstart

import RunExample from '@/components/RunExample'
import PairDemo from '@/components/PairDemo'

# Quickstart

Install the SDK, pair with the device, make your first call. Expect this to take about 5 minutes.

## 1. Install the desktop application

The SDK talks to a local REST API served by the KeepKey desktop application on `http://localhost:1646`. Install and launch it first.

[Download KeepKey Desktop →](https://keepkey.com/desktop)

Connect your KeepKey hardware device via USB and unlock it.

## 2. Install the SDK

```bash
npm install keepkey-vault-sdk
# or
pnpm add keepkey-vault-sdk
# or
bun add keepkey-vault-sdk
```

Zero dependencies. Native `fetch`. Works in browser, Node, Bun, and edge runtimes.

## 3. Pair your app

Pairing is one button press. Click below — the desktop application will show an approval dialog, you approve, and the API key comes back.

<PairDemo />

In code, the same flow looks like this:

```ts
import { KeepKeySdk } from 'keepkey-vault-sdk'

const sdk = await KeepKeySdk.create({
  serviceName: 'My App',
  serviceImageUrl: 'https://example.com/icon.png',
})

// Save the key so the next run skips the approval prompt
localStorage.setItem('keepkey-api-key', sdk.apiKey!)
```

On subsequent runs, pass the saved key back in to skip the approval dialog:

```ts
const sdk = await KeepKeySdk.create({
  apiKey: localStorage.getItem('keepkey-api-key') ?? undefined,
  serviceName: 'My App',
})
```

## 4. Make your first call

Derive an Ethereum receive address and show it on the device for visual verification:

<RunExample id="get-eth-address" />

Click **Run** above. The docs will pair with your local desktop application (approve the prompt if it appears), then call the real API. The result comes back below.

## Next steps

- **[Authentication](/docs/authentication)** — how pairing, API keys, and device approval work
- **[SDK](/docs/sdk)** — canonical usage patterns for every chain
- **[SDK Reference](/docs/reference/api)** — full typed API reference
- **[REST Reference](/docs/reference/rest)** — interactive OpenAPI explorer
