diff --git a/package-lock.json b/package-lock.json
index 7fbf5002..97ecfb8c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,7 +14,7 @@
         "copyfiles": "^2.4.1",
         "crc-32": "^1.2.2",
         "express": "^5",
-        "json-with-bigint": "^3.2.1",
+        "json-with-bigint": "^3.2.2",
         "mongoose": "^8.11.0",
         "morgan": "^1.10.0",
         "typescript": ">=5.5 <5.6.0",
@@ -2348,9 +2348,9 @@
       "license": "MIT"
     },
     "node_modules/json-with-bigint": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.2.1.tgz",
-      "integrity": "sha512-0f8RHpU1AwBFwIPmtm71W+cFxzlXdiBmzc3JqydsNDSKSAsr0Lso6KXRbz0h2LRwTIRiHAk/UaD+xaAN5f577w==",
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.2.2.tgz",
+      "integrity": "sha512-zbaZ+MZ2PEcAD0yINpxvlLMKzoC1GPqy5p8/ZgzRJRoB+NCczGrTX9x2ashSvkfYTitQKbV5aYQCJCiHxrzF2w==",
       "license": "MIT"
     },
     "node_modules/json5": {
diff --git a/package.json b/package.json
index 0cd17cb3..98e770ec 100644
--- a/package.json
+++ b/package.json
@@ -19,7 +19,7 @@
     "copyfiles": "^2.4.1",
     "crc-32": "^1.2.2",
     "express": "^5",
-    "json-with-bigint": "^3.2.1",
+    "json-with-bigint": "^3.2.2",
     "mongoose": "^8.11.0",
     "morgan": "^1.10.0",
     "typescript": ">=5.5 <5.6.0",
diff --git a/src/index.ts b/src/index.ts
index f540f96e..8c38237f 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -9,25 +9,12 @@ import { app } from "./app";
 import { config, validateConfig } from "./services/configService";
 import { registerLogFileCreationListener } from "@/src/utils/logger";
 import mongoose from "mongoose";
+import { Json, JSONStringify } from "json-with-bigint";
 
-// Patch JSON.stringify to work flawlessly with Bigints. Yeah, it's not pretty.
-// TODO: Might wanna use json-with-bigint if/when possible.
-{
-    // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
-    (BigInt.prototype as any).toJSON = function (): string {
-        // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
-        return "" + this.toString() + "";
-    };
-    const og_stringify = JSON.stringify;
-    // eslint-disable-next-line @typescript-eslint/no-explicit-any
-    JSON.stringify = (obj: any, replacer?: any, space?: string | number): string => {
-        return og_stringify(obj, replacer as string[], space)
-            .split(`"`)
-            .join(``)
-            .split(`"`)
-            .join(``);
-    };
-}
+// Patch JSON.stringify to work flawlessly with Bigints.
+JSON.stringify = (obj: Exclude, _replacer?: unknown, space?: string | number): string => {
+    return JSONStringify(obj, space);
+};
 
 registerLogFileCreationListener();
 validateConfig();