> ## Documentation Index
> Fetch the complete documentation index at: https://docs.prelude.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Multi-Routing and Multi-Channel delivery

> Learn how Prelude partners with multiple providers and channels to guarantee the highest possible delivery rate at the lowest possible cost.

## How it works

Prelude partners with many <Tooltip tip="An intermediary between a carrier and consumer APIs. For example, Twilio and Routee are providers.">providers</Tooltip> to guarantee the highest possible delivery rate at the lowest possible cost. We also use multiple <Tooltip tip="A channel is the underlying technology used to transport OTP codes. SMS, RCS, WhatsApp and Viber are examples of these technologies.">channels</Tooltip> to reach your users thanks to our
**routing engine** which compares all available routes and selects the best one for each individual user.

Prelude is constantly keeping and updating statistics on the conversion rate for each provider/channel pair. To measure these rates, we send a unique OTP for each attempt (retry). This helps us pinpoint exactly which provider/channel pair successfully converted the user.

<Note>
  For example, if your user is in an area with poor cellular network coverage
  and has an Android phone, Prelude could give priority to RCS or WhatsApp
  rather than SMS to deliver the OTP as these channels are known to be more
  likely able to reach the user
</Note>

## Retries and fallback

When an attempt fails to deliver, or when your user requests a new code, Prelude creates a new attempt on the **next best available route** (ranked by the same cost and conversion criteria), while excluding routes already tried in this verification.

Because routing is decided per attempt across every available route, a retry is **not guaranteed to change channels**. The next route may be a different provider on the same channel or a different channel entirely, depending on which one ranks best at that point. For example, an undeliverable WhatsApp attempt is followed by whichever route ranks best next, which may be another non-SMS route rather than SMS.

Each non-SMS channel (such as WhatsApp, RCS, Viber, Telegram or Zalo) is used **at most once** within a verification. SMS is the exception: it can be attempted multiple times across retries, on different providers.

If you want a specific channel to be prioritized, set `preferred_channel` on your request. Prelude prioritizes that channel on the first attempt and keeps preferring it on retries while an untried route on that channel remains; once those are exhausted, retries fall back to the next best available route.

To restrict the channels themselves rather than only their priority, set `channels` instead: it lists the channels the verification may use, in the order they are tried. Omitted channels are never used, so retries never fall back to them. Unlike `preferred_channel`, `channels` is only read on the request that creates the verification: the list is recorded on the verification and applies for its whole lifecycle, so sending `channels` on a retry has no effect. Every channel you list must be active in the destination country, otherwise the request is rejected. The two options are mutually exclusive. `channels` is disabled by default; contact support to enable it.

## Strategic Trade-offs

You can configure the routing engine to better fit your needs using **Strategic Trade-offs**. Strategic Trade-offs are a set of 3 options that you can use to
configure the routing engine per country: **prioritize price**, **balanced**, and **prioritize conversion**.

* **prioritize price** will prioritize less expensive <Tooltip tip="A route is a combination of a carrier and a channel. A carrier can offer different channels.">routes</Tooltip> at the expense of conversion rate.
* **balanced** will try to find the best compromise between cost and conversion rate.
* **prioritize conversion** will give priority to the <Tooltip tip="A route is a combination of a carrier and a channel. A carrier can offer different channels.">route</Tooltip> with the highest conversion rate, even if it means paying a bit more.

<Info>
  We recommend using the default `balanced` option for most use cases and
  selecting `conversion` for countries that are important to you. The `cost`
  option can be used for cost reduction.
</Info>

To configure a country's strategic trade-off, click on the **Strategy** button in the [Dashboard](https://app.prelude.so).
