> For the complete documentation index, see [llms.txt](https://docs.sourcedev.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sourcedev.pro/src-phone/overview.md).

# Overview

`src-phone` is a modular FiveM phone resource. The phone shell owns the physical frame, lock screen, status bar, Dynamic Island, common navigation, application switcher, notifications, control center, and home gesture. Built-in and third-party applications run inside that shell.

Current resource version: `1.0.3`

## Supported frameworks

* QBCore
* QBox
* ESX
* vRP
* Standalone

The selected framework is defined once in `shared/config.lua` and passed to the bridge layer. Garage, vehicle key, fuel, voice, character, job, and money operations are isolated behind bridge files so framework-specific changes do not need to be made in the web application.

## Runtime architecture

| Layer      | Responsibility                                                                                                            |
| ---------- | ------------------------------------------------------------------------------------------------------------------------- |
| `client/`  | Phone visibility, NUI callbacks, camera, calls, application bridges, router placement, and external application registry. |
| `server/`  | Persistence, validation, messaging, mail, social applications, cloud accounts, wallet, cellular data, and router state.   |
| `bridge/`  | Framework, garage, keys, fuel, voice, contacts, mail, messages, and service-directory integrations.                       |
| `shared/`  | Public configuration and shared Lua modules.                                                                              |
| `web/`     | React phone shell and built-in applications. Production uses `web/dist`.                                                  |
| `locales/` | Lua and JSON locale catalogs.                                                                                             |

## Included systems

The default package includes:

* Phone calls, optional video calls, call history, speaker routing, and voice integration.
* Messages, contacts, reactions, replies, read receipts, pins, media, and transfers.
* Mail, camera, gallery, notes, clock, voice memos, maps, music, news, and Yellow Pages.
* Z, MyFans, and Vibe social applications.
* Bank view, services directory, garage controls, vehicle tracking, and valet.
* MyCloud account-scoped settings and data.
* Crypto wallet balances, swaps, transfers, and transaction history.
* Placeable Wi-Fi routers, quota accounting, and personal cellular data plans.
* Light and dark themes, localized UI, configurable home layout, widgets, lock screen, and notifications.
* Versioned third-party application registration through a separate FiveM resource.

## Stable integration boundary

Third-party resources should use the exports documented in [API and Exports](/src-phone/api-exports.md). The `src-phone:server:*` and `src-phone:client:*` events used by built-in applications are internal transport. Their payloads may change and they should not be called directly by integrations.

Custom phone applications must use the external application contract described in [Custom Applications](/src-phone/custom-apps.md). This keeps application CSS, navigation, and overlays from modifying the phone header or Dynamic Island.

## Recommended reading order

1. [Installation](/src-phone/installation.md)
2. [Configuration](/src-phone/configuration.md)
3. [Database](/src-phone/database.md)
4. [API and Exports](/src-phone/api-exports.md)
5. [Custom Applications](/src-phone/custom-apps.md)
6. [Troubleshooting](/src-phone/troubleshooting.md)
