Unified OTP flow
Start, check, status, wallet and webhooks behind one integration.
OTPilot is a single API for sending and checking OTP across MAX, VK, Telegram, Email and SMS fallback. Built for teams that want lower OTP cost, safer rollout and full delivery visibility.
Send a verification, let OTPilot pick the channel, then check the code. Idempotency, status endpoints and signed webhooks are part of the platform contract.
1const verification = await otpilot.verifications.create({ 2 external_user_id: "user_123", 3 purpose: "login", 4 phone: "+79991234567", 5 email: "user@example.com", 6 allowed_channels: ["max", "vk", "email", "sms"] 7}, { idempotencyKey: "login-4921" }); 8 9await otpilot.verifications.check(verification.id, { 10 code: "123456" 11});
OTPilot confirms channel ownership. Your product still decides whether the user can sign in, pay, reset a password or change sensitive settings.
Start, check, status, wallet and webhooks behind one integration.
Simulate approvals, failures, expirations and webhook events before sending real codes.
Use legal low-cost channels first and keep SMS as the reliable last mile.
Track cost per approved verification, channel mix and savings versus SMS-only.
Resend made email testing calm. OTPilot needs the same for verification: predictable fake users, synthetic delivery events and webhook replay without accidental real OTP sends.
Receive signed events for the state changes your product cares about, not a noisy stream of provider internals.
1{ 2 "type": "verification.approved", 3 "verification_id": "ver_9C2Z...", 4 "external_user_id": "user_123", 5 "purpose": "login", 6 "channel": "max", 7 "cost": 0.20, 8 "sms_only_estimate": 7.00, 9 "savings": 6.80 10}
Cheap delivery is only useful when it is allowed and reliable. OTPilot filters channels by country, segment and client constraints before optimizing the route.
The customer cabinet should show what finance, product and support need: verification history, channel mix, wallet, cost per approved and exportable savings reports.
The number that matters more than raw message price.
How much traffic moved into lower-cost enrolled channels.
Reports for finance, support and operating reviews.
Bring the same developer-first delivery experience to login codes, registration, payment confirmation and sensitive actions.