Card PIN for ATMs, checked by the server: chosen on the first ATM use, stored as a salted SHA-256 hash, wrong
attempts persisted per character (relogging does not reset them), card locked after Config.Atm.pin.maxAttempts
for lockMinutes, new / forgotten PIN set at any branch (Settings). ATM sessions show no account data before the PIN.
ATM intro: drag the card into the card slot of the machine, type the PIN on the machine keypad (mouse or keyboard),
zoom into the screen. Synthesised key / card sounds. Hotspots configurable (Config.Atm.visual) with a debug overlay;
a drawn terminal is used when the image is missing.
Light bank theme (white / green), debit card on the overview, transactions grouped by day.
ASSETS.md: asset specifications, AI image prompts and the calibration procedure.
Final artwork: ATM machine, debit card and logo (nui/img/*.png); hotspots calibrated for the shipped machine image,
key labels drawn by the NUI (function keys as symbols), optional led hotspot blinking over the image's own LED.
Personal current account on the framework bank money with a unique, checksummed IBAN per character.
ATMs on every configured ATM model (ox_target, qb-target or built-in prompt) with their own limits, withdrawal step
and fee; bank branches with services, limits, job restrictions, blips and optional local teller / guard NPCs.
Cash deposits and withdrawals, IBAN transfers with recipient check, fee quote, confirmation, receipt and
offline-safe delivery.
Transaction history with search, filters, keyset pagination, monthly statements, pending / failed operations.
Savings account with interest on the lowest balance of each interval (hourly / daily / weekly / custom, compound or
simple, catch-up rules) and fixed-term deposits with fixed rates, maturity payouts and early-withdrawal penalty.
Simulated crypto and stock markets: bounded mean-reverting price model, persisted history, market hours, events,
trading fees, slippage guard, portfolios with average price, realized / unrealized P/L, allocation, dividends.
Shared accounts with per-member permissions and job business accounts with grade permissions.
Activity feed and in-game notifications; settings (market news, reduced motion).
Admin commands (status, inspect, adjust, freeze, audit, markets, branches, maintenance, review / resolve) with
granular ACE nodes and an insert-only audit trail.
Exports for police, business, job and phone integrations (trusted resources only for money).
English and Turkish translations, locale-aware money / date / percent formatting.
Offline test suites, a real-database runner (MariaDB / MySQL) and an SQL install file checked against the migrations.