Skip to main content

Wallet API

Manage wallets for on-chain transactions and payments. Supports both session-based wallets and Coinbase Developer Platform (CDP) wallets.

Get wallet

Returns wallet information. When CDP is configured, returns CDP status without authentication. Otherwise, requires session authentication.

Response (CDP configured)

Response (user wallet exists)

Response (no wallet)

Errors

Wallet actions

Requires session authentication.

Request body

Action: create

Creates a new wallet for the authenticated user.
Returns 400 if a wallet already exists.

Action: get_seed

Returns wallet metadata. Private keys are stored encrypted server-side and are never exposed.

Action: export_seed

Seed export is disabled for security. Returns 403.

Errors

Get CDP wallet address

Returns the address of the CDP Agentic Wallet.

Response (authenticated)

Response (not authenticated)

When the CDP wallet address cannot be retrieved, the response includes authenticated: false and needsAuth: true. The remaining fields vary by failure reason:
If the failure is caused by a configuration error, the response includes error and setup fields instead of message:

Create CDP wallet

Creates a new wallet using the Coinbase Developer Platform SDK.

Request body

Response

Errors

CDP wallet status

Returns supported chain information for the CDP wallet.

Create CDP wallet client

Creates a viem wallet client on Base Sepolia.

Request body

Response

USDC transfer validation

When transferring USDC through the wallet service, the following validation rules apply:
  • The transfer amount must be a positive finite number. Values such as NaN, Infinity, negative numbers, and zero are rejected.
  • Amounts are rounded to 6 decimal places (USDC precision). If the rounded value equals zero, the transfer is rejected.
These checks run before any on-chain transaction is initiated.