Skip to main content

CDP Agentkit Langchain Extension

Project description

CDP Agentkit Extension - Langchain Toolkit

CDP integration with Langchain to enable agentic workflows using the core primitives defined in cdp-agentkit-core.

This toolkit contains tools that enable an LLM agent to interact with the Coinbase Developer Platform. The toolkit provides a wrapper around the CDP SDK, allowing agents to perform onchain operations like transfers, trades, and smart contract interactions.

Setup

Prerequisites

Installation

pip install cdp-langchain

Environment Setup

Set the following environment variables:

export CDP_API_KEY_NAME=<your-api-key-name>
export CDP_API_KEY_PRIVATE_KEY=$'<your-private-key>'
export OPENAI_API_KEY=<your-openai-api-key>
export NETWORK_ID=base-sepolia  # Optional: Defaults to base-sepolia

Usage

Basic Setup

from cdp_langchain.agent_toolkits import CdpToolkit
from cdp_langchain.utils import CdpAgentkitWrapper

# Initialize CDP wrapper
cdp = CdpAgentkitWrapper()

# Create toolkit from wrapper
toolkit = CdpToolkit.from_cdp_agentkit_wrapper(cdp)

View available tools:

tools = toolkit.get_tools()
for tool in tools:
    print(tool.name)

The toolkit provides the following tools:

  1. get_wallet_details - Get details about the MPC Wallet
  2. get_balance - Get balance for specific assets
  3. request_faucet_funds - Request test tokens from faucet
  4. transfer - Transfer assets between addresses
  5. trade - Trade assets (Mainnet only)
  6. deploy_token - Deploy ERC-20 token contracts
  7. mint_nft - Mint NFTs from existing contracts
  8. deploy_nft - Deploy new NFT contracts
  9. register_basename - Register a basename for the wallet
  10. wow_create_token - Deploy a token using Zora's Wow Launcher (Bonding Curve)

Using with an Agent

from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent

# Initialize LLM
llm = ChatOpenAI(model="gpt-4o-mini")

# Get tools and create agent
tools = toolkit.get_tools()
agent_executor = create_react_agent(llm, tools)

# Example usage
events = agent_executor.stream(
    {"messages": [("user", "Send 0.005 ETH to john2879.base.eth")]},
    stream_mode="values"
)

for event in events:
    event["messages"][-1].pretty_print()

Expected output:

Transferred 0.005 of eth to john2879.base.eth.
Transaction hash for the transfer: 0x78c7c2878659a0de216d0764fc87eff0d38b47f3315fa02ba493a83d8e782d1e
Transaction link for the transfer: https://sepolia.basescan.org/tx/0x78c7c2878659a0de216d0764fc87eff0d38b47f3315fa02ba493a83d8e782d1

CDP Tookit Specific Features

Wallet Management

The toolkit maintains an MPC wallet that persists between sessions:

# Export wallet data
wallet_data = cdp.export_wallet()

# Import wallet data
values = {"cdp_wallet_data": wallet_data}
cdp = CdpAgentkitWrapper(**values)

Network Support

The toolkit supports multiple networks.

Gasless Transactions

The following operations support gasless transactions on Base Mainnet:

  • USDC transfers
  • EURC transfers
  • cbBTC transfers

Contributing

See CONTRIBUTING.md for detailed setup instructions and contribution guidelines.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdp_langchain-0.0.4.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

cdp_langchain-0.0.4-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file cdp_langchain-0.0.4.tar.gz.

File metadata

  • Download URL: cdp_langchain-0.0.4.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/23.6.0

File hashes

Hashes for cdp_langchain-0.0.4.tar.gz
Algorithm Hash digest
SHA256 32e76599063f48f6e37a8d22ebccb9727773993fe4f0473ee870eae6c84af3d7
MD5 7f4d51e9a4abdbc9965e8541832b7138
BLAKE2b-256 d7945a38676419ee207c90371fecf7c44ffe2d7d7ebbcef4dc01a0b22c3ccd2d

See more details on using hashes here.

File details

Details for the file cdp_langchain-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: cdp_langchain-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/23.6.0

File hashes

Hashes for cdp_langchain-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b15891cb79c74c83d00bfb12175b0d9f213f831cba746c334b809d969b7eaca6
MD5 c6e9280d38742dc7752e0dd5f1818c9b
BLAKE2b-256 03130b3c77b7b298b38359dd2f148e93e356fb32cfde120dbbaa013552512269

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page