Use Case

2FA, Recovery & Settings Verification

Multi-channel 2FA where the user initiates. Reverse OTP means users send codes TO you - attackers can't intercept what they didn't start. Choose Telegram, WhatsApp, Reverse SMS, email, or wallet signature. Different channel than login = actual second factor.

Proofproof.holdings · verification api
Step-up recordNº 2026-0110
factorWhatsApp — chosen channel
methodReverse OTP step-up
challengea different channel than the login
received14:44:03 UTC
verdictStep-up provenan attacker can't intercept what they didn't start
Mintedctrl_4c9b…e65 · ES256
How It Works

Add an extra layer of security for sensitive user actions

§ 01

Trigger Verification

User initiates 2FA, account recovery, or sensitive settings change. Request verification via their preferred channel.

§ 02

Quick Confirmation

User sends a code via WhatsApp, Telegram, SMS, clicks an email magic link, or signs with their wallet.

§ 03

Action Confirmed

We verify proof of control and confirm the action. Secure 2FA, recovery, or settings update complete.

API Integration

Add 2FA and recovery verification to your app in minutes

1. Create Verification Request

curl -X POST https://api.proof.holdings/api/v1/auth/sessions   -H "Content-Type: application/json"   -d '{
    "channel": "whatsapp",
    "phone_number": "+37069199199"
  }'

2. Verify the Proof Token

# Poll session status (user sends message to verify)
curl -X GET https://api.proof.holdings/api/v1/auth/sessions/SESSION_ID

Response Example

{
  "id": "507f1f77bcf86cd799439011",
  "type": "login",
  "channel": "whatsapp",
  "status": "pending",
  "deep_link": "https://wa.me/14155238886?text=LOGIN_X7K9M2",
  "qr_code": "data:image/png;base64,...",
  "expires_at": "2026-03-15T10:40:00Z",
  "instructions": "Open WhatsApp and send the message to log in"
}