2FA, Recovery & Settings Verification
Step-up checks for 2FA, account recovery and settings changes, on a different channel than the login. With Reverse OTP the user sends the code to us, so someone who only knows the password cannot start it. Choose WhatsApp, Telegram, Reverse SMS or email.
Add an extra layer of security for sensitive user actions
Trigger Verification
User initiates 2FA, account recovery, or sensitive settings change. Request verification via their preferred channel.
Quick Confirmation
The user sends a code to us over WhatsApp, Telegram or SMS, or confirms by email with a magic link or a one-time code.
Action Confirmed
We verify proof of control and confirm the action. Secure 2FA, recovery, or settings update complete.
Verification Channels
Let users choose how they want to confirm sensitive actions
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/verifications \
-H "Authorization: Bearer pk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "phone",
"channel": "whatsapp",
"identifier": "+37069199199"
}'2. Verify the Proof Token
# Poll until the user has sent the code (step-up complete)
curl -X GET https://api.proof.holdings/api/v1/verifications/VERIFICATION_ID \
-H "Authorization: Bearer pk_live_YOUR_API_KEY"Response Example
{
"id": "507f1f77bcf86cd799439011",
"type": "phone",
"channel": "whatsapp",
"status": "pending",
"identifier": "+37069199199",
"challenge": {
"code": "X7K9M2",
"deep_link": "https://wa.me/15557766633?text=Verify%20X7K9M2",
"qr_code": "data:image/png;base64,...",
"expires_at": "2026-03-15T10:45:00Z"
}
}