FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

coinbase/agentkit: Every AI Agent deserves a wallet. · GitHub

Repository files navigation

AgentKit

Every agent deserves a wallet.

Table of Contents

📖 Overview

AgentKit is Coinbase Developer Platform's toolkit for giving AI agents a crypto wallet and onchain interactions. It is designed to be framework-agnostic, so you can use it with any AI framework, and wallet-agnostic, so you can use it with any wallet. With AgentKit, you can enable fee-free stablecoin payments and monetize your AI agents seamlessly. AgentKit is actively being built out, and welcomes community contributions!

🚀 Quickstart

Node.js

Prerequisites:

  1. Get your agent running:
# Create a new fullstack agent project
npm create onchain-agent@latest

# Navigate to your project directory
cd onchain-agent

# At this point, fill in your CDP API key id/secret, OpenAI API key, and any other environment variables in the .env.local file.
# Then, rename the .env.local file to .env
mv .env.local .env

# Install dependencies
npm install

# Run the development server
npm run dev
  1. Visit http://localhost:3000 in your browser and start telling your Agent to do things onchain!
User: Fund my wallet with some testnet ETH.
Agent: Your wallet has been successfully funded with testnet ETH. You can view the transaction [here](https://sepolia.basescan.org/tx/0x03e82934cd04be5b725927729b517c606f6f744611f0f36e834f21ad742ad7ca)

Python

Prerequisites:

  1. Get your agent running:
# Create a new agent chatbot
pipx run create-onchain-agent

# Navigate to your project directory
cd onchain-agent

# At this point, fill in your CDP API key id/secret, OpenAI API key, and any other environment variables in the .env.local file.
# Then, rename the .env.local file to .env
mv .env.local .env

# Install dependencies
poetry install

# Run the chatbot
poetry run python chatbot.py
  1. Select "1. chat mode" and start telling your Agent to do things onchain!
Prompt: Fund my wallet with some testnet ETH.
-------------------
Wallet: ccaf1dbf-3a90-4e52-ad34-89a07aad9e8b on network: base-sepolia with default address: 0xD9b990c7b0079c1c3733D2918Ee50b68f29FCFD5
-------------------

-------------------
Received eth from the faucet. Transaction: https://sepolia.basescan.org/tx/0x03e82934cd04be5b725927729b517c606f6f744611f0f36e834f21ad742ad7ca
-------------------
Your wallet has been successfully funded with testnet ETH. You can view the transaction [here](https://sepolia.basescan.org/tx/0x03e82934cd04be5b725927729b517c606f6f744611f0f36e834f21ad742ad7ca).
-------------------

🗂 Repository Structure

AgentKit is organized as two monorepos, one for Python and one for Typescript, each containing multiple packages.

agentkit/
├── typescript/
│   ├── agentkit/
|   |   └── scripts/generate-action-provider/ # use this to create new actions
│   │   └── src/
│   │       ├── action-providers/ # find 50+ actions in here
│   │       └── wallet-providers/
│   │           ├── cdp/
│   │           ├── privy/
│   │           └── viem/
│   ├── create-onchain-agent/
│   ├── framework-extensions/
│   │   ├── langchain/
│   │   ├── vercel-ai-sdk/
│   │   └── model-context-protocol/
│   └── examples/
│       ├── langchain-cdp-chatbot/
│       ├── langchain-cdp-smart-wallet-chatbot/
│       ├── langchain-farcaster-chatbot/
│       ├── langchain-legacy-cdp-chatbot/
│       ├── langchain-privy-chatbot/
│       ├── langchain-solana-chatbot/
│       ├── langchain-twitter-chatbot/
│       ├── langchain-xmtp-chatbot/
│       ├── langchain-zerodev-chatbot/
│       ├── model-context-protocol-smart-wallet-server/
│       └── vercel-ai-sdk-smart-wallet-chatbot/
├── python/
│   ├── coinbase-agentkit/
│   │   └── coinbase_agentkit/
│   │       ├── action_providers/  # find 30+ actions in here
│   │       └── wallet_providers/
│   │           ├── cdp/
│   │           ├── privy/
│   │           └── viem/
│   ├── create-onchain-agent/
│   ├── framework-extensions/
│   │   ├── autogen/
│   │   ├── langchain/
│   │   ├── openai-agents-sdk/
│   │   ├── pydantic-ai/
│   │   └── strands-agents/
│   └── examples/
│       ├── autogen-cdp-chatbot/
│       ├── langchain-cdp-chatbot/
│       ├── langchain-cdp-smart-wallet-chatbot/
│       ├── langchain-cdp-solana-chatbot/
│       ├── langchain-eth-account-chatbot/
│       ├── langchain-nillion-secretvault-chatbot/
│       ├── langchain-twitter-chatbot/
│       ├── openai-agents-sdk-cdp-chatbot/
│       ├── openai-agents-sdk-cdp-voice-chatbot/
│       ├── openai-agents-sdk-smart-wallet-chatbot/
│       ├── pydantic-ai-cdp-chatbot/
│       └── strands-agents-cdp-server-chatbot/

⚠️ Managing Risk

AgentKit gives an AI agent a wallet. LLMs do not reliably distinguish instructions from data, so text that reaches the model's context can influence which actions the agent takes, including transfers. This is inherent to the design and cannot be resolved within the SDK.

Every surface that feeds the model text increases the injection surface:

  • Direct — interfaces where a third party sends text to the agent, such as a public website, chat bot, or API.
  • Indirect — actions that pull external content into context. twitterActionProvider returns mentions and farcasterActionProvider returns profile data, both as tool output the model reads.

Either surface, combined with a funded wallet and a fund-moving action provider (walletActionProvider is registered by default), is sufficient for injected text to result in an onchain transfer. AgentKit does not gate transfers behind human approval, enforce spend caps, or allowlist destinations.

By using AgentKit you accept that managing these surfaces and keeping your funds safe is your responsibility as the developer.

Guardrails middleware is one common strategy. See the LangChain middleware docs and the guardrails chatbot example, which combines human-in-the-loop approval for transfers with prompt injection filtering.

🤝 Contributing

AgentKit is actively looking for community contributions!

  • To see a list of actions and frameworks we'd love to see open-source contributions for, see WISHLIST.md.
  • To understand the process for contributing to AgentKit, see CONTRIBUTING.md.

📜 Documentation

🌙 Nightly Builds

To access the bleeding edge version of AgentKit, you can install the nightly build for your language. This is a build of the latest code in the main branch, and is updated nightly.

Typescript

You can install the latest nightly build with the following command:

npm install @coinbase/agentkit@nightly @coinbase/agentkit-langchain@nightly

If you're using an AI framework other than Langchain, make sure to install the corresponding package instead of @coinbase/agentkit-langchain.

To install a specific version of the nightly build, you can specify the exact version. For example, if you want to install the nightly build from February 20th, 2025, you can run the following:

npm install @coinbase/agentkit@0.2.3-nightly.20250220.0 @coinbase/agentkit-langchain@0.2.3-nightly.20250220.0

Python

You can install the latest nightly build with the following command:

pip install --pre coinbase-agentkit coinbase-agentkit-langchain

# or, using poetry
poetry add coinbase-agentkit coinbase-agentkit-langchain --allow-prereleases

If you're using an AI framework other than Langchain, make sure to install the corresponding package instead of coinbase-agentkit-langchain.

To install a specific version of the nightly build, you can specify the exact version. For example, if you want to install the nightly build from February 20th, 2025, you can run the following:

pip install coinbase-agentkit==0.1.2.dev20250220 coinbase-agentkit-langchain==0.1.1.dev20250220

# or, using poetry
poetry add coinbase-agentkit==0.1.2.dev20250220 coinbase-agentkit-langchain==0.1.1.dev20250220 --allow-prereleases

🚨 Security and Bug Reports

The AgentKit team takes security seriously. See SECURITY.md for more information.

📧 Contact

For feature requests, feedback, or questions, please reach out to us via the Coinbase Developer Platform Discord.

🔗 Supported Wallets, Protocols, and Frameworks

AgentKit is proud to have support for the following protocols, frameworks, wallets and networks. For detailed documentation on supported providers, see:

Wallets

Protocols

Frameworks

Networks

Note: We support all EVM and SVM networks, with deep protocol support for the above networks. Please don't hesitate to make contributions to add more support for your preferred networks.

📝 License

AgentKit is licensed under the Apache-2.0 license.

🔒 Legal and Privacy

The AgentKit software is novel and experimental, and is therefore provided on an AS-IS basis. The software is intended to be used only for the purposes of assisting with designing blockchain transactions and enabling other API integrations using natural language inputs, and is not intended to provide (i) an offer, or solicitation of an offer, to invest in, or to buy or sell, any interests or shares, or to participate in any investment or trading strategy, (ii) accounting, legal, tax advice, investment recommendations or other professional advice or (iii) an official statement of Coinbase. Acts proposed or performed by an agent through AgentKit software are NOT acts of Coinbase. You should consult with a professional advisor before making any decisions based on the information provided by the software. You are not permitted to use the proceeds of loans or credit to purchase digital assets on or through coinbase.com, Coinbase's APIs, the Coinbase mobile application, or any other Coinbase website or product, including AgentKit. No representation or warranty is made, expressed or implied, with respect to the accuracy, completeness, reliability, security, or suitability of the software or to any information provided in connection with the software. The risk of loss through use of the software can be substantial, and you assume any and all risks of loss and liability. The software may produce output that is inaccurate, incorrect, unpredictable or undesirable, and it is the user’s exclusive responsibility to evaluate the output and the use-case and determine whether it is appropriate. The right to use the software is contingent on your agreement to the CDP Terms of Service (except to the extent it conflicts with the Apache-2.0 license).

About

Every AI Agent deserves a wallet.

Resources

Contributing

Security policy

Stars

1.3k stars

Watchers

20 watching

Forks

Used by

Contributors

Languages


Back | FazBrowse Home | New Git URL