> For the complete documentation index, see [llms.txt](https://docs.idlayr.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.idlayr.com/products/number-verification.md).

# Number Verification

Mobile phone numbers anchor identity across the consumer internet — signup, login, recovery, transaction confirmation, KYC. The legacy way to verify them is SMS OTP: send a one-time code, ask the user to type it back. SMS OTP is friction-heavy, vulnerable to phishing, and has been the persistent target of large-scale SIM-swap fraud.

**Number Verification** is the term for verifying a mobile phone number directly with the carrier — silently, without an OTP. The user types nothing; the network confirms the number. The trust anchor is the SIM card and the carrier's authoritative record, not a typed code.

IDlayr provides three Number Verification products under the `/v1/number-verification/` URI namespace. They share a family but differ in access model: **Secure SNA** and **Discovery** are device APIs (mobile SDK required), while **Reverse SMS** is a backend API (no SDK, just a native SMS-composer launch on the device).

## The three products

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Secure SNA</strong><br><code>Device API</code> <code>NV 1.0</code> <code>GA</code></td><td>Verify a number the user has provided is on their device, silently. Requires cellular data and the mobile SDK.</td><td><a href="/pages/eKHapKq8afdychVUdW6Q">/pages/eKHapKq8afdychVUdW6Q</a></td></tr><tr><td><strong>Reverse SMS</strong><br><code>Backend API</code> <code>Early Access</code></td><td>Verify a number the user has provided via the SMS channel. No SDK needed — the user sends an SMS from their native composer.</td><td><a href="/pages/MiWGkL0XFnF60ZBldlgN">/pages/MiWGkL0XFnF60ZBldlgN</a></td></tr><tr><td><strong>Discovery</strong><br><code>Device API</code> <code>NV 1.0</code> <code>Early Access</code></td><td>Retrieve the device's network-attached number silently. Requires cellular data and the mobile SDK.</td><td><a href="/pages/weN63TyKdwrRLW2nELCQ">/pages/weN63TyKdwrRLW2nELCQ</a></td></tr></tbody></table>

## At a glance

| Product                                                     | Channel              | SDK required | Cellular data required | Maturity     |
| ----------------------------------------------------------- | -------------------- | ------------ | ---------------------- | ------------ |
| [Secure SNA](/products/number-verification/secure-sna.md)   | Mobile data (NV 1.0) | Yes          | Yes                    | GA           |
| [Reverse SMS](/products/number-verification/reverse-sms.md) | SMS                  | No           | No                     | Early Access |
| [Discovery](/products/number-verification/discovery.md)     | Mobile data (NV 1.0) | Yes          | Yes                    | Early Access |

## Common ground

All three:

* Authenticate with an OAuth2 access token minted by your backend.
* Live under `/v1/number-verification/` on the IDlayr API.
* Use the same callback contract for terminal-status notifications.

Where they differ is the device-side path: Secure SNA and Discovery use the IDlayr mobile SDK to pin the verification to the cellular data interface. Reverse SMS uses the carrier's SMS channel as the trust anchor, so the device-side step is just a standard `sms:` URL — no SDK in the loop.

## Combining with other products

A common pattern: pre-check [Eligibility](/products/eligibility.md) before triggering one of these, and pair with [SIM Swap](/products/risk/sim-swap.md) when the use case is high-assurance authentication or fraud-sensitive transactions.

Number Verification + SIM Swap closes a specific attack vector. Secure SNA alone proves the device currently holds the number, but a fraudster's fresh SIM swap would also pass SNA. SIM Swap alone detects the recent SIM change but doesn't confirm the device holds the number. Used together, both signals are required, which closes the loop.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.idlayr.com/products/number-verification.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
