Skip to content

fix: update legacy CDP wallet provider references in docs and generator#1099

Open
yashhzd wants to merge 2 commits intocoinbase:mainfrom
yashhzd:fix/legacy-cdp-wallet-docs-generator
Open

fix: update legacy CDP wallet provider references in docs and generator#1099
yashhzd wants to merge 2 commits intocoinbase:mainfrom
yashhzd:fix/legacy-cdp-wallet-docs-generator

Conversation

@yashhzd
Copy link
Copy Markdown

@yashhzd yashhzd commented Apr 11, 2026

Description

Across the TypeScript and Python sides of the repo, a number of docs, the bug-report issue template, the Python contributing guide, and the generate-action-provider script still referenced wallet providers that were removed or renamed during the CDP Wallet API v2 migration:

  • CdpWalletProvider (now CdpEvmWalletProvider)
  • SmartWalletProvider / CDPSmartWalletProvider (now CdpSmartWalletProvider)
  • CdpV2SolanaWalletProvider (now CdpSolanaWalletProvider)
  • EthAccountWalletProvider (removed)
  • PrivyEvmDelegatedWalletProvider (now PrivyEvmDelegatedEmbeddedWalletProvider)
  • cdpWalletActionProvider (collapsed into walletActionProvider)

New users copying snippets from these docs hit import errors, config-shape mismatches (missing walletSecret / CDP_WALLET_SECRET), and an x402 example that imported from @coinbase/cdp-agentkit instead of @coinbase/agentkit. The generate-action-provider script was also offering these stale names as prompts, so scaffolding a new action provider with any of them produced code that imported symbols the package no longer exports.

This PR is scoped to bringing those references back in line with the current public surface. No runtime source under typescript/agentkit/src/ or coinbase_agentkit/ is modified.

What changed

fix(generate-action-provider)

  • Replace the stale EVM_WALLET_PROVIDERS / SVM_WALLET_PROVIDERS entries in typescript/agentkit/scripts/generate-action-provider/constants.ts with the current exports (CdpEvmWalletProvider, CdpSmartWalletProvider, PrivyEvmDelegatedEmbeddedWalletProvider, ZeroDevWalletProvider, CdpSolanaWalletProvider).
  • Add constants.test.ts, a regression test that imports * as walletProviders from "../../src/wallet-providers" and asserts every provider value surfaced by the generator is an actually-exported symbol. This fails loudly if wallet provider exports and the generator drift apart again.

docs

  • Rewrite the wallet-provider sections of typescript/agentkit/README.md and python/coinbase-agentkit/README.md to use the current CdpEvm / CdpSmart / CdpSolana providers with their current apiKeySecret + walletSecret config surface. Drop the obsolete SmartWalletProvider and CDPSmartWalletProvider sections entirely.
  • Add cdpWalletSecret / CDP_WALLET_SECRET to the default AgentKit.from(...) examples in the core TS README and in the LangChain, Model Context Protocol, and Vercel AI SDK framework-extension READMEs so the happy path actually runs.
  • In python/framework-extensions/{autogen,langchain,openai-agents-sdk}/README.md, replace the removed CDP_API_KEY_PRIVATE env var with CDP_API_KEY_SECRET + CDP_WALLET_SECRET.
  • Rewrite the action-provider walkthrough in CONTRIBUTING-PYTHON.md so it uses the canonical Erc721ActionProvider / EvmWalletProvider shape with a send_transaction + wait_for_transaction_receipt flow instead of the removed CdpWalletProvider.mint helper.
  • Update .github/ISSUE_TEMPLATE/bug-report.yml to reproduce with CdpEvmWalletProvider + walletActionProvider, and correct the TypeScript snippet to use // comments instead of #.
  • Fix the Compound action provider README test fixture (python/coinbase-agentkit/coinbase_agentkit/action_providers/compound/README.md) to construct CdpEvmWalletProvider(CdpEvmWalletProviderConfig()).
  • Fix the Across action provider README to refer to CdpEvmWalletProvider, the x402 README to import from @coinbase/agentkit, and the generator-script README example to use CdpEvmWalletProvider.

Tests

  • pnpm exec jest scripts/generate-action-provider/constants.test.ts in typescript/agentkit:
PASS scripts/generate-action-provider/constants.test.ts
  WALLET_PROVIDERS_BY_PROTOCOL
    ✓ only includes exported wallet providers
  • pnpm exec eslint -c .eslintrc.json scripts/generate-action-provider/constants.ts scripts/generate-action-provider/constants.test.ts — clean.
  • pnpm exec prettier -c .prettierrc --check on every touched .md and .ts file — all files use Prettier code style.
  • pnpm exec tsc --noEmit in typescript/agentkit — no errors.

This PR does not change any action provider behavior or any runtime code paths exposed by the published packages, so there is no chatbot repro to attach. The generator-script change is covered by the new unit test, and the rest is documentation.

Checklist

  • Added documentation to all relevant README.md files
  • Added a changelog entry

No changeset / towncrier fragment is included: the changes are documentation plus a fix to typescript/agentkit/scripts/, which is not part of the published npm package (package.json files is ["dist"]), so none of the published artifacts change.

@yashhzd yashhzd requested a review from murrlincoln as a code owner April 11, 2026 00:33
@cb-heimdall
Copy link
Copy Markdown

cb-heimdall commented Apr 11, 2026

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@github-actions github-actions bot added documentation Improvements or additions to documentation action provider New action provider framework extension New framework extension typescript labels Apr 11, 2026
yashhzd added 2 commits April 11, 2026 06:07
…ent exports

The generator prompted users to pick from a stale list of wallet providers
(`CdpWalletProvider`, `EthAccountWalletProvider`, `PrivyEvmDelegatedWalletProvider`)
that no longer exist, and was missing the current ones (`CdpEvmWalletProvider`,
`CdpSmartWalletProvider`, `PrivyEvmDelegatedEmbeddedWalletProvider`,
`CdpSolanaWalletProvider`, `ZeroDevWalletProvider`). Scaffolding a new action
provider with any of the stale values produced code that imported symbols the
package no longer exports.

Update `WALLET_PROVIDERS_BY_PROTOCOL` to reflect the current exports and add
a test that fails if the generator ever drifts from `src/wallet-providers`
again.
The docs, issue template, and Python contributing guide still referenced
wallet providers that were removed or renamed during the CDP Wallet API v2
migration (`CdpWalletProvider`, `SmartWalletProvider`/`CDPSmartWalletProvider`,
`EthAccountWalletProvider`, `CdpV2SolanaWalletProvider`,
`PrivyEvmDelegatedWalletProvider`, `cdpWalletActionProvider`). New users who
copied snippets from these docs hit import errors and confusing config shapes.

This sweep:

- Updates `typescript/agentkit/README.md` and `python/coinbase-agentkit/README.md`
  to use `CdpEvmWalletProvider` / `CdpSmartWalletProvider` / `CdpSolanaWalletProvider`
  with the current `apiKeySecret` + `walletSecret` config surface, and drops
  the stale `SmartWalletProvider` and `CDPSmartWalletProvider` sections.
- Adds the required `cdpWalletSecret` / `CDP_WALLET_SECRET` to the default
  `AgentKit.from(...)` examples in the TS core README and the Langchain, MCP,
  and Vercel AI SDK framework-extension READMEs.
- Switches Python framework-extension setup instructions from the removed
  `CDP_API_KEY_PRIVATE` env var to `CDP_API_KEY_SECRET` + `CDP_WALLET_SECRET`.
- Fixes the Python contributing guide's action-provider walkthrough so it
  uses the canonical `Erc721ActionProvider` / `EvmWalletProvider` shape with
  a `send_transaction` + `wait_for_transaction_receipt` flow instead of the
  removed `CdpWalletProvider.mint` helper.
- Updates the bug-report issue template to reproduce with
  `CdpEvmWalletProvider` + `walletActionProvider`, and corrects the TypeScript
  snippet to use `//` comments instead of `#`.
- Fixes the Compound action provider README test example to construct
  `CdpEvmWalletProvider(CdpEvmWalletProviderConfig())`.
- Fixes the Across action provider README to refer to `CdpEvmWalletProvider`
  and the x402 README to import from `@coinbase/agentkit` (was
  `@coinbase/cdp-agentkit`).
- Updates the generator-script README example to use `CdpEvmWalletProvider`.
@yashhzd yashhzd force-pushed the fix/legacy-cdp-wallet-docs-generator branch from 1ae3717 to ec2953e Compare April 11, 2026 00:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action provider New action provider documentation Improvements or additions to documentation framework extension New framework extension typescript

Development

Successfully merging this pull request may close these issues.

2 participants