diff --git a/config.json.example b/config.json.example
index c464ad1a..fdf59b35 100644
--- a/config.json.example
+++ b/config.json.example
@@ -20,6 +20,7 @@
   "infiniteRegalAya": false,
   "infiniteHelminthMaterials": false,
   "claimingBlueprintRefundsIngredients": false,
+  "dontSubtractVoidTraces": false,
   "dontSubtractConsumables": false,
   "unlockAllShipFeatures": false,
   "unlockAllShipDecorations": false,
diff --git a/src/controllers/api/projectionManagerController.ts b/src/controllers/api/projectionManagerController.ts
index 1f2554fb..cd209942 100644
--- a/src/controllers/api/projectionManagerController.ts
+++ b/src/controllers/api/projectionManagerController.ts
@@ -2,13 +2,16 @@ import { RequestHandler } from "express";
 import { getAccountIdForRequest } from "@/src/services/loginService";
 import { addMiscItems, getInventory } from "@/src/services/inventoryService";
 import { ExportRelics, IRelic } from "warframe-public-export-plus";
+import { config } from "@/src/services/configService";
 
 export const projectionManagerController: RequestHandler = async (req, res) => {
     const accountId = await getAccountIdForRequest(req);
     const inventory = await getInventory(accountId);
     const request = JSON.parse(String(req.body)) as IProjectionUpgradeRequest;
     const [era, category, currentQuality] = parseProjection(request.projectionType);
-    const upgradeCost = (request.qualityTag - qualityKeywordToNumber[currentQuality]) * 25;
+    const upgradeCost = config.dontSubtractVoidTraces
+        ? 0
+        : (request.qualityTag - qualityKeywordToNumber[currentQuality]) * 25;
     const newProjectionType = findProjection(era, category, qualityNumberToKeyword[request.qualityTag]);
     addMiscItems(inventory, [
         {
diff --git a/src/services/configService.ts b/src/services/configService.ts
index 8d3206ef..f17679d7 100644
--- a/src/services/configService.ts
+++ b/src/services/configService.ts
@@ -25,6 +25,7 @@ interface IConfig {
     infiniteRegalAya?: boolean;
     infiniteHelminthMaterials?: boolean;
     claimingBlueprintRefundsIngredients?: boolean;
+    dontSubtractVoidTraces?: boolean;
     dontSubtractConsumables?: boolean;
     unlockAllShipFeatures?: boolean;
     unlockAllShipDecorations?: boolean;
diff --git a/static/webui/index.html b/static/webui/index.html
index fae24828..be72a678 100644
--- a/static/webui/index.html
+++ b/static/webui/index.html
@@ -598,6 +598,10 @@
                                         
                                         
                                     
+                                    
+                                        
+                                        
+                                    
                                     
                                         
                                         
diff --git a/static/webui/translations/de.js b/static/webui/translations/de.js
index 156063d2..3a02c037 100644
--- a/static/webui/translations/de.js
+++ b/static/webui/translations/de.js
@@ -132,6 +132,7 @@ dict = {
     cheats_infiniteRegalAya: `Unendlich Reines Aya`,
     cheats_infiniteHelminthMaterials: `Unendlich Helminth-Materialien`,
     cheats_claimingBlueprintRefundsIngredients: `Fertige Blaupausen erstatten Ressourcen zurück`,
+    cheats_dontSubtractVoidTraces: `[UNTRANSLATED] Don't Subtract Void Traces`,
     cheats_dontSubtractConsumables: `Verbrauchsgegenstände (Ausrüstung) nicht verbrauchen`,
     cheats_unlockAllShipFeatures: `Alle Schiffs-Funktionen freischalten`,
     cheats_unlockAllShipDecorations: `Alle Schiffsdekorationen freischalten`,
diff --git a/static/webui/translations/en.js b/static/webui/translations/en.js
index 9dfeb21a..a8f8e858 100644
--- a/static/webui/translations/en.js
+++ b/static/webui/translations/en.js
@@ -131,6 +131,7 @@ dict = {
     cheats_infiniteRegalAya: `Infinite Regal Aya`,
     cheats_infiniteHelminthMaterials: `Infinite Helminth Materials`,
     cheats_claimingBlueprintRefundsIngredients: `Claiming Blueprint Refunds Ingredients`,
+    cheats_dontSubtractVoidTraces: `Don't Subtract Void Traces`,
     cheats_dontSubtractConsumables: `Don't Subtract Consumables`,
     cheats_unlockAllShipFeatures: `Unlock All Ship Features`,
     cheats_unlockAllShipDecorations: `Unlock All Ship Decorations`,
diff --git a/static/webui/translations/es.js b/static/webui/translations/es.js
index 83cdc5fb..75757b7d 100644
--- a/static/webui/translations/es.js
+++ b/static/webui/translations/es.js
@@ -132,6 +132,7 @@ dict = {
     cheats_infiniteRegalAya: `Aya Real infinita`,
     cheats_infiniteHelminthMaterials: `Materiales Helminto infinitos`,
     cheats_claimingBlueprintRefundsIngredients: `Reclamar ingredientes devueltos por planos`,
+    cheats_dontSubtractVoidTraces: `[UNTRANSLATED] Don't Subtract Void Traces`,
     cheats_dontSubtractConsumables: `No restar consumibles`,
     cheats_unlockAllShipFeatures: `Desbloquear todas las funciones de nave`,
     cheats_unlockAllShipDecorations: `Desbloquear todas las decoraciones de nave`,
diff --git a/static/webui/translations/fr.js b/static/webui/translations/fr.js
index 9253bfff..63bdda1c 100644
--- a/static/webui/translations/fr.js
+++ b/static/webui/translations/fr.js
@@ -132,6 +132,7 @@ dict = {
     cheats_infiniteRegalAya: `Aya Raffiné infini`,
     cheats_infiniteHelminthMaterials: `Ressources d'Helminth infinies`,
     cheats_claimingBlueprintRefundsIngredients: `[UNTRANSLATED] Claiming Blueprint Refunds Ingredients`,
+    cheats_dontSubtractVoidTraces: `[UNTRANSLATED] Don't Subtract Void Traces`,
     cheats_dontSubtractConsumables: `[UNTRANSLATED] Don't Subtract Consumables`,
     cheats_unlockAllShipFeatures: `Débloquer tous les segments du vaisseau`,
     cheats_unlockAllShipDecorations: `Débloquer toutes les décorations du vaisseau`,
diff --git a/static/webui/translations/ru.js b/static/webui/translations/ru.js
index a2bb6354..aa25b6a9 100644
--- a/static/webui/translations/ru.js
+++ b/static/webui/translations/ru.js
@@ -132,6 +132,7 @@ dict = {
     cheats_infiniteRegalAya: `Бесконечная Королевская Айя`,
     cheats_infiniteHelminthMaterials: `Бесконечные Выделения Гельминта`,
     cheats_claimingBlueprintRefundsIngredients: `[UNTRANSLATED] Claiming Blueprint Refunds Ingredients`,
+    cheats_dontSubtractVoidTraces: `[UNTRANSLATED] Don't Subtract Void Traces`,
     cheats_dontSubtractConsumables: `Не уменьшать количество расходников`,
     cheats_unlockAllShipFeatures: `Разблокировать все функции корабля`,
     cheats_unlockAllShipDecorations: `Разблокировать все украшения корабля`,
diff --git a/static/webui/translations/zh.js b/static/webui/translations/zh.js
index a242891a..8f5077a7 100644
--- a/static/webui/translations/zh.js
+++ b/static/webui/translations/zh.js
@@ -132,6 +132,7 @@ dict = {
     cheats_infiniteRegalAya: `无限御品阿耶`,
     cheats_infiniteHelminthMaterials: `无限Helminth材料`,
     cheats_claimingBlueprintRefundsIngredients: `[UNTRANSLATED] Claiming Blueprint Refunds Ingredients`,
+    cheats_dontSubtractVoidTraces: `[UNTRANSLATED] Don't Subtract Void Traces`,
     cheats_dontSubtractConsumables: `[UNTRANSLATED] Don't Subtract Consumables`,
     cheats_unlockAllShipFeatures: `解锁所有飞船功能`,
     cheats_unlockAllShipDecorations: `解锁所有飞船装饰`,