diff --git a/app/layout.tsx b/app/layout.tsx
index 6f539e24b..711851578 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -9,8 +9,20 @@ import { Toaster } from "sonner";
import { CreditsProvider } from "@/lib/providers/CreditsProvider";
import { PostHogProvider } from "@/lib/providers/PostHogProvider";
import PrivyProvider from "@/lib/providers/PrivyProvider";
+import { StewardAuthProvider } from "@/lib/providers/StewardProvider";
import { getRobotsMetadata } from "@/lib/seo";
+const stewardAuthEnabled = process.env.NEXT_PUBLIC_STEWARD_AUTH_ENABLED === "true";
+
+/**
+ * Conditionally wraps children in StewardAuthProvider when enabled.
+ * Both Privy and Steward providers can coexist, managing separate auth state.
+ */
+function MaybeStewardProvider({ children }: { children: React.ReactNode }) {
+ if (!stewardAuthEnabled) return <>{children}>;
+ return {children};
+}
+
// DM Mono for landing page
const dmMono = DM_Mono({
subsets: ["latin"],
@@ -140,34 +152,36 @@ export default function RootLayout({
className={`${sfPro.variable} ${dmMono.variable} ${inter.variable} antialiased selection:bg-[#FF5800] selection:text-white`}
>
-
-
-
-
- {children}
-
-
-
-
+
+
+
+
+
+ {children}
+
+
+
+
+
{shouldEnableVercelAnalytics ? : null}