--- /var/www/html/node_api/src/models/trading_engine.model.js
+++ /var/www/html/node_api/src/models/trading_engine.model.js
@@ -470,14 +470,16 @@
         }
     }
 
-    async user_balance(cid, uid, existingConn = null) {
+    async user_balance(cid, uid, existingConn = null, bypassCache = false) {
         const db = existingConn || await createDatabaseConnection();
         const redisKey = `balance:${cid}:${uid}`;
 
-        try {
-            const cached = await Redis.get(redisKey);
-            if (cached !== null) return parseFloat(cached);
-        } catch (e) { console.error("Redis Error:", e); }
+        if (!bypassCache) {
+            try {
+                const cached = await Redis.get(redisKey);
+                if (cached !== null) return parseFloat(cached);
+            } catch (e) { console.error("Redis Error:", e); }
+        }
 
         try {
             // 1. Get base stats from contest_join
