Telegram Verification

Verify phone numbers through Telegram's secure messaging platform. Privacy-focused, fast, and developer-friendly.

Proof Holdingsproof.holdings · verification api
AttestationNº 2026-0043
subject+370 691 •• •99
channelTelegram
methodReverse OTP
challengeVRF-7715 — sent by the user, not to them
receivedVRF-7715 · 14:02:07 UTC
verdictControl proventhe code never travels to the handset
Mintedph_ctl_3a0b…f52 · ES256
How It Works

Secure verification through Telegram bot interaction

§ 01

Create Request

Call our API with the phone number. We return a challenge code and Telegram bot deep link.

§ 02

User Messages Bot

The user opens the link in Telegram and taps 'Share contact' — Telegram sends us the number the account is registered to.

§ 03

Instant Verification

We check that the shared number matches and return a signed proof token: poll GET /verifications/:id, or wait on its event stream.

API Integration

Integrate Telegram verification seamlessly

1. Create Verification Request

curl -X POST https://api.proof.holdings/api/v1/verifications \
  -H "Authorization: Bearer pk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "phone",
    "channel": "telegram",
    "identifier": "+37069199199"
  }'

2. Verify the Proof Token

# Poll for verification status
curl https://api.proof.holdings/api/v1/verifications/VERIFICATION_ID \
  -H "Authorization: Bearer pk_live_YOUR_API_KEY"

Response Example

{
  "id": "507f1f77bcf86cd799439011",
  "type": "phone",
  "channel": "telegram",
  "status": "pending",
  "identifier": "+37069199199",
  "challenge": {
    "code": "A7B3X9",
    "expires_at": "2026-03-15T11:00:00Z",
    "send_to": "@ProofHoldingsBot",
    "instruction": "Open Telegram and tap the button to share your phone number",
    "deep_link": "https://t.me/ProofHoldingsBot?start=507f1f77bcf86cd799439011"
  },
  "created_at": "2026-03-15T10:50:00Z"
}