Open-source framework for building autonomous AI agents that interact with blockchain networks
Project description
๐ค Web3 Agent Kit
Build autonomous AI agents that interact with blockchains โ in minutes, not months.
๐ค Why Web3 Agent Kit?
Building AI agents that interact with blockchains is hard. You need to juggle RPC providers, wallet management, transaction signing, gas estimation, DeFi protocol ABIs, LLM integration, and safety rails โ all before writing a single line of business logic.
Web3 Agent Kit handles all of that for you.
| Pain Point | Without Web3 Agent Kit | With Web3 Agent Kit |
|---|---|---|
| Setup | Days of boilerplate | pip install โ 5 lines of code |
| Multi-chain | Write adapters per chain | Built-in for 7+ chains |
| LLM Integration | Manual prompt engineering | Natural language goals, auto-parsed |
| Safety | Build your own guardrails | Spend limits, kill switch, operator confirmation |
| DeFi | Read docs, write ABIs | Drop-in Uniswap, Aave, bridges |
| Yield | Manual research, claim, compound | Auto-compound, cross-protocol APY comparison |
| Multi-wallet | Manage keys manually | Batch ops, consolidated portfolio, wallet groups |
| Extensibility | Hard-coded logic | Plugin system โ community can extend anything |
| Error Handling | Manual retry logic | Auto-fallback across LLM providers & RPCs |
๐๏ธ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ User / Application โ
โ "Swap 0.1 ETH to USDC on Base" โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Agent Framework โ
โ โโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โ Goal โโ โ LLM Planner โโ โ Tool โโ โ Transactionโ โ
โ โ Parser โ โ (cascade) โ โ Router โ โ Executor โ โ
โ โโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโฌโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโ
โ Safety Layer โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโ โ
โ โ Spend Governor โ โ โ
โ โ โข Per-tx limits โ โ โ
โ โ โข Daily caps โ โ โ
โ โ โข Kill switch โ โ โ
โ โ โข Operator confirmation โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโ
โ Tool Ecosystem โ โ
โ โโโโโโโโโโโ โโโโโโโโโโโโ โ โ
โ โ Uniswap โ โ Bridge โ โ โ
โ โ V2/V3 โ โ Agg. โ โ โ
โ โโโโโโโโโโโค โโโโโโโโโโโโค โ โ
โ โ Sniper โ โ Portfolioโ โ โ
โ โ Module โ โ Tracker โ โ โ
โ โโโโโโโโโโโ โโโโโโโโโโโโ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโ
โ Chain Abstraction Layer โ โ
โ โโโโโโโโ โโโโโโโโ โโโโโโ โ โ
โ โ ETH โ โ BASE โ โARB โ โ โ
โ โโโโโโโโค โโโโโโโโค โโโโโโค โ โ
โ โ OP โ โ MATICโ โAVAXโ โ โ
โ โโโโโโโโค โโโโโโโโค โโโโโโค โ โ
โ โ BSC โ โ โ โ โ โ โ
โ โโโโโโโโ โโโโโโโโ โโโโโโ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Comparison vs Alternatives
| Feature | Web3 Agent Kit | LangChain + Web3 | Custom Bot | Goat SDK |
|---|---|---|---|---|
| Setup Time | Minutes | Hours | Days | Hours |
| Multi-chain | 7+ chains | Manual | Manual | Limited |
| Built-in LLM | 6 providers | DIY | โ | โ |
| DeFi Tools | Uniswap, Aave, bridges | โ | โ | Limited |
| Token Sniper | โ | โ | โ | โ |
| Yield Optimizer | โ | โ | โ | โ |
| Multi-Wallet | โ | โ | โ | โ |
| Plugin System | โ | โ | โ | โ |
| Safety Rails | โ Governor | โ | โ | โ |
| Natural Language | โ | Partial | โ | โ |
| Python Native | โ | โ | Varies | โ (TS) |
| Type Hints | โ | Partial | Varies | N/A |
| Active Maintenance | โ | โ | Depends | Limited |
๐ฏ Quick Start
1. Install
pip install web3-agent-kit
2. Set Environment Variables
# Required: Wallet private key
export PRIVATE_KEY="0x..."
# Required: At least one LLM provider key
export OPENAI_API_KEY="sk-..." # OpenAI
export ANTHROPIC_API_KEY="sk-ant-..." # Anthropic (best reasoning)
export GROQ_API_KEY="gsk_..." # Groq (fastest)
export DEEPSEEK_API_KEY="sk-..." # DeepSeek (cheapest)
# Optional: Custom RPC endpoints (public defaults are provided)
export ETH_RPC="https://..."
export BASE_RPC="https://..."
3. Write Your First Agent
from web3_agent_kit import Agent, Wallet, Chain, ChainManager
from web3_agent_kit.defi import Uniswap
# Setup
chain_manager = ChainManager(chains=[Chain.BASE])
wallet = Wallet.from_env("PRIVATE_KEY", chain_manager=chain_manager)
uniswap = Uniswap(chain_manager=chain_manager)
# Create agent with LLM reasoning
agent = Agent(
wallet=wallet,
chains=[Chain.BASE],
tools=[uniswap],
)
# Natural language swap โ that's it!
result = agent.run("Swap 0.1 ETH to USDC on Base")
print(result)
4. Run It
python my_agent.py
๐ก Tip: Start with a small amount on a testnet or use
dry_run=Truemode to validate behavior before going live.
โจ Features
๐ค Core
- ๐ Multi-chain support โ Ethereum, Base, Arbitrum, Optimism, Polygon, Avalanche, BSC
- ๐ง LLM-powered reasoning โ Multi-provider cascade (OpenAI, Anthropic, Groq, DeepSeek, OpenRouter, Kimi)
- ๐ฏ Natural language goals โ Tell the agent what to do in plain English
- ๐ Governed signing โ Safety caps, kill-switch, operator confirmation
๐ฐ DeFi
- ๐ฑ Uniswap V2 swaps โ Actual token swaps with quotes, approvals, slippage protection
- ๐ Cross-chain bridges โ Li.Fi + Socket aggregators for best routes
- ๐ Portfolio tracking โ Real-time balances, P&L across all chains
๐ซ Sniper
- ๐ฏ Token sniper โ Monitor new liquidity pools, auto-buy safe tokens
- ๐ก๏ธ Risk assessment โ Honeypot detection, liquidity checks, contract analysis
- โก Live monitoring โ Background thread with callback alerts
๐ฏ Showcase
Telegram Bot
A full-featured Telegram bot built with web3-agent-kit:
cd showcase/telegram-bot
pip install -r requirements.txt
python bot.py
Features: balance check, token swap, portfolio tracking, token sniper, cross-chain bridge.
๐ฆ Examples
| Example | Description |
|---|---|
examples/llm_swap_agent.py |
LLM-powered natural language swapping |
examples/direct_swap.py |
Programmatic Uniswap swap without LLM |
examples/token_sniper.py |
Monitor new pairs, auto-buy safe tokens |
examples/portfolio_dashboard.py |
Real-time portfolio across chains |
examples/bridge_agent.py |
Cross-chain transfers via Li.Fi/Socket |
examples/swap_agent.py |
Autonomous token swapping |
examples/yield_optimizer.py |
Cross-protocol yield farming + auto-compound |
examples/multi_wallet.py |
Multi-wallet management + batch ops |
examples/plugin_system.py |
Plugin system usage + custom plugins |
examples/airdrop_farmer.py |
Multi-chain airdrop farming |
examples/sniper_bot.py |
Token launch sniper |
examples/portfolio_tracker.py |
Portfolio tracking & reporting |
examples/llm_swap_agent.py |
LLM-powered natural language swapping |
๐ง LLM Integration
Multi-provider cascade with automatic fallback:
from web3_agent_kit.llm import LLM
# Auto-detect from environment variables
llm = LLM()
# Cascade order: Anthropic โ Kimi โ OpenRouter โ DeepSeek โ Groq โ OpenAI
# Simple chat
response = llm.chat("What is the best yield on Base?")
# JSON response
data = llm.chat_json("Analyze this swap: 0.1 ETH to USDC")
Supported providers:
- Anthropic (Claude) โ Best reasoning
- OpenAI (GPT-4) โ General purpose
- Groq (Llama) โ Fastest inference
- DeepSeek โ Cheapest
- OpenRouter โ Multi-model fallback
- Kimi โ Long context
๐ซ Token Sniper
Monitor new liquidity pools and auto-buy safe tokens:
from web3_agent_kit import TokenSniper, SniperConfig, RiskLevel
config = SniperConfig(
max_buy=0.005, # max 0.005 ETH per snipe
auto_buy=True, # auto-buy safe tokens
honeypot_check=True, # check if token is honeypot
min_liquidity=0.5, # min 0.5 ETH liquidity
)
sniper = TokenSniper(chain_manager, wallet, config, uniswap=uniswap)
# Scan recent blocks
pairs = sniper.scan_recent_blocks(num_blocks=100, chain=Chain.BASE)
# Or start live monitoring
sniper.start(chain=Chain.BASE, poll_interval=12)
๐ Portfolio Dashboard
Track balances and P&L across chains:
from web3_agent_kit import PortfolioTracker
tracker = PortfolioTracker(chain_manager, wallet)
summary = tracker.get_summary()
print(summary)
# ๐ Portfolio: 0x1234...
# ๐ฐ Total Value: $12,345.67
#
# ๐ ETHEREUM: $8,000.00
# Native: 1.5000 ETH ($5,250.00)
# USDC: 2750.0000 ($2,750.00)
#
# ๐ BASE: $4,345.67
# Native: 1.2000 ETH ($4,200.00)
# USDC: 145.6700 ($145.67)
๐ Bridge Agent
Cross-chain transfers via Li.Fi and Socket:
from web3_agent_kit import BridgeAgent
bridge = BridgeAgent(chain_manager, wallet)
# Get best routes
routes = bridge.get_routes("ETH", 0.1, Chain.ETHEREUM, Chain.BASE)
for route in routes:
print(f"{route.bridge_name}: {route.amount_out:.6f} ETH (fee: ${route.fee_usd:.2f})")
# Execute transfer
result = bridge.transfer("ETH", 0.1, Chain.ETHEREUM, Chain.BASE)
print(f"TX: {result.tx_hash}")
๐พ Yield Optimizer
Auto-compound and compare yield across DeFi protocols:
from web3_agent_kit import YieldOptimizer, YieldConfig, RiskLevel
optimizer = YieldOptimizer(wallet, Chain.ETHEREUM, YieldConfig(
min_apy=2.0,
max_risk=RiskLevel.MEDIUM,
auto_compound_threshold=25,
))
# Scan & compare
opportunities = optimizer.scan_opportunities("USDC")
best = optimizer.find_best("USDC", amount=10000)
# Deposit & auto-compound
optimizer.deposit(best, amount=10000)
optimizer.auto_compound_all()
Protocols: Aave V3, Compound V3, Morpho, Lido, Rocket Pool, Fluid Data source: DeFiLlama API (real-time APY/TVL)
๐ Multi-Wallet Manager
Manage multiple wallets with batch operations:
from web3_agent_kit import MultiWalletManager, Chain
manager = MultiWalletManager(chain=Chain.ETHEREUM)
# Create wallet groups
manager.create_wallet("trading-01", group="trading")
manager.create_wallet("airdrop-01", group="airdrop")
# Batch send from all airdrop wallets
results = manager.batch_send(
recipients=["0xAddr1", "0xAddr2"],
amount=0.001,
group_filter="airdrop",
)
# Consolidate funds back
manager.consolidate_to("main", group_filter="airdrop")
Features: Wallet groups, batch send (native + ERC20), consolidated portfolio, fund consolidation.
๐ Plugin System
Extend with community plugins:
from web3_agent_kit.plugins import PluginManager
manager = PluginManager()
manager.load_dir("./my_plugins/")
manager.setup_all(agent)
# Plugins can hook into agent lifecycle
# manager.before_transaction(tx)
# manager.on_block(block_number)
Create a plugin:
from web3_agent_kit.plugins import Plugin, PluginMeta
class MyPlugin(Plugin):
@property
def meta(self):
return PluginMeta(name="my-plugin", version="1.0.0",
description="Does cool things", author="You")
def setup(self, agent):
self.agent = agent
def execute(self, action, **kwargs):
return {"result": "done"}
Discovery: Local directories, Python entry points, or manual registration.
๐ Project Structure
web3-agent-kit/
โโโ src/
โ โโโ __init__.py # Package exports
โ โโโ agent.py # Agent framework + LLM reasoning
โ โโโ llm.py # Multi-provider LLM client
โ โโโ wallet.py # Wallet management + signing
โ โโโ chain.py # Multi-chain RPC + config
โ โโโ sniper.py # Token sniper + monitoring
โ โโโ portfolio.py # Portfolio tracking + P&L
โ โโโ bridge.py # Cross-chain bridge agent
โ โโโ yield_optimizer.py # Yield optimizer + auto-compound
โ โโโ multi_wallet.py # Multi-wallet manager + batch ops
โ โโโ plugins/
โ โ โโโ __init__.py # Plugin system (base, registry, manager)
โ โ โโโ examples/
โ โ โโโ gas_tracker.py
โ โโโ defi/
โ โโโ __init__.py # Uniswap, Aerodrome, Aave, Curve
โโโ examples/ # 13 ready-to-use examples
โโโ tests/ # Test suite
โโโ docs/ # Documentation
โก Benchmarks
๐ Benchmarks will be published after v1.0 release. Numbers below are preliminary estimates on standard hardware.
| Metric | Value | Notes |
|---|---|---|
| Swap execution (incl. LLM) | ~3โ8s | Depends on LLM provider |
| Swap execution (no LLM) | ~1โ3s | Direct RPC interaction |
| Portfolio fetch (7 chains) | ~2โ4s | Parallel RPC calls |
| Sniper block scan (100 blocks) | ~5โ10s | Per chain |
| Bridge route discovery | ~1โ2s | Aggregator API latency |
Benchmarks run on: Python 3.11, 4-core CPU, SSD, public RPC endpoints.
๐ Safety
Web3 Agent Kit includes built-in safety features:
from web3_agent_kit.safety import SpendGovernor, SpendLimits
governor = SpendGovernor(
limits=SpendLimits(
max_per_tx=0.1, # max 0.1 ETH per transaction
daily_limit=1.0, # max 1 ETH per day
),
require_confirm=True, # operator must confirm
)
# Kill switch for emergencies
governor.kill() # blocks all transactions
governor.unkill() # resume
๐ ๏ธ Supported Chains
| Chain | Status | Uniswap | Bridge |
|---|---|---|---|
| Ethereum | โ | โ | โ |
| Base | โ | โ | โ |
| Arbitrum | โ | โ | โ |
| Optimism | โ | โ | โ |
| Polygon | โ | โ | โ |
| Avalanche | โ | โ | โ |
| BSC | โ | โ | โ |
| Solana | ๐ | โ | โ |
๐ค Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
๐ License
MIT License โ see LICENSE for details.
๐ Acknowledgments
Built with:
- web3.py โ Ethereum interactions
- OpenAI / Anthropic / Groq โ LLM providers
- Uniswap โ DEX protocol
- Li.Fi / Socket โ Bridge aggregators
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file web3_agent_kit-0.4.0.tar.gz.
File metadata
- Download URL: web3_agent_kit-0.4.0.tar.gz
- Upload date:
- Size: 60.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50b5255c2618f39379835aa3f672ae76e387b2404302f06de9fda87e2985516c
|
|
| MD5 |
6b9a51599fafb6f51a9ecd8e36a316ef
|
|
| BLAKE2b-256 |
30e8f39a61280e9bb7d1c1aca6c8465e5c0af71f0b9b31ab126496a865585139
|
File details
Details for the file web3_agent_kit-0.4.0-py3-none-any.whl.
File metadata
- Download URL: web3_agent_kit-0.4.0-py3-none-any.whl
- Upload date:
- Size: 47.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cccb65ffbe2d68fab0f30445b4b95617f496958e52d27dca22fa8d6d2534bc71
|
|
| MD5 |
e0c5e049ba1411bc29d2358efe0c1018
|
|
| BLAKE2b-256 |
93b32d58aaff207407e9d46bc8595294211d51e0fd8f0be2face3ec4480c6e27
|