# Fanly β Creator Subscription App for FiveM
A full creator-economy app that lives inside your players' phone. Posts, monthly subs, bundles, tips, pay-per-view, paid DMs, ranked feed, creator studio β all paid through the player's in-game bank.
**Drop-in across phones and banks.** Auto-detects the phone resource and the banking resource at runtime β no patching, no forks. Ships as one resource that runs on whatever your server already uses.
---
## Why server owners add Fanly
A real creator economy, not a roleplay prop. Players sign up the first time they open the app, flip one toggle to become a creator, set their own pricing, and start earning. Fans subscribe monthly, buy bundles, send tips, and unlock pay-per-view posts. Every payment is a real bank transaction on your server.
Built-in money sink. Configurable platform fee on every credit (subs, tips, PPV) drains money from the economy with each transaction β server owners control the cut, 0β50%.
Server-side ranked feed. Posts are scored by freshness, engagement, monetization signal, creator affinity, and per-viewer fatigue. Anti-clustering caps consecutive posts from the same creator. Hidden posts stay gone. Tunable from `config.lua` β no UI rebuild needed.
---
## Feature breakdown
### π€ Profiles & creator mode
Sign-up with handle, display name, password β own auth, separate from framework login
Avatar, banner, bio
One-toggle creator mode
Per-creator pricing: monthly price + 3 / 6 / 12-month bundle discounts
DM privacy: free / subscriber-only / paid (creators set their own DM price)
Promo codes and free trials with admin-capped percentages
### π Posts
Free, subscriber-only, or pay-per-view
Text + image OR text + video (mp4 / webm, server-validated extensions, configurable duration cap)
Like, comment, bookmark, share, hide / not-interested
Per-subscriber notification fan-out on new posts
Server-side broadcast so every connected client's feed refreshes without a manual reload
### π³ Subscriptions
Monthly subs
3 / 6 / 12-month bundles with creator-set discounts (per-bundle admin caps)
Free trials (one-shot per creator, never auto-renew)
Promo-code discounts with expiry dates
Auto-renew with cancel-any-time (keeps access until period end)
Background renewer auto-charges fans, downgrades on payment failure, posts notifications
### π° Tips
Send a tip on any post or profile with an optional message
Configurable min / max amounts (server-enforced)
### π Pay-per-view
Locked posts with price tag and preview
One-time unlock, lifetime access for that fan
Per-PPV pricing within admin-set bounds
### π¬ Direct messages
1:1 chats between any two players
Free / subscriber-only / paid DM modes per creator
Active subs auto-bypass paywalls
Read receipts, unread counters
Media in DMs (same image / video rules as posts)
### π Ranked feed
Personalized Home, Subscribed, and Discover feeds
Deterministic server-side scoring: freshness decay, engagement weights, creator affinity, popularity, PPV unlock signal, seen-post penalty
Anti-cluster: configurable max consecutive posts from same creator
Per-viewer impression telemetry with rate-limit + cooldown to stop metric inflation
Search across creators and posts
### π¨ Creator studio
Lifetime earnings dashboard
Full ledger of every credit (subs, tips, PPV) with platform-fee line items
Withdraw earnings to in-game bank account
Per-creator pricing controls in one place
### π Notifications
In-app inbox: new posts from subbed creators, sub renewals, tips received, PPV unlocks, comments, DMs
Optional outbound SMS / mail via the host phone (rebrandable sender)
Mark-read and mark-all-read
### π Banking integration
Auto-detects and routes payments through the first started provider:
`pc-banking`, `qb-banking`, `okokBanking`, `Renewed-Banking`, `wasabi_banking`, `jaksam_billing`, `fd_banking`, `tgg-banking`, `crm-banking`, `prism_banking`, `p_banking`, `justbanks`, `RxBanking`, `esx_addonaccount`, framework-native fallback, or fully internal wallet (test mode)
Force a specific provider in `config.lua` if auto-detect picks the wrong one
### π± Phone integration
Auto-detects host phone at runtime β single artifact across every supported phone:
`lb-phone`, `yseries`, `gksphone`, `qs-smartphone`, `qs-smartphone-pro`, `17mov_Phone`
Per-host icon handling (PNG for most, inline SVG for 17mov)
Live push from server β app for new posts, sub renewals, tips, comments, DMs
### π Authentication
Own login (handle + password) β separate from framework identifier
Persistent session token (configurable expiry, default 24h) stored on the phone for auto-resume
Cross-account safety: pure cross-account sign-ins stay RAM-only, never persisted, so a leaked token can't silently resume someone else's profile
Forgot-password flow with framework-identifier verification
### π Localization
Ten languages out of the box: English, Spanish, French, German, Italian, Portuguese, Swedish, Chinese, Japanese, Arabic.
### βοΈ Configurable everything
Platform fee percentage (money sink)
Pricing bounds: min/max monthly, tip, PPV; per-bundle discount caps; max trial days; max promo percentage
Subscription cycle lengths (monthly / 3 / 6 / 12-month) β game-time aware, defaults match pc-banking's 7-real-day in-game month
Renewer wake interval
Ranked-feed weights (freshness, engagement, monetization, affinity, popularity, fatigue)
Affinity deltas per interaction (open, like, comment, share, bookmark, PPV, sub, tip, hide)
Media whitelist (image + video extensions, duration cap)
Phone notification sender names (rebrand surface)
---
## Dependencies
`oxmysql`
`ox_lib`
One of: QBCore / Qbox / ESX (auto-detected)
One of the supported phone resources (auto-detected)
Optional: any of the supported banking resources β falls back to framework-native or internal wallet otherwise
---
## What's in the box
`fanly` β the resource (server, client, NUI build, SQL bootstrap)
Auto-running schema (`fanly_profiles`, `fanly_posts`, `fanly_subs`, `fanly_tips`, `fanly_ppv_unlocks`, `fanly_dms`, `fanly_notifications`, `fanly_earnings`, `fanly_post_metrics`, ranking tables) β fresh-install ready, idempotent on restart
Ten localization files
Configurable everything in one `config.lua`
---
## Technical highlights
oxmysql + ox_lib
QBCore / Qbox / ESX bridge (auto-detect, zero hard deps)
Server-side validation on every mutation β pricing, paywall kind, media URLs, durations, sub state, DM gating
Atomic earnings ledger with per-payout rows
Session-aware auth (multi-character safe, own-account session persistence only)
Background renewer with auto-renew + downgrade on payment failure
0.00ms idle (no client tick),
From scripts and MLOs to dashboards and tools, we deliver production-ready solutions tailored to your roleplay framework. Concept to ship in days, not months.