The CDP Wallet Manager is a comprehensive web application that showcases the capabilities of the Coinbase Developer Platform (CDP) SDK. This project serves as a powerful demonstration of how developers can leverage CDP to build robust, user-friendly blockchain applications. To learn more about CDP, check out the developer docs.
-
Wallet Management: Create, view, and manage MPC wallets across different networks.
-
Address Handling: Generate and manage addresses within each wallet, supporting various blockchain networks.
-
Balance Tracking: Real-time balance display for each address, supporting multiple cryptocurrencies.
-
Faucet Integration: Easy access to testnet faucets for quick funding of addresses during development and testing.
-
Transfer Functionality: Seamless creation and execution of cryptocurrency transfers between addresses.
-
Onramp Support: Integration with Coinbase's onramp feature, allowing users to buy cryptocurrencies directly within the application.
-
Network Flexibility: Support for both mainnet and testnet environments, with easy switching between networks.
-
Responsive Design: A clean, intuitive user interface that works across desktop and mobile devices.
-
Dark Mode: Built-in dark mode support for enhanced user experience in different lighting conditions.
This project is ideal for developers looking to understand the implementation of blockchain wallet functionalities using the CDP SDK. It provides a solid foundation that can be extended and customized for various blockchain-based applications.
By exploring and using the CDP Wallet Manager, developers can gain hands-on experience with key blockchain operations, security best practices, and user interface design for crypto applications.
Whether you're building a DeFi platform, a crypto portfolio tracker, or any other blockchain-based service, the CDP Wallet Manager offers valuable insights and a practical starting point for your development journey with the Coinbase Developer Platform.
The application does not have built-in authentication. Ensure that you add an authentication layer before deploying it to production.
Go to https://portal.cdp.coinbase.com/ and create an API key if you don't already have one.
This encryption key is used to secure your private keys stored in vercel postgres. You can generate one using the following command:
openssl rand -hex 32
Create a .env
file in the root of the project with the following:
CDP_API_KEY_NAME="your-api-key-name"
CDP_API_KEY_SECRET="your-api-key-secret"
ENCRYPTION_KEY="your-encryption-key"
POSTGRES_URL="postgresql://admin:password@localhost:5432/seeds"
NEXT_PUBLIC_CDP_PROJECT_ID="your-cdp-project-id"
npm run db:up
If you don't see database logs, double check Postgres is installed:
docker run --name test-postgres -e POSTGRES_PASSWORD=password -e POSTGRES_DB=seeds -e POSTGRES_USER=admin -p 5432:5432 postgres:14
Set up the Prisma schema in the DB
npm install
npm run db:setup
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx
. The page auto-updates as you edit the file.
This project uses next/font
to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
- Tagging wallets with display name; more generally, metadata.