diff --git a/docs/base-account/framework-integrations/cdp.mdx b/docs/base-account/framework-integrations/cdp.mdx
index 0c259d39..8563000d 100644
--- a/docs/base-account/framework-integrations/cdp.mdx
+++ b/docs/base-account/framework-integrations/cdp.mdx
@@ -1,12 +1,617 @@
---
title: "Coinbase Developer Platform"
-description: "Integrate Base Account with CDP Embedded Wallets"
+description: "Build onchain apps supporting both Base Account and CDP Embedded Wallets"
---
+# Integrate Base Account with CDP Embedded Wallets
-We are working to integrate Base Account with [CDP Embedded Wallets](https://docs.cdp.coinbase.com/embedded-wallets/welcome), and will publish guidance soon.
+Learn how to build an onchain app that seamlessly supports both **existing Base Account users** and **new users** through CDP Embedded Wallets, providing unified authentication and wallet management.
-In the meantime, you can use the connector from the Base Account [Wagmi guide](/base-account/framework-integrations/wagmi/setup)
-with CDP Embedded Wallets [Wagmi integration](https://docs.cdp.coinbase.com/embedded-wallets/wagmi).
+## Overview
+This integration enables your app to serve two distinct user types:
+- **Existing Base users**: Connect with their Base Account for a familiar experience
+- **New onchain users**: Create CDP Embedded Wallets via email, mobile, or social authentication
+Both user types get the same app functionality while using their preferred wallet type.
+
+## What you'll build
+
+- **Unified authentication flow**: Single sign-in supporting both wallet types
+- **Automatic wallet detection**: Smart routing based on user's existing wallet status
+- **Consistent user experience**: Both wallet types access the same app features
+
+## Prerequisites
+
+- Node.js 18+ installed
+- React application (Next.js recommended)
+- [CDP Portal account](https://portal.cdp.coinbase.com/) with Project ID
+- Basic familiarity with Wagmi and React hooks
+
+## Installation
+
+Install the required packages for both CDP Embedded Wallets and Base Account support:
+
+```bash
+npm install @coinbase/cdp-core @coinbase/cdp-hooks @base-org/account @tanstack/react-query viem wagmi
+```
+
+## Step-by-step implementation
+
+Since native CDP + Base Account integration is under development, this guide uses a **dual connector approach** where both wallet types are supported through separate, coordinated connectors.
+
+You can use the Base Account Wagmi connector alongside CDP's React provider system to create a unified experience that properly handles wallet persistence for both wallet types.
+
+### Step 1: Environment configuration
+
+Create environment variables for your CDP project:
+
+```bash
+# .env.local
+NEXT_PUBLIC_CDP_PROJECT_ID=your_cdp_project_id
+NEXT_PUBLIC_APP_NAME="Your App Name"
+```
+
+Get your CDP Project ID from the [CDP Portal](https://portal.cdp.coinbase.com/).
+
+⚠️ **Critical**: Without a valid `NEXT_PUBLIC_CDP_PROJECT_ID`, the app will fail to load with "Project ID is required" errors. Also configure your domain in CDP Portal → Wallets → Embedded Wallet settings for CORS.
+
+### Step 2: Configure Wagmi for Base Account support
+
+Set up Wagmi with the Base Account connector (embedded wallets will be handled separately via CDP React providers):
+
+```typescript
+// config/wagmi.ts
+import { createConfig, http } from 'wagmi';
+import { base, baseSepolia } from 'wagmi/chains';
+import { baseAccount } from 'wagmi/connectors';
+
+// Base Account connector
+const baseAccountConnector = baseAccount({
+ appName: process.env.NEXT_PUBLIC_APP_NAME || 'Your App',
+});
+
+// Wagmi config (only for Base Account - embedded wallets handled by CDP React providers)
+export const wagmiConfig = createConfig({
+ connectors: [baseAccountConnector],
+ chains: [baseSepolia, base], // Put baseSepolia first for testing
+ transports: {
+ [base.id]: http(),
+ [baseSepolia.id]: http(),
+ },
+});
+```
+
+### Step 3: Set up application providers
+
+Wrap your application with the necessary providers. **Important**: Use `CDPHooksProvider` to properly manage embedded wallet authentication state:
+
+```typescript
+// app/layout.tsx
+'use client';
+
+import { WagmiProvider } from 'wagmi';
+import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
+import { CDPHooksProvider } from '@coinbase/cdp-hooks';
+import { wagmiConfig } from '../config/wagmi';
+
+const queryClient = new QueryClient();
+
+export default function RootLayout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+
+
+ );
+}
+```
+
+### Step 7: Complete your app
+
+Put everything together in your main application:
+
+```typescript
+// app/page.tsx
+'use client';
+
+import { WalletAuthButton } from '../components/WalletAuthButton';
+import { SendTransaction } from '../components/SendTransaction';
+import { useAccount } from 'wagmi';
+
+export default function HomePage() {
+ const { isConnected } = useAccount();
+
+ return (
+
+
+
+
CDP + Base Account Demo
+
+ One app supporting both Base Account and embedded wallet users
+
+
+
+
+
+ {isConnected && }
+
+
+
+ );
+}
+```
+
+## Troubleshooting
+
+### Common Issues
+
+**Base Account connector not appearing**
+- Verify the Base Account SDK, `@base-org/account`, is installed and up-to-date
+- Check wagmi configuration includes Base Account connector
+- Ensure app is running on Base or Base Sepolia network
+
+**CDP Embedded Wallet authentication failing**
+- Verify CDP Project ID is correct in environment variables
+- **Critical**: Add your domains (e.g., `http://localhost:3000`, `http://localhost:3001`) to CDP Portal → Wallets → Embedded Wallet settings → Allowed domains
+- Ensure all required CDP packages (see above) are installed
+
+**New wallet created each time instead of signing into existing wallet**
+- Ensure you're using `CDPHooksProvider` with proper config in your layout
+- Verify CDP Project ID is correctly configured
+- Check that hooks are imported from `@coinbase/cdp-hooks` consistently
+
+**Users can't switch between wallet types**
+- Implement proper disconnect flow before connecting different type
+- Clear any cached authentication state when switching
+- Provide clear UI guidance for wallet type selection
+
+## Enhanced integration coming soon
+
+We are actively working on native Base Account integration with CDP Embedded Wallets that will enable:
+
+- **Unified connector**: Single CDP connector to handle both wallet types seamlessly
+- **Spend permissions**: Sub Accounts will be able to access parent Base Account balance with limits
+- **Sub Account creation**: Base Account users will be able to create app-specific Sub Accounts
+
+## Resources
+
+- [CDP Embedded Wallets Documentation](https://docs.cdp.coinbase.com/embedded-wallets/)
+- [CDP React Components Documentation](https://docs.cdp.coinbase.com/embedded-wallets/components)
+- [Base Account Wagmi Setup](/base-account/framework-integrations/wagmi/setup)
+- [CDP Portal](https://portal.cdp.coinbase.com/)
+- [Wagmi Documentation](https://wagmi.sh/)
+
+Monitor the [CDP documentation](https://docs.cdp.coinbase.com/) for updates on enhanced Embedded Wallet Base Account integration features.
\ No newline at end of file