Overview
This guide shows how to create and manage non-custodial wallets programmatically using API key authentication. Your server owns and controls the accounts while CDP secures all private keys inside a Trusted Execution Environment. In this quickstart, you will:- Create EVM and Solana accounts
- Fund your accounts with testnet tokens using CDP Faucets
- Send a transaction
Prerequisites
- Node.js 22.x+ (TypeScript) or Python 3.10+ (Python)
- A CDP Portal account
Create keys
Sign in to the CDP Portal, create a CDP API key and generate a Wallet Secret. Keep these values handy for the steps below.Project setup
Initialize a new project and instantiate the CDP client.- Node (TypeScript)
- Python
Initialize a new TypeScript project:Add your keys to Install the CDP SDK:Instantiate the client in Run your code with:
.env:.env
main.ts:main.ts
1. Create an account
EVM
Solana
2. Fund with testnet tokens
Read about faucet rate limits before requesting funds.
EVM
Solana
3. Send a transaction
EVM
- Node (TypeScript)
- Python
Install viem to wait for transaction confirmation:
main.ts
Solana
- Node (TypeScript)
- Python
Install the Solana web3.js library:
main.ts
What to read next
Create & Manage Wallets
Named accounts, listing, updating, and pre-generation
Smart Accounts
Gas sponsorship, batched transactions, and spend permissions
Security
TEE architecture, Wallet Secrets, and OFAC screening
Policy Engine
Set rules that govern what transactions accounts can sign