> For the complete documentation index, see [llms.txt](https://mercure-technologies.gitbook.io/xprem/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mercure-technologies.gitbook.io/xprem/introduction.md).

# Introduction

{% hint style="info" %}
**xprem is the new name of Expo Open OTA** (expo-open-ota). We renamed the project to respect Expo's trademark; the server, the code and the maintainers are the same, and the GitHub repository is [github.com/mercuretechnologies/xprem](https://github.com/mercuretechnologies/xprem) (links to the old name redirect there). xprem is not affiliated with, sponsored or endorsed by Expo.
{% endhint %}

xprem is a complete, self-hosted control plane for Expo apps.\
It implements the `expo-updates` and `expo-observe` protocols to deliver over-the-air updates and collect crash reports and runtime telemetry from your production apps, on infrastructure you own.

Your app stays a standard Expo app. xprem does not ship a custom native client and does not fork any Expo library. **If it works with EAS Update, it works with xprem.**

On top of the protocols, xprem gives you the tooling you would otherwise lose by leaving a managed service: a dashboard to manage branches, channels and releases, progressive rollouts, release health monitoring, and a publishing CLI that fits into your existing CI.

### Why xprem? <a href="#why-self-host-your-ota-update-server" id="why-self-host-your-ota-update-server"></a>

* **You keep control of your infrastructure**. Update bundles, release metadata and telemetry live on your servers and your storage, in the region you choose. For teams with compliance requirements, data-residency constraints, or apps that must run in an air-gapped environment, this is the difference between shipping and not shipping.
* **Your costs are predictable**. A managed service bills you as your user base grows. xprem runs on a single Go binary and the storage you already pay for, so serving ten thousand users or ten million is a hosting decision, not a pricing tier.
* **You do not trade tooling for independence**. Self-hosting expo-updates usually means giving up everything around the protocol: no dashboard, no progressive rollouts, no visibility on how a release behaves in production. xprem ships all of it, so leaving the managed service does not mean going back to publishing blind.
* **You stay in the Expo ecosystem**. No custom client, no forked libraries, no migration path to regret. The day xprem no longer fits, your app is still a standard Expo app.

<p align="center"><a href="/pages/eqqoLwR3UzZkYWsTPuCy" class="button primary" data-icon="rocket">Quick start</a></p>


---

# 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://mercure-technologies.gitbook.io/xprem/introduction.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.
