New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@coinbase/cdp-langchain

Package Overview
Dependencies
Maintainers
9
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@coinbase/cdp-langchain

Langchain Toolkit extension of CDP Agentkit

  • 0.0.15
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4.2K
increased by20.3%
Maintainers
9
Weekly downloads
 
Created
Source

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

npm install @coinbase/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

import { CdpToolkit } from "@coinbase/cdp-langchain";
import { CdpAgentkit } from "@coinbase/cdp-agentkit-core";

// Initialize CDP AgentKit
const agentkit = await CdpAgentkit.configureWithWallet();

// Create toolkit
const toolkit = new CdpToolkit(agentkit);

// Get available tools
const tools = toolkit.getTools();

The toolkit provides the following tools:

  1. address_reputation - Retrieve the address's reputation on a given network
  2. deploy_contract - Deploy an arbitrary contract using the Solidity compiler
  3. deploy_nft - Deploy new NFT contracts
  4. deploy_token - Deploy ERC-20 token contracts
  5. get_balance - Get balance for specific assets
  6. get_balance_nft - Get balance for specific NFTs (ERC-721)
  7. get_wallet_details - Get details about the MPC Wallet
  8. mint_nft - Mint NFTs from existing contracts
  9. morpho_deposit - Deposit into a morpho vault
  10. morpho_withdraw - Withdraw from a morpho vault
  11. pyth_fetch_price - Fetch the price of a given price feed from Pyth Network
  12. pyth_fetch_price_feed_id - Fetch the price feed ID for a given token symbol from Pyth Network
  13. register_basename - Register a basename for the wallet
  14. request_faucet_funds - Request test tokens from faucet
  15. trade - Trade assets (Mainnet only)
  16. transfer - Transfer assets between addresses
  17. transfer_nft - Transfer an NFT (ERC-721)
  18. wow_buy_token - Buy Zora Wow ERC20 memecoin with ETH
  19. wow_create_token - Deploy a token using Zora's Wow Launcher (Bonding Curve)
  20. wow_sell_token - Sell Zora Wow ERC20 memecoin for ETH
  21. wrap_eth - Wrap ETH to WETH

Using with an Agent

Additional Installations
npm install @langchain/langgraph @langchain/openai
import { ChatOpenAI } from "@langchain/openai";
import { HumanMessage } from "@langchain/core/messages";
import { createReactAgent } from "@langchain/langgraph/prebuilt";

// Initialize LLM
const model = new ChatOpenAI({
  model: "gpt-4o-mini",
});

// Create agent executor
const agent = createReactAgent({
  llm: model,
  tools,
});

// Example usage
const result = await agent.invoke({
  messages: [new HumanMessage("Send 0.005 ETH to john2879.base.eth")],
});

console.log(result.messages[result.messages.length - 1].content);

CDP Toolkit Specific Features

Wallet Management

The toolkit maintains an MPC wallet that persists between sessions:

// Export wallet data
const walletData = await agentkit.exportWallet();

// Import wallet data
const importedAgentkit = await CdpAgentkit.configureWithWallet({ cdpWalletData: walletData });

Network Support

The toolkit supports multiple networks.

Gasless Transactions

The following operations support gasless transactions on Base Mainnet:

  • USDC transfers
  • EURC transfers
  • cbBTC transfers

Examples

Check out cdp-langchain/examples for inspiration and help getting started!

  • Chatbot Typescript: Simple example of a Node.js Chatbot that can perform complex onchain interactions, using OpenAI.

Contributing

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

Keywords

FAQs

Package last updated on 24 Jan 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc