Skip to content

DarkMarket

DarkMarket is a clandestine app for lb-phone: a parallel network where your players trade away from prying eyes. Encrypted channels joined by code, a black market of RP listings and private messages, all wrapped in a "terminal" aesthetic.

Overview

The app is downloaded from the phone's App Store and revolves around three areas:

  • Encrypted channels — private group chats joined with an 8-character access code. Each member uses a per-channel alias: their real number never leaks.
  • Black market — RP listings sorted by category (weapons, substances, services…), with multiple photos per listing and real-time broadcasting.
  • Private messages (DMs) — contacting a seller opens a one-to-one conversation, with an unread badge.

Features

  • Random access codes — confusion-free alphabet (no I, O, 0 or 1).
  • Per-channel aliases — your real number stays hidden.
  • Multi-photo listings — native gallery or URL, swipeable on the listing page.
  • Built-in DMs — direct contact with the seller and an unread badge.
  • Location sharing — send your position; the recipient sets a GPS waypoint in one tap.
  • GIFs, emojis and gallery photos — via lb-phone's native pickers.
  • Editable profile — username, avatar and bio.
  • Native lb-phone notifications.
  • Real-time — instant broadcasting of messages and listings.
  • Anti-spam — per-event rate limiting and a blacklisted-word filter.
  • 6 languages — English, French, Spanish, German, Italian, Portuguese.

Compatibility & dependencies

DependencyStatusRole
lb-phoneRequiredHost phone for the app
oxmysqlOptional (at runtime)Data persistence

NOTE

If oxmysql is missing at startup, the app automatically falls back to memory mode: everything works, but data is lost when the resource restarts. Handy for testing, not recommended for production.

Technical overview

ItemDetail
FrontendVue 3 + TypeScript (UI served in an iframe by lb-phone)
BackendLua (client + server)
Persistenceoxmysql, with in-memory fallback if oxmysql is absent
Languages6 (en, fr, es, de, it, pt), locales/*.json files
DatabaseCreated automatically on start, or via installation.sql

The UI talks to the backend through lb-phone's fetchNui bridge; the server broadcasts new messages, DMs and listings in real time. The app's internal identifier is darkmarket.

Next steps