Skip to main content
This package contains the @coinbase/create-cdp-app CLI command, which allows developers to quickly bootstrap a React App using the CDP Web SDK.

Quickstart

This guide will help you get started with @coinbase/create-cdp-app. You’ll learn how to create a new CDP-enabled React application with just a few commands.

Prerequisites

Before you begin, make sure you have one of the following package managers installed: Gather your project ID and whitelist your app from the CDP Portal:
  1. Sign in or create an account on the CDP Portal
  2. Copy your Project ID from the dashboard
  3. Go to the Wallets CORS settings
  4. Click add origin and whitelist http://localhost:3000 (or wherever your app will run)

Create Your First CDP App

You can create a new CDP app using any of these methods:
The CLI will guide you through the setup process:
  1. Enter your project name (defaults to “cdp-app”)
  2. Select a template (React, Next.js, or React Native)
  3. Enter your CDP Project ID
  4. Select account type (EVM EOA, EVM Smart Accounts, or Solana)
  5. Configure Onramp (Next.js only)
  6. Confirm you have whitelisted your app domain on the CDP Portal
  7. Confirm directory overwrite if needed

Available Templates

Currently, create-cdp-app offers the following templates:
  • React (react): A React application template that includes:
    • Vite for fast development and building
    • TypeScript for type safety
    • CDP React components for authentication
    • Example transaction components
    • Base Sepolia integration
  • Next.js (nextjs): A Next.js application template that includes:
    • Next.js 15 App Router
    • CDP React components for authentication and wallet management
    • Example transaction components for Base Sepolia
    • Built-in TypeScript support
    • ESLint with Next.js configuration
    • Viem for type-safe Ethereum interactions
  • React Native (react-native): A React Native with Expo template that includes:
    • Expo SDK for cross-platform mobile development
    • CDP React Native components for authentication
    • Example transaction components
    • TypeScript support
    • Support for both iOS and Android

Command-Line Arguments

You can also pass command-line arguments to pre-configure the setup process.

Examples