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.3.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: cdp_langchain-0.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 2a826fe58bbc526e70e14cebd4bb17a1c71738af7eded8539be08d8b5391ee9e
MD5 09349e4bfa9509cf3b6b782333cf6b57
BLAKE2b-256 96d1eb2cdc583ee557441ee7e77956eb4cecc95e1cba0a954b5a2e75b451f65b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cdp_langchain-0.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a45fb182bd91aa4daeea715124bf9e88c9ca3553685405facce37058ffee6ea4
MD5 4de6e5bc4943f0ef5c4e22a7d4baa78b
BLAKE2b-256 aeaaa4d5a255da1b7ac2c8735aaf443b7acf025a6f032b1242fd91c270430ded

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