Skip to main content

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
CDP CLI alternative. Create and fund an account without project setup:
The CLI uses the same API key and Wallet Secret as the SDK. Use it for setup, validation, and ad-hoc operations; use the SDK below for application code.

Prerequisites

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.
Initialize a new TypeScript project:
Add your keys to .env:
.env
Install the CDP SDK:
Instantiate the client in main.ts:
main.ts
Run your code with:

1. Create an account

EVM

You can also create named accounts and retrieve them later with getOrCreateAccount. See Create & Manage Wallets for details.

Solana

2. Fund with testnet tokens

Read about faucet rate limits before requesting funds.

EVM

Solana

3. Send a transaction

EVM

Install viem to wait for transaction confirmation:
main.ts

Solana

Install the Solana web3.js library:
main.ts

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