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

# Introduction

> One API to send one-time passwords over Telegram and SMS, and to send transactional SMS from your own sender ID.

OTPBay verifies phone numbers. You send us a phone number, we deliver a one-time code over Telegram or SMS, and you check the code your user types in. When Telegram can't reach someone, OTPBay switches to SMS on its own.

You pay per message from a prepaid USD balance. There are no subscriptions or minimums, and new accounts start with \$1.00 of free credit.

<Columns cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Verify your first phone number in about five minutes.
  </Card>

  <Card title="API reference" icon="square-terminal" href="/api-reference/introduction">
    Every endpoint, with a playground to try requests.
  </Card>
</Columns>

## Pick an API

<Columns cols={3}>
  <Card title="Verify" icon="shield-check" href="/guides/verify">
    Start a verification and check the code. OTPBay generates the code, picks the channel and falls back to SMS.
  </Card>

  <Card title="SMS" icon="message" href="/guides/sms">
    Send any text message from an approved alphanumeric sender ID.
  </Card>

  <Card title="Telegram" icon="telegram" href="/guides/telegram">
    Send a code straight to a Telegram account, for less than an SMS.
  </Card>
</Columns>

<Tip>
  For sign-up and login codes, use **Verify**. It handles code generation, expiry, retry limits, fallback and refunds for you. Use the SMS and Telegram APIs directly only when you need full control.
</Tip>

## How it fits together

1. Create a project in the [dashboard](https://app.otpbay.com) and copy an API key.
2. Call the API from your backend with `Authorization: Bearer <key>`.
3. Follow each message with its `sid`, or receive [webhooks](/webhooks) when its status changes.
4. Watch costs, refunds and delivery in the dashboard's **Analytics** and **Ledger** pages.

## Learn more

<Columns cols={2}>
  <Card title="Authentication" icon="key" href="/authentication">
    API keys and the IP allowlist.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/webhooks">
    Get status updates pushed to your server.
  </Card>

  <Card title="Errors" icon="triangle-exclamation" href="/errors">
    Status codes and every error code the API returns.
  </Card>

  <Card title="Billing" icon="wallet" href="/billing">
    Prices, charges and automatic refunds.
  </Card>
</Columns>
