Skip to content

feat: add end user delegated signing API to Java and Python SDKs#632

Open
sammccord wants to merge 2 commits intomainfrom
sammccord/py-java-sdk
Open

feat: add end user delegated signing API to Java and Python SDKs#632
sammccord wants to merge 2 commits intomainfrom
sammccord/py-java-sdk

Conversation

@sammccord
Copy link
Copy Markdown
Contributor

@sammccord sammccord commented Apr 1, 2026

Description

Adds delegated signing and sending support for end users across the Java and Python SDKs, including examples and documentation.

Python SDK

  • Wired EmbeddedWalletsCoreFunctionalityApi into ApiClients
  • Added get_end_user and 15 delegated signing/sending methods to EndUserClient (sign/send EVM hash, message, transaction, typed data, asset, user operation; sign/send Solana hash, message, transaction, asset; EIP-7702 delegation; revoke delegation)
  • Added corresponding action methods to EndUserAccount with auto-bound userId and defaulted address
  • Updated CdpClient to read CDP_PROJECT_ID and pass project_id through to EndUserClient and EndUserAccount
  • Updated _requires_wallet_auth() to include /embedded-wallet-api/ paths
  • Updated python/README.md with documentation for all new end-user operations

Java SDK

  • Updated OpenAPI-generated models and APIs for delegated signing endpoints
  • Added EndUserClient with projectId configuration and all delegated signing/sending methods
  • Updated CdpClient and CdpClientOptions to support projectId

Examples

  • Created 16 Java end-user example files with Gradle tasks
  • Created 8 Python end-user example files
  • Updated TypeScript examples/typescript/README.md with comprehensive end-user sections

Checklist

  • Updated the python README if relevant
  • Updated the typescript README if relevant
  • Added a changelog entry
  • Added e2e tests if introducing new functionality

@cb-heimdall
Copy link
Copy Markdown

cb-heimdall commented Apr 1, 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

sammccord added a commit that referenced this pull request Apr 1, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 1, 2026

⚠️ Generated Client Files Have Been Modified

This pull request contains manual changes to generated client files. These files are automatically generated from the OpenAPI specification and should not be edited directly.

Please check the workflow logs for details on which files were modified.

To fix this issue:

  1. Revert any manual changes to files in:
    • typescript/src/openapi-client/generated/
    • python/cdp/openapi_client/
    • go/openapi/
    • java/src/main/java/com/coinbase/cdp/openapi/
  2. If you need to change the generated code, update the OpenAPI spec (openapi.yaml) instead
  3. Run the generation commands locally to update the generated files

This comment will be automatically removed once the issue is resolved.

@sammccord sammccord force-pushed the sammccord/py-java-sdk branch from 6a4f258 to 3ebfce0 Compare April 2, 2026 01:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants