cdp-langchain


Namecdp-langchain JSON
Version 0.0.10 PyPI version JSON
download
home_pageNone
SummaryCDP Agentkit Langchain Extension
upload_time2025-01-14 00:25:42
maintainerNone
docs_urlNone
authorJohn Peterson
requires_python<4.0,>=3.10
licenseApache-2.0
keywords coinbase sdk crypto cdp agentkit ai agent langchain toolkit
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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](https://docs.cdp.coinbase.com/). The toolkit provides a wrapper around the CDP SDK, allowing agents to perform onchain operations like transfers, trades, and smart contract interactions.

## Setup

### Prerequisites
- Python 3.10 or higher 
- [CDP API Key](https://portal.cdp.coinbase.com/access/api)

### Installation

```bash
pip install cdp-langchain
```

### Environment Setup

Set the following environment variables:

```bash
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

```python
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:
```python
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)
11. **wow_buy_token** - Buy Zora Wow ERC20 memecoin with ETH
12. **wow_sell_token** - Sell Zora Wow ERC20 memecoin for ETH
13. **wrap_eth** - Wrap ETH to WETH

### Using with an Agent

```python
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:

```python
# 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](https://docs.cdp.coinbase.com/cdp-sdk/docs/networks).

### Gasless Transactions
The following operations support gasless transactions on Base Mainnet:
- USDC transfers
- EURC transfers
- cbBTC transfers

## Contributing
See [CONTRIBUTING.md](../CONTRIBUTING.md) for detailed setup instructions and contribution guidelines.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "cdp-langchain",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": "coinbase, sdk, crypto, cdp, agentkit, ai, agent, langchain, toolkit",
    "author": "John Peterson",
    "author_email": "john.peterson@coinbase.com",
    "download_url": "https://files.pythonhosted.org/packages/8d/3b/04a0416f6643c7c38a5d2531ef59ff8039122ca3baafe2f427e87a96763c/cdp_langchain-0.0.10.tar.gz",
    "platform": null,
    "description": "# CDP Agentkit Extension - Langchain Toolkit\nCDP integration with Langchain to enable agentic workflows using the core primitives defined in `cdp-agentkit-core`.\n\nThis toolkit contains tools that enable an LLM agent to interact with the [Coinbase Developer Platform](https://docs.cdp.coinbase.com/). The toolkit provides a wrapper around the CDP SDK, allowing agents to perform onchain operations like transfers, trades, and smart contract interactions.\n\n## Setup\n\n### Prerequisites\n- Python 3.10 or higher \n- [CDP API Key](https://portal.cdp.coinbase.com/access/api)\n\n### Installation\n\n```bash\npip install cdp-langchain\n```\n\n### Environment Setup\n\nSet the following environment variables:\n\n```bash\nexport CDP_API_KEY_NAME=<your-api-key-name>\nexport CDP_API_KEY_PRIVATE_KEY=$'<your-private-key>'\nexport OPENAI_API_KEY=<your-openai-api-key>\nexport NETWORK_ID=base-sepolia  # Optional: Defaults to base-sepolia\n```\n\n## Usage\n\n### Basic Setup\n\n```python\nfrom cdp_langchain.agent_toolkits import CdpToolkit\nfrom cdp_langchain.utils import CdpAgentkitWrapper\n\n# Initialize CDP wrapper\ncdp = CdpAgentkitWrapper()\n\n# Create toolkit from wrapper\ntoolkit = CdpToolkit.from_cdp_agentkit_wrapper(cdp)\n```\n\nView available tools:\n```python\ntools = toolkit.get_tools()\nfor tool in tools:\n    print(tool.name)\n```\n\nThe toolkit provides the following tools:\n\n1. **get_wallet_details** - Get details about the MPC Wallet\n2. **get_balance** - Get balance for specific assets\n3. **request_faucet_funds** - Request test tokens from faucet\n4. **transfer** - Transfer assets between addresses\n5. **trade** - Trade assets (Mainnet only)\n6. **deploy_token** - Deploy ERC-20 token contracts\n7. **mint_nft** - Mint NFTs from existing contracts\n8. **deploy_nft** - Deploy new NFT contracts\n9. **register_basename** - Register a basename for the wallet\n10. **wow_create_token** - Deploy a token using Zora's Wow Launcher (Bonding Curve)\n11. **wow_buy_token** - Buy Zora Wow ERC20 memecoin with ETH\n12. **wow_sell_token** - Sell Zora Wow ERC20 memecoin for ETH\n13. **wrap_eth** - Wrap ETH to WETH\n\n### Using with an Agent\n\n```python\nfrom langchain_openai import ChatOpenAI\nfrom langgraph.prebuilt import create_react_agent\n\n# Initialize LLM\nllm = ChatOpenAI(model=\"gpt-4o-mini\")\n\n# Get tools and create agent\ntools = toolkit.get_tools()\nagent_executor = create_react_agent(llm, tools)\n\n# Example usage\nevents = agent_executor.stream(\n    {\"messages\": [(\"user\", \"Send 0.005 ETH to john2879.base.eth\")]},\n    stream_mode=\"values\"\n)\n\nfor event in events:\n    event[\"messages\"][-1].pretty_print()\n```\nExpected output:\n```\nTransferred 0.005 of eth to john2879.base.eth.\nTransaction hash for the transfer: 0x78c7c2878659a0de216d0764fc87eff0d38b47f3315fa02ba493a83d8e782d1e\nTransaction link for the transfer: https://sepolia.basescan.org/tx/0x78c7c2878659a0de216d0764fc87eff0d38b47f3315fa02ba493a83d8e782d1\n```\n## CDP Tookit Specific Features\n\n### Wallet Management\nThe toolkit maintains an MPC wallet that persists between sessions:\n\n```python\n# Export wallet data\nwallet_data = cdp.export_wallet()\n\n# Import wallet data\nvalues = {\"cdp_wallet_data\": wallet_data}\ncdp = CdpAgentkitWrapper(**values)\n```\n\n### Network Support\nThe toolkit supports [multiple networks](https://docs.cdp.coinbase.com/cdp-sdk/docs/networks).\n\n### Gasless Transactions\nThe following operations support gasless transactions on Base Mainnet:\n- USDC transfers\n- EURC transfers\n- cbBTC transfers\n\n## Contributing\nSee [CONTRIBUTING.md](../CONTRIBUTING.md) for detailed setup instructions and contribution guidelines.\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "CDP Agentkit Langchain Extension",
    "version": "0.0.10",
    "project_urls": null,
    "split_keywords": [
        "coinbase",
        " sdk",
        " crypto",
        " cdp",
        " agentkit",
        " ai",
        " agent",
        " langchain",
        " toolkit"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "acbc11ab54079c438b5c3a5aa2ad5fa85f6d32d4fe219dbe21a914223c0421e0",
                "md5": "bc2f2ee12257c80eaac7f77165dd2996",
                "sha256": "31769c465c7447f8bb0252559903e94994aead6cfc2fbce510cdd5efd7252a3f"
            },
            "downloads": -1,
            "filename": "cdp_langchain-0.0.10-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bc2f2ee12257c80eaac7f77165dd2996",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 8295,
            "upload_time": "2025-01-14T00:25:39",
            "upload_time_iso_8601": "2025-01-14T00:25:39.855151Z",
            "url": "https://files.pythonhosted.org/packages/ac/bc/11ab54079c438b5c3a5aa2ad5fa85f6d32d4fe219dbe21a914223c0421e0/cdp_langchain-0.0.10-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8d3b04a0416f6643c7c38a5d2531ef59ff8039122ca3baafe2f427e87a96763c",
                "md5": "b1b209cf94011a8af5a9bb1888c6a259",
                "sha256": "c89e5ef182440d8e906485300785080c4d22a7bbb0edcd8c0d197e3a3f9c8967"
            },
            "downloads": -1,
            "filename": "cdp_langchain-0.0.10.tar.gz",
            "has_sig": false,
            "md5_digest": "b1b209cf94011a8af5a9bb1888c6a259",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 5783,
            "upload_time": "2025-01-14T00:25:42",
            "upload_time_iso_8601": "2025-01-14T00:25:42.116747Z",
            "url": "https://files.pythonhosted.org/packages/8d/3b/04a0416f6643c7c38a5d2531ef59ff8039122ca3baafe2f427e87a96763c/cdp_langchain-0.0.10.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-14 00:25:42",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "cdp-langchain"
}
        
Elapsed time: 0.43128s