CDP Agentkit toolkit은 LLM agent가 Coinbase Developer Platform과 상호작용할 수 있도록 하는 도구들을 포함하고 있습니다. 이 toolkit은 CDP SDK를 감싸는 wrapper를 제공하여, agent가 전송, 거래, 스마트 컨트랙트 상호작용과 같은 온체인 작업을 수행할 수 있도록 합니다.

Overview

Integration details

ClassPackageSerializableJS supportVersion
CdpToolkitcdp-langchainPyPI - Version

Tool features

이 toolkit은 다음과 같은 도구들을 제공합니다:
  1. get_wallet_details - MPC Wallet에 대한 세부 정보 가져오기
  2. get_balance - 특정 자산의 잔액 가져오기
  3. request_faucet_funds - faucet에서 테스트 토큰 요청하기
  4. transfer - 주소 간 자산 전송하기
  5. trade - 자산 거래하기 (Mainnet 전용)
  6. deploy_token - ERC-20 토큰 컨트랙트 배포하기
  7. mint_nft - 기존 컨트랙트에서 NFT 발행하기
  8. deploy_nft - 새로운 NFT 컨트랙트 배포하기
  9. register_basename - wallet에 대한 basename 등록하기
CDP와 web2 API를 모두 사용하여 여러분의 필요에 맞는 agent를 만들기 위해 자체 도구를 추가하는 것을 권장합니다.

Setup

상위 수준에서 다음을 수행합니다:
  1. langchain package 설치
  2. CDP API 자격 증명 설정
  3. CDP wrapper와 toolkit 초기화
  4. toolkit.get_tools()를 사용하여 agent에 도구 전달
개별 도구의 자동 추적을 활성화하려면 LangSmith API key를 설정하세요:
os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
os.environ["LANGSMITH_TRACING"] = "true"

Installation

이 toolkit은 cdp-langchain package에 있습니다:
pip install -qU cdp-langchain

Set Environment Variables

이 toolkit을 사용하려면 먼저 wallet을 생성하고 온체인에서 상호작용하기 위해 CDP APIs에 액세스하기 위한 다음 환경 변수를 설정해야 합니다. CDP Portal에서 무료로 API key를 신청할 수 있습니다:
import getpass
import os

for env_var in [
    "CDP_API_KEY_NAME",
    "CDP_API_KEY_PRIVATE_KEY",
]:
    if not os.getenv(env_var):
        os.environ[env_var] = getpass.getpass(f"Enter your {env_var}: ")

# Optional: Set network (defaults to base-sepolia)
os.environ["NETWORK_ID"] = "base-sepolia"  # or "base-mainnet"

Instantiation

이제 toolkit을 인스턴스화할 수 있습니다:
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)

Tools

사용 가능한 도구 보기:
tools = toolkit.get_tools()
for tool in tools:
    print(tool.name)

Use within an agent

LLM 또는 chat model이 필요합니다:
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-4o-mini")
도구를 사용하여 agent를 초기화합니다:
from langchain.agents import create_agent


tools = toolkit.get_tools()
agent_executor = create_agent(llm, tools)
사용 예시:
example_query = "Send 0.005 ETH to john2879.base.eth"

events = agent_executor.stream(
    {"messages": [("user", example_query)]},
    stream_mode="values",
)
for event in events:
    event["messages"][-1].pretty_print()
예상 출력:
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 Toolkit Specific Features

Wallet Management

이 toolkit은 MPC wallet을 유지 관리합니다. wallet 데이터는 세션 간에 유지하기 위해 내보내기 및 가져오기가 가능합니다:
# Export wallet data
wallet_data = cdp.export_wallet()

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

Network Support

이 toolkit은 여러 네트워크를 지원합니다

Gasless Transactions

일부 작업은 Base Mainnet에서 gasless transaction을 지원합니다:
  • USDC 전송
  • EURC 전송
  • cbBTC 전송

API reference

모든 CDP 기능 및 구성에 대한 자세한 문서는 CDP docs를 참조하세요.
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.
I