# Project Decisions These decisions close the open items from `AGENTS.md` ยง 11 for the current build. - Charging method: manual deposits first, with USDT/manual references stored in `deposits.tx_ref`. - Backend and database: Node.js, Express, MySQL/MariaDB. - Frontend: static HTML/CSS/JavaScript served from `public/` by Express. - Currency: USD-denominated decimal balances with four fractional digits. - Markup: global default from `DEFAULT_MARKUP_PERCENT`, stored per synced service as `markup_percent`, with admin override for `sell_price` or service activation. - Provider API: Perfect Panel-compatible API through `PROVIDER_API_URL` and `PROVIDER_API_KEY`. Real provider credentials must be configured in environment variables before production. - Languages: Arabic UI/messages for the current frontend; API internals and code comments stay English. Partial order handling: - `partial` orders are recorded with `remains`, `start_count`, and `provider_charge`. - Automatic refunds are intentionally disabled for `partial` until the provider's exact partial/refund semantics are confirmed.