Hand it to your coding agent

One prompt with the typed-coinbase install command, its env vars, and a working first call. Paste it into Claude Code, Cursor, or Codex.

Typed Coinbase

A fully typed, validated async client for the Coinbase API.

from typed_coinbase import Coinbase

async with Coinbase.new(public=True) as client:
  product = await client.advanced_trade.products.public.get('BTC-USD')
  print(product['price'])

Why Typed Coinbase?

  • 🎯 Precise Types: every endpoint's inputs and responses are typed, from Coinbase App (v2) wallets to Advanced Trade (v3) order configurations and fee tiers, not dict/Any.
  • ✅ Runtime Validation: every response is validated against its declared schema by default, across both the v2 and v3 APIs.
  • ⚡ Async First: async HTTP and WebSocket streaming, built for concurrent workflows against accounts, advanced_trade, and the public/private streams.
  • 📚 Full Surface: every documented Coinbase App and Advanced Trade endpoint, not just the popular ones.

Installation

pip install typed-coinbase

How To

Reference

Design Philosophy

Typed Coinbase follows the principles outlined in this blog post.

Details matter. Developer experience matters.