Verification codes your users will actually remember
Replace frustrating six-digit codes with memorable two-word phrases. More secure than traditional codes, infinitely better user experience.
Why developers choose WordAuth
Built for modern authentication flows
Better Security
Over one million unique word-pairs provide better security compared to six-digit codes.
Better UX
Users remember words better than numbers. Reduce friction and increase conversion rates.
Easy Integration
Drop-in replacement or addition to your existing verification flow.
Global Support
Works seamlessly across languages and cultures with our carefully curated word lists.
How it works
Simple integration, powerful results
User requests verification
Your app calls our API when a user needs to verify their identity.
We generate a word pair
Our system randomly selects two words from our curated lists - like "Swift Falcon".
User enters the code
They type two memorable words instead of struggling with digit sequences.
import { WordAuth } from "wordauth";
const wordauth = new WordAuth("sk_live_your_api_key");
// Generate a word pair
const { otp_id, code } = await wordauth.generate();
// code: "blue·whale"
// Validate the user's input
const result = await wordauth.validate({ otp_id, code: userInput });
if (result.valid) {
console.log("Verified!");
}How we keep word pairs safe
Every word in our corpus goes through a rigorous multi-stage sanitization pipeline before it can appear in a verification code.
Profanity & Slur Filtering
Every candidate word is run against an extensive blocklist covering profanity, slurs, and derogatory speech.
Cross-Cultural Review
Words that are innocuous in one language but offensive or inappropriate in another are flagged and removed, ensuring pairs are safe for a global audience.
Visual Ambiguity Removal
Words that are visually similar (e.g. "rn" vs "m", "l" vs "1") are excluded to prevent transcription errors and impersonation of legitimate codes.
Phonetic Disambiguation
Homophones and near-homophones are culled so that when a word pair is read aloud — in a support call or over the phone — there is no ambiguity about what was said.
Semantic Pair Validation
After individual words pass all checks, the generated pair itself is evaluated to ensure the combination does not form an unintended phrase, idiom, or offensive sequence.
Continuous List Maintenance
Our word corpus is versioned and reviewed on an ongoing basis. Newly reported words are triaged within 24 hours and removed from rotation immediately upon confirmation.
Launching June 1st
Enter your email and we'll notify you the moment we go live.