An open API service indexing awesome lists of open source software.

https://github.com/coinbase/agentkit

Every AI Agent deserves a wallet.
https://github.com/coinbase/agentkit

Last synced: 12 months ago
JSON representation

Every AI Agent deserves a wallet.

Awesome Lists containing this project

README

          








AgentKit


Every agent deserves a wallet.

[![](https://github.com/coinbase/agentkit/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/coinbase/agentkit/actions/workflows/github-code-scanning/codeql)
[![pypi downloads](https://img.shields.io/pypi/dm/coinbase-agentkit?label=pypi:coinbase-agentkit&style=flat-square)](https://pypistats.org/packages/coinbase-agentkit)
[![npm downloads](https://img.shields.io/npm/dm/@coinbase/agentkit?label=npm:@coinbase/agentkit&style=flat-square)](https://www.npmjs.com/package/@coinbase/agentkit)
[![GitHub star chart](https://img.shields.io/github/stars/coinbase/agentkit?style=flat-square)](https://star-history.com/#coinbase/agentkit)
[![Open Issues](https://img.shields.io/github/issues-raw/coinbase/agentkit?style=flat-square)](https://github.com/coinbase/agentkit/issues)

## Table of Contents

- [πŸ“– Overview](#-overview)
- [πŸš€ Quickstart](#-quickstart)
- [Node.js](#nodejs)
- [Python](#python)
- [πŸ—‚ Repository Structure](#-repository-structure)
- [🀝 Contributing](#-contributing)
- [πŸ“œ Documentation](#-documentation)
- [πŸŒ™ Nightly Builds](#-nightly-builds)
- [🚨 Security and bug reports](#-security-and-bug-reports)
- [πŸ“§ Contact](#-contact)
- [πŸ”— Supported Wallets, Protocols, and Frameworks](#-supported-wallets-protocols-and-frameworks)
- [πŸ“ License](#-license)
- [πŸ”’ Legal and Privacy](#-legal-and-privacy)

## πŸ“– Overview

AgentKit is [Coinbase Developer Platform's](https://docs.cdp.coinbase.com) 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!](#-contributing)



Video Title


Watch our welcome guide above to understand what AgentKit is, learn how to navigate this repository, and get started building your first onchain AI agent.



## πŸš€ Quickstart

### Node.js

_Prerequisites_:

- [Node.js 18+](https://nodejs.org/en/download/)
- [CDP Secret API Key](https://docs.cdp.coinbase.com/get-started/docs/cdp-api-keys#creating-secret-api-keys)
- [OpenAI API Key](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key)

1. Get your agent running:

```bash
# 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 name, 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
```

2. Visit `http://localhost:3000` in your browser and start telling your Agent to do things onchain!

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

- [Python 3.10+](https://www.python.org/downloads/)
- [Poetry](https://python-poetry.org/docs/)
- [CDP Secret API Key](https://docs.cdp.coinbase.com/get-started/docs/cdp-api-keys#creating-secret-api-keys)
- [OpenAI API Key](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key)

1. Get your agent running:

```bash
# 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 name, 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
```

2. Select "1. chat mode" and start telling your Agent to do things onchain!

```bash
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/
β”‚ β”‚ └── src/
β”‚ β”‚ β”œβ”€β”€ action-providers/ # find 50+ actions in here
β”‚ β”‚ └── wallet-providers/
β”‚ β”‚ β”œβ”€β”€ cdp/
β”‚ β”‚ β”œβ”€β”€ privy/
β”‚ β”‚ └── viem/
β”‚ β”‚ └── scripts/generate-action-provider/ # use this to create new actions
β”‚ β”œβ”€β”€ create-onchain-agent/
β”‚ β”œβ”€β”€ framework-extensions/
β”‚ β”‚ β”œβ”€β”€ langchain/
β”‚ β”‚ β”œβ”€β”€ vercel-ai-sdk/
β”‚ β”‚ └── model-context-protocol/
β”‚ └── examples/
β”‚ β”œβ”€β”€ langchain-cdp-chatbot/
β”‚ β”œβ”€β”€ langchain-cdp-v2-chatbot/
β”‚ β”œβ”€β”€ langchain-farcaster-chatbot/
β”‚ β”œβ”€β”€ langchain-privy-chatbot/
β”‚ β”œβ”€β”€ langchain-solana-chatbot/
β”‚ β”œβ”€β”€ langchain-twitter-chatbot/
β”‚ β”œβ”€β”€ langchain-xmtp-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/
β”‚ β”‚ β”œβ”€β”€ langchain/
β”‚ β”‚ └── openai-agents-sdk/
β”‚ └── examples/
β”‚ β”œβ”€β”€ langchain-cdp-chatbot/
β”‚ β”œβ”€β”€ langchain-eth-account-chatbot/
β”‚ β”œβ”€β”€ langchain-smart-wallet-chatbot/
β”‚ β”œβ”€β”€ langchain-twitter-chatbot/
β”‚ └── openai-agents-cdp-voice-chatbot/
β”‚ └── openai-agents-sdk-smart-wallet-chatbot/
```

## 🀝 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](./WISHLIST.md).
- To understand the process for contributing to AgentKit, see [CONTRIBUTING.md](./CONTRIBUTING.md).

## πŸ“œ Documentation

- [AgentKit Documentation](https://docs.cdp.coinbase.com/agentkit/docs/welcome)
- Python API References
- [AgentKit](https://coinbase.github.io/agentkit/coinbase-agentkit/python/index.html)
- [AgentKit Langchain Extension](https://coinbase.github.io/agentkit/coinbase-agentkit-langchain/python/index.html)
- Node.js API References
- [AgentKit](https://coinbase.github.io/agentkit/agentkit/typescript/index.html)
- [AgentKit Langchain Extension](https://coinbase.github.io/agentkit/agentkit-langchain/typescript/index.html)
- [AgentKit Vercel AI SDK Extension](https://coinbase.github.io/agentkit/agentkit-vercel-ai-sdk/typescript/index.html)
- [AgentKit Model Context Protocol Extension](https://coinbase.github.io/agentkit/agentkit-model-context-protocol/typescript/index.html)

## πŸŒ™ 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:

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

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

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

```bash
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](SECURITY.md) for more information.

## πŸ“§ Contact

For feature requests, feedback, or questions, please reach out to us via the
[Coinbase Developer Platform Discord](https://discord.com/channels/1220414409550336183/1304126107876069376).

## πŸ”— 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:

- [Action Providers (TypeScript)](https://github.com/coinbase/agentkit/blob/main/typescript/agentkit/src/action-providers)
- [Action Providers (Python)](https://github.com/coinbase/agentkit/blob/main/python/coinbase-agentkit/coinbase_agentkit/action_providers)
- [Wallet Providers (TypeScript)](https://github.com/coinbase/agentkit/blob/main/typescript/agentkit/src/wallet-providers)
- [Wallet Providers (Python)](https://github.com/coinbase/agentkit/blob/main/python/coinbase-agentkit/coinbase_agentkit/wallet_providers)

### Wallets

Coinbase
Privy
ViEM

### Protocols

Alchemy
Compound
DefiLlama
Farcaster
Jupiter
Hyperbolic
Moonwell
Morpho
Pyth
OpenSea
Superfluid
Zora
Allora

### Frameworks

Langchain
Eliza
Vercel AI SDK
Model Context Protocol
Agents SDK

### Networks

Base
Ethereum
Solana

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.md) 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](https://www.coinbase.com/legal/developer-platform/terms-of-service) (except to the extent it conflicts with the Apache-2.0 license).