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

# Dashboard

> A guide to the Bondify developer console — projects, settings, users, analytics, sessions, and webhooks.

The Bondify Dashboard lives at [bondify.dev](https://bondify.dev). It's where you create and manage projects, monitor authentication, and configure billing.

## Projects

### Create a project

<Steps>
  <Step title="New Project">
    Sign in, click **New Project**, enter a name (e.g. "My App — Production"), and create it.
  </Step>

  <Step title="Save your keys">
    Open the project's **Settings → API Keys**. The `secret_key` is shown only on creation or regeneration — copy it now.
  </Step>
</Steps>

A project's detail view has two tabs: **Settings** and **Users**.

## Settings

### API Keys

| Key                            | Notes                                                                                                                          |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| **Project ID** (`proj_…`)      | Public. Used in your frontend / mobile SDK.                                                                                    |
| **Secret Key** (`sk_…`)        | Server-to-server `generate`/`verify`. Shown once; **Regenerate** to issue a new one.                                           |
| **Webhook Secret** (`whsec_…`) | Verifies the proof JWT **and** webhook signatures — this is the value `@bondify/node` needs. Reveal or **Regenerate** it here. |

<Note>There is no "public key" in Bondify — the client identifies your project with the `project_id` directly.</Note>

### Project settings

| Setting                         | Description                                                                                                                      |
| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| **Status**                      | Toggle off to pause all auth for the project without deleting it.                                                                |
| **Mobile SDK**                  | Enables the public `/generate` and `/verify` endpoints (no secret key on the client) — required for browser/mobile integrations. |
| **Request phone number** (Pro+) | After login, prompts the user to share their phone via Telegram. Numbers appear in the **Users** tab.                            |
| **Webhook URL**                 | HTTPS endpoint where Bondify POSTs `auth.confirmed` / `auth.cancelled` events (HMAC-signed).                                     |
| **Bot mode**                    | **Shared Bot** (the Bondify bot) or **Custom Bot** (white-label with your own bot token from @BotFather) — Custom is Pro+.       |
| **Bot language**                | The language the bot uses when messaging your users (English or Russian).                                                        |
| **IP allowlist** (Pro+)         | One IP or prefix per line. Server-to-server `/generate` and `/verify` are allowed only from these addresses. Empty = allow all.  |

### Regenerating keys

Both keys are regenerated from the **API Keys** section (not a separate danger zone). Update your servers before regenerating in production, or proofs/webhooks will fail until you do.

### Deleting a project

The **Danger Zone** at the bottom of Settings deletes the project. You'll type the project name to confirm. This permanently removes its sessions — there's no undo.

## Users

The **Users** tab lists the Telegram users who have authenticated with this project: name, username, Telegram ID, first/last seen, and phone (when phone collection is enabled).

{/* You can **block** a user here to stop them from authenticating, and unblock them later. */}

## Analytics

The Analytics view summarizes authentication over a window of up to **90 days**:

* **Unique users** — distinct Telegram accounts in the period.
* **Conversion rate** — confirmed ÷ total, shown as an integer percentage (e.g. `94%`).
* **Funnel** — `pending`, `confirmed`, `expired`, and `cancelled` counts.
* **Daily** — sessions and unique users per day.
* A per-project breakdown when you have more than one project.

## Sessions

The Sessions (logs) view shows recent sign-in attempts within your plan's retention window: `session_token`, project, Telegram identity (when confirmed), status (`pending` / `confirmed` / `expired` / `cancelled` / `used`), and timestamps.

## Webhooks

On **Pro and Business**, the Webhooks view lists every delivery attempt with its status, HTTP response code, attempt number, the event, and the last error. The persistent retry queue itself runs on all plans; the delivery log is the Pro+ addition.

{/* — and lets you re-trigger a failed delivery. manual retry are the Pro+ additions. */}

## Billing & balance

The billing area shows your current plan and **MAU** usage (monthly active users, counted across all projects). Plans:

| Plan               | MAU included | Log retention |
| ------------------ | ------------ | ------------- |
| Hobby (free)       | 1,000        | 1 day         |
| Pro (\$20/mo)      | 10,000       | 14 days       |
| Business (\$60/mo) | 50,000       | 90 days       |

Over-limit MAU are billed at **\$0.02 each** from a prepaid **balance** you top up — there are no automatic card charges for overage. New accounts start with a **7-day free trial of Pro**.
