diff --git a/recipes/poe-ninja/darkmode.css b/recipes/poe-ninja/darkmode.css
new file mode 100644
index 000000000..aaf6ec259
--- /dev/null
+++ b/recipes/poe-ninja/darkmode.css
@@ -0,0 +1 @@
+/* poe.ninja ships its own dark theme — this file is intentionally minimal. */
diff --git a/recipes/poe-ninja/icon.svg b/recipes/poe-ninja/icon.svg
new file mode 100644
index 000000000..c24c5fb32
--- /dev/null
+++ b/recipes/poe-ninja/icon.svg
@@ -0,0 +1,26 @@
+
diff --git a/recipes/poe-ninja/index.js b/recipes/poe-ninja/index.js
new file mode 100644
index 000000000..dd41f7287
--- /dev/null
+++ b/recipes/poe-ninja/index.js
@@ -0,0 +1 @@
+module.exports = Ferdium => Ferdium;
diff --git a/recipes/poe-ninja/package.json b/recipes/poe-ninja/package.json
new file mode 100644
index 000000000..c318c8543
--- /dev/null
+++ b/recipes/poe-ninja/package.json
@@ -0,0 +1,9 @@
+{
+ "id": "poe-ninja",
+ "name": "poe.ninja",
+ "version": "1.0.0",
+ "license": "MIT",
+ "config": {
+ "serviceURL": "https://poe.ninja"
+ }
+}
diff --git a/recipes/poe-ninja/webview.js b/recipes/poe-ninja/webview.js
new file mode 100644
index 000000000..fa09c8952
--- /dev/null
+++ b/recipes/poe-ninja/webview.js
@@ -0,0 +1,3 @@
+module.exports = Ferdium => {
+ // poe.ninja is a read-only economy tracker — no badge/notification logic needed.
+};
diff --git a/recipes/poe2-trade/darkmode.css b/recipes/poe2-trade/darkmode.css
new file mode 100644
index 000000000..7b4361551
--- /dev/null
+++ b/recipes/poe2-trade/darkmode.css
@@ -0,0 +1,2 @@
+/* Path of Exile 2 Trade already supports its own dark theme.
+ This file is intentionally minimal. */
diff --git a/recipes/poe2-trade/icon.svg b/recipes/poe2-trade/icon.svg
new file mode 100644
index 000000000..2d727b4b5
--- /dev/null
+++ b/recipes/poe2-trade/icon.svg
@@ -0,0 +1,23 @@
+
diff --git a/recipes/poe2-trade/index.js b/recipes/poe2-trade/index.js
new file mode 100644
index 000000000..dd41f7287
--- /dev/null
+++ b/recipes/poe2-trade/index.js
@@ -0,0 +1 @@
+module.exports = Ferdium => Ferdium;
diff --git a/recipes/poe2-trade/package.json b/recipes/poe2-trade/package.json
new file mode 100644
index 000000000..51f85b0eb
--- /dev/null
+++ b/recipes/poe2-trade/package.json
@@ -0,0 +1,9 @@
+{
+ "id": "poe2-trade",
+ "name": "Path of Exile 2 Trade",
+ "version": "1.0.0",
+ "license": "MIT",
+ "config": {
+ "serviceURL": "https://www.pathofexile.com/trade2/exchange/poe2/Runes%20of%20Aldur"
+ }
+}
diff --git a/recipes/poe2-trade/webview.js b/recipes/poe2-trade/webview.js
new file mode 100644
index 000000000..79d2d22d9
--- /dev/null
+++ b/recipes/poe2-trade/webview.js
@@ -0,0 +1,4 @@
+module.exports = Ferdium => {
+ // Path of Exile 2 Trade - no unread badge logic needed for a trade site
+ // The page is a static trading exchange; we just ensure it loads cleanly.
+};