Ship secure email OTP verification in minutes, not weeks. Built for developers who value simplicity, speed, and zero vendor lock-in.
import { Auth2U } from '@auth2u/sdk';
// Initialize with your secret key
const auth = new Auth2U('af_live_...');
// Send OTP email — it's literally this simple
await auth.otp.sendEmail({
email: 'user@example.com',
type: 'login',
});
// Verify the code entered by user
const isValid = await auth.otp.verify({
email: 'user@example.com',
code: '482931',
});
console.log(isValid); // true ✅
We stripped away the complexity. What's left is a blazing-fast, developer-friendly authentication API that just works.
Average delivery time under 200ms. Our global edge network ensures OTPs arrive instantly, worldwide.
One-time passwords delivered to any inbox. Configurable expiry, rate limiting, and retry logic built-in.
SOC 2 Type II certified. End-to-end encryption. Brute force protection. Your users' data stays safe.
SDKs for JavaScript, Python, Go, Ruby, and PHP. RESTful API with crystal-clear documentation.
No more wrestling with complicated auth libraries or managing your own email infrastructure. Our REST API is intuitive, well-documented, and designed to get out of your way.
from auth2u import Client
# Initialize client
client = Client("af_live_your_secret_key")
# Send OTP to user's email
response = client.otp.email.send(
to="user@company.com",
purpose="verification",
)
print(response.success) # True
print(response.otp_id) # "otp_abc123..."
# Verify when user submits code
verification = client.otp.email.verify(
otp_id=response.otp_id,
code="847291", # User input
)
if verification.valid:
# Grant access! 🎉
grant_session(user)
From startups to enterprises, teams use Auth2U to handle user verification without the headache of building it themselves.
Verify customer identity at checkout to prevent fraud and reduce chargebacks. Seamless integration with existing payment flows.
Meet regulatory requirements for multi-factor authentication. Bank-grade security with audit logs and compliance reporting.
Secure account creation, password resets, and trade confirmations. Keep players safe without interrupting their experience.
Add passwordless login options and enhance existing auth systems. Reduce support tickets related to forgotten passwords by 90%.
HIPAA-compliant patient identity verification. Secure access to medical records and telehealth appointments with full audit trails.
Native SDKs for iOS and Android. Offline-capable verification flows. Deep linking support for seamless UX from email to app.
No hidden fees. No surprise charges. Pay only for what you use. All prices in MYR — because we're built here, for here.
Join thousands of developers who've ditched complex auth libraries for something that actually works. Get started in under 5 minutes.
All plans include our core features. Scale up as you grow — no contracts required.
Perfect for side projects and MVPs
Free forever
For growing startups and teams
Billed monthly or RM1,908/year
For large-scale deployments
Tailored to your needs
| Features | Starter | Pro | Enterprise |
|---|---|---|---|
| Monthly Price | Free | RM199/mo | Custom |
| OTP Messages / Month | 10,000 | 100,000 | Unlimited |
| Email OTP | |||
| SMS OTP | — | ||
| WhatsApp OTP | — | — | |
| Projects | 1 | 10 | Unlimited |
| Team Members | 1 | 5 | Unlimited |
| Custom Branding | — | ||
| Analytics Dashboard | Basic | Advanced | Full Suite |
| Webhooks | — | ||
| Support Level | Community | Priority Email | 24/7 Phone & Chat |
| SLA Guarantee | — | — | 99.99% |
| Compliance Certifications | — | — | SOC 2, ISO 27001 |
| On-Premise Deployment | — | — |
Have questions about pricing?
Follow our step-by-step guide to integrate Auth2U into your application.
Sign up for a free account and get your API keys instantly. No credit card required.
# Sign up at auth2u.com
# Get your API key from dashboard
API_KEY="af_live_your_key_here"
Install our SDK for your preferred language. We support all major frameworks.
# Node.js / JavaScript
npm install @auth2u/sdk
# Python
pip install auth2u
# Go
go get github.com/auth2u/go-sdk
Initialize the client and send your first OTP email. It's really that simple!
import { Auth2U } from '@auth2u/sdk';
const auth = new Auth2U(process.env.API_KEY);
await auth.otp.sendEmail({
email: 'user@example.com',
type: 'login'
});
/v1/otp/email/send
Sends a one-time password to the specified email address for verification purposes.
{
"email": "user@example.com",
"type": "login" | "signup" | "reset" | "verify",
"expiry": 300, // seconds (optional, default: 300)
"length": 6 // digits (optional, default: 6)
}
{
"success": true,
"otp_id": "otp_abc123xyz",
"message": "OTP sent successfully",
"expires_at": "2024-01-15T10:35:00Z"
}
/v1/otp/verify
Verifies the OTP code submitted by the user against the original request.
{
"otp_id": "otp_abc123xyz",
"code": "482931",
"email": "user@example.com"
}
{
"valid": true,
"verified_at": "2024-01-15T10:30:15Z",
"attempts_remaining": 2
}
import { Auth2U } from '@auth2u/sdk';
const auth = new Auth2U(process.env.AUTH2U_KEY);
// Express.js route example
app.post('/api/send-otp', async (req, res) => {
const { email } = req.body;
const result = await auth.otp.sendEmail({
email,
type: 'login'
});
res.json({ success: result.success });
});
app.post('/api/verify-otp', async (req, res) => {
const { email, code, otpId } = req.body;
const result = await auth.otp.verify({
email,
code,
otp_id: otpId
});
if (result.valid) {
// Create session / JWT
res.json({ authenticated: true });
} else {
res.status(400).json({ error: 'Invalid code' });
}
});
from auth2u import Client
from django.http import JsonResponse
from django.views.decorators.http import require_POST
client = Client("af_live_your_key")
@require_POST
def send_otp(request):
email = request.POST.get('email')
response = client.otp.email.send(
to=email,
purpose='verification'
)
return JsonResponse({
'success': response.success,
'otp_id': response.otp_id
})
@require_POST
def verify_otp(request):
otp_id = request.POST.get('otp_id')
code = request.POST.get('code')
verification = client.otp.email.verify(
otp_id=otp_id,
code=code
)
if verification.valid:
# Login user, create session
return JsonResponse({'status': 'ok'})
return JsonResponse(
{'error': 'Invalid code'},
status=400
)
Receive real-time notifications about OTP events directly to your server. Configure your webhook endpoint in the dashboard under Settings → Webhooks.
{
"event": "otp.verified",
"data": {
"otp_id": "otp_abc123",
"email": "user@example.com",
"type": "login",
"verified_at": "2024-01-15T...",
"ip_address": "203.106.x.x"
},
"timestamp": 1705315815,
"signature": "sha256=abc123..."
}
Everything you need to know about Auth2U. Can't find what you're looking for? Contact our team.
Auth2U is Malaysia's premier authentication API service that provides secure email OTP (One-Time Password) verification for web and mobile applications. We handle the complex infrastructure of sending and verifying authentication codes so you can focus on building your product.
Our free Starter plan includes 10,000 OTP messages per month at no cost — forever. No credit card required to sign up. This is perfect for side projects, MVPs, and small applications that are just getting started. You get access to all core features including our REST API, basic analytics, and community support.
Absolutely. Security is our top priority. We are SOC 2 Type II certified and comply with GDPR regulations. All data is encrypted in transit (TLS 1.3) and at rest (AES-256). We never store plaintext OTP codes — they're hashed immediately upon generation. Our infrastructure undergoes regular third-party security audits and penetration testing.
If you approach your monthly limit, we'll send you a notification at 80% usage. Once you hit your limit, additional OTP requests will return a 429 (Too Many Requests) status code until your cycle resets on the 1st of the next month. You can upgrade your plan at any time to increase your limits immediately, or purchase add-on packs for temporary spikes.
Yes! While our specialty is email OTP, Pro and Enterprise plans include SMS OTP capabilities. Enterprise plans also support WhatsApp Business API for OTP delivery. All channels use the same simple API interface — just change the `channel` parameter in your request.
Yes! Our Enterprise plan includes full white-label capabilities including custom branding on emails, dedicated subdomains, custom email templates, and even on-premise deployment options for organizations with strict data residency requirements. Contact our sales team to discuss your specific needs.
We provide official SDKs for the most popular languages and frameworks:
For any other language, you can use our REST API directly — it's language-agnostic!
Our average email OTP delivery time is under 200ms to the recipient's mail server. Actual inbox appearance depends on the recipient's email provider (Gmail, Outlook, etc.), but most users receive their codes within 30 seconds. We maintain global edge servers in Singapore, Tokyo, Frankfurt, and Virginia to ensure low latency worldwide.
Our support team is here to help you 24/7. Get in touch and we'll respond within minutes.
Last updated: January 15, 2024
By accessing or using Auth2U's services ("Services"), you agree to be bound by these Terms of Service ("Terms"). If you do not agree to these Terms, you may not use the Services. These Terms apply to all visitors, users, and others who access or use the Services.
Auth2U provides application programming interfaces (APIs) and related services for sending one-time passwords (OTPs) via email, SMS, and other channels ("Services"). The Services enable developers to integrate authentication functionality into their applications.
As a user of our Services, you agree to:
Our pricing is available at auth2u.com/pricing. Key terms regarding payment:
Your privacy is important to us. Please review our Privacy Policy which governs the use and protection of your information. We process personal data in accordance with the Personal Data Protection Act 2010 (PDPA) of Malaysia and applicable international regulations including GDPR.
To the maximum extent permitted by law, Auth2U shall not be liable for any indirect, incidental, special, consequential, or punitive damages, including without limitation, loss of profits, data, use, goodwill, or other intangible losses, resulting from your access to or use of (or inability to access or use) the Services.
We may terminate or suspend your account and bar access to the Service immediately, without prior notice or liability, under our sole discretion, for any reason whatsoever and without limitation, including but not limited to a breach of these Terms. Upon termination, your right to use the Service will immediately cease.
We may update these Terms from time to time. We will notify you of any changes by posting the new Terms on this page and updating the "Last updated" date. You are advised to review these Terms periodically for any changes. Changes to these Terms are effective when they are posted on this page.
If you have any questions about these Terms, please contact us at:
Auth2U Sdn Bhd
Legal Department
Email: legal@auth2u.com
Address: Kuala Lumpur, Malaysia
Last updated: January 15, 2024
Auth2U Sdn Bhd ("we," "our," or "us") is committed to protecting your privacy. This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you visit our website and use our authentication API services. Please read this privacy policy carefully. If you do not agree with the terms of this privacy policy, please do not access the site or our services.
We use collected information for:
We implement appropriate technical and organizational security measures to protect your personal data against unauthorized alteration, disclosure, destruction, or loss. This includes:
We retain your personal information only for as long as necessary to fulfill the purposes outlined in this Privacy Policy, unless a longer retention period is required by law. OTP-related data is automatically purged after 90 days. Account data is retained for the duration of your active account plus 1 year for legal compliance purposes.
Under PDPA 2010 and GDPR (where applicable), you have the right to:
To exercise these rights, please contact us at privacy@auth2u.com.
Your information may be transferred to and processed in countries other than your country of residence. These countries may have different data protection laws. Where required by law, we ensure appropriate safeguards are in place, such as Standard Contractual Clauses approved by the European Commission.
For any privacy-related inquiries, please contact our Data Protection Officer:
Data Protection Officer
Auth2U Sdn Bhd
Email: privacy@auth2u.com
Address: Kuala Lumpur, Malaysia
Find answers, guides, and resources to make the most of Auth2U.
Quick start guides, installation tutorials, and first integration steps.
View Guides →Complete endpoint documentation, parameters, response formats, and error codes.
View Docs →How to implement secure authentication flows and protect your users.
Learn More →Understanding invoices, upgrading plans, and managing subscriptions.
View Guide →Common issues, error explanations, and step-by-step fixes.
Find Solutions →Can't find what you need? Our team is here to help 24/7.
Get Help →Step-by-step guide to sending and verifying your first OTP in under 5 minutes.
Learn about our rate limiting policies and how to handle them gracefully.
Add your branding and customize the look and feel of OTP emails.
Configure webhooks to receive real-time notifications about OTP events.
Our support team typically responds within 2 hours during business hours, and within 24 hours for all inquiries.
Founded in 2023 in Kuala Lumpur, Auth2U was born from a simple frustration: why should authentication be so complicated? We set out to build the simplest, fastest, and most developer-friendly auth API in the region.
We believe every developer deserves access to enterprise-grade authentication without the enterprise-grade complexity. Our mission is to democratize security — making it easy for startups, indie hackers, and enterprises alike to protect their users.
Based in Malaysia, we understand the unique challenges of the Southeast Asian market — diverse languages, varying connectivity, and specific regulatory requirements. That's why we built Auth2U from the ground up to serve this region first.
Every millisecond counts. We obsess over performance so your users never wait.
Bank-grade encryption, SOC 2 certified, and audited regularly. No compromises.
Built by devs, for devs. Clean APIs, great docs, and zero vendor lock-in.
CEO & Co-founder
Ex-Google, Ex-Grab
CTO & Co-founder
Ex-Shopee, Ex-Airbnb
Head of Engineering
Ex-Meta, Ex-TikTok
Head of Product
Ex-Slack, Ex-Stripe
We're always looking for talented people who share our passion for building great developer tools.
We're a remote-first team distributed across Southeast Asia. We value impact over hours, outcomes over output, and people over processes.
Work from anywhere in SEA. Flexible hours. Async-friendly culture.
Above-market salaries. Equity for everyone. Annual bonuses.
Full medical coverage. Mental health support. Unlimited leave policy.
Kuala Lumpur / Remote • Engineering
Remote • Engineering
Remote • Infrastructure
Remote • Developer Experience
Kuala Lumpur • Customer Success
We're always interested in meeting talented people. Send us your resume and tell us why you'd be a great fit.
Whether you have a question about features, pricing, or anything else, our team is ready to answer all your questions.
hello@auth2u.com
We'll respond within 24 hours
+60 3-2181 8888
Mon-Fri, 9am-6pm MYT
Menara UOA Bangsar,
Kuala Lumpur, Malaysia
Join our partner program and earn recurring revenue while helping your clients implement world-class authentication. It's a win-win-win.
Recurring commission on every customer you refer. Paid monthly, no caps.
Joint webinars, case studies, and promotional materials to help you sell.
Exclusive Slack channel, early access to features, and quarterly partner summits.
For individuals and freelancers
Commission for 12 months
For agencies and consultancies
Commission for 24 months
For platforms and ecosystems
Lifetime revenue share
Fill out our partnership application form and our partnerships team will reach out within 48 hours.