# otpmock > otpmock is a hosted mock SMS inbox for automated tests. In a test or staging environment, an app sends its SMS verification codes (OTP) to otpmock instead of a real SMS provider; tests then read the code over HTTP. It emulates the SMS APIs of Twilio (Messaging, Verify v2), Vonage (SMS, Messages, Verify v2), AWS SNS, Infobip, Sinch, Bird, Plivo, Netgsm, İleti Merkezi, Verimor and Mutlucell, each tested with the provider's official Node.js SDK, and also has a provider-neutral HTTP API. No real SMS is ever sent. Use otpmock only in test, CI, preview and staging environments. Production must keep using the real SMS provider. ## Docs for AI assistants - [Complete integration guide](https://otpmock.com/llms-full.txt): everything needed to integrate otpmock into a project in one file: decision tree, copy-paste code, full API reference, pitfalls and a verification checklist. Read this before making changes. ## Docs for humans - [Providers](https://otpmock.com/providers/): setup for each emulated SMS provider. - [Guides](https://otpmock.com/guides/): Playwright, Cypress and Twilio Verify walkthroughs. - [Documentation](https://otpmock.com/docs): the same material as a web page. - [Pricing](https://otpmock.com/#pricing): plans and monthly message allowances. ## Files to copy into a project - [otpmock.ts](https://otpmock.com/sdk/otpmock.ts): dependency-free test helper (TypeScript): `randomPhone()`, `waitForCode()`, `clear()`, `send()`. - [otpmock.mjs](https://otpmock.com/sdk/otpmock.mjs): the same helper as plain JavaScript (for Cypress config and plain Node). - [twilio-node-client.mjs](https://otpmock.com/sdk/twilio-node-client.mjs): custom HTTP client that routes the official `twilio` Node.js SDK to otpmock.