agentwallet-crewai-tool
Non-custodial wallet tools for CrewAI agents. Give your crew members real on-chain wallets with spend limits — so no single agent can drain the treasury without owner sign-off.
Built on agentwallet-sdk.
What you get
Five CrewAI tools, one toolset class:
| Tool | What it does |
|---|---|
agent_wallet_balance |
Check token balances + remaining autonomous spend budget |
agent_wallet_transfer |
Send ERC-20 or native tokens (auto-queues if over spend limit) |
agent_wallet_swap |
Swap tokens via SmartSwapRouter (Uniswap V3 on Base) |
agent_wallet_bridge |
Move USDC cross-chain via CCTP V2 (17 chains) |
agent_wallet_x402_pay |
Pay HTTP 402 endpoints via x402 micropayments |
Every transfer respects the spend policy set by the wallet owner. If an agent tries to send more than the per-tx or period cap, the transaction is queued for owner approval rather than reverting. Agents can't go rogue.
Install
pip install agentwallet-crewai-tool
You also need Node.js ≥18 installed (the tools shell out to the TypeScript SDK via a CLI wrapper):
node --version # should be v18+
npm install -g agentwallet-sdk
Quick start
from crewai import Agent, Task, Crew
from agentwallet_crewai import AgentWalletToolset
# One toolset per agent identity
wallet_tools = AgentWalletToolset(
private_key="0x...", # agent's signing key
account_address="0x...", # deployed AgentAccountV2 contract
chain="base", # base | ethereum | arbitrum | optimism | polygon | solana
).get_tools()
payment_agent = Agent(
role="Payment Processor",
goal="Handle all payment operations for the crew",
backstory="Specialist in on-chain payments and cross-chain asset management.",
tools=wallet_tools,
verbose=True,
)
task = Task(
description="Check our USDC balance and send 10 USDC to 0xRecipient...",
expected_output="Confirmation of balance check and transfer hash",
agent=payment_agent,
)
crew = Crew(agents=[payment_agent], tasks=[task])
result = crew.kickoff()
Architecture
CrewAI is Python. The wallet SDK is TypeScript. This package bridges them:
CrewAI Agent
│
└─ Python tool (_run method)
│
└─ subprocess → wallet_cli.js (Node.js)
│
└─ agentwallet-sdk
│
└─ EVM/Solana RPC
The CLI wrapper takes a JSON payload on stdin, runs the SDK operation, and returns JSON on stdout. Clean separation — the SDK stays as the single source of truth for signing and chain interactions.
Spend limits
The wallet contract enforces spend limits at the smart contract level:
# Set limits via the SDK directly (TypeScript) or via the contract owner
# Per-tx max: 50 USDC
# Period max: 500 USDC/day
# After that, transactions are queued — not rejected
The agent_wallet_transfer tool tells the agent when a transfer was queued vs executed, so it can inform the user and wait for owner approval.
Chains
EVM: Base, Ethereum, Arbitrum, Optimism, Polygon, Base Sepolia
Solana: mainnet (bridge only — for full Solana wallet, use SolanaWallet from the SDK directly)
Configuration
| Param | Type | Description |
|---|---|---|
private_key |
str |
Agent's 0x-prefixed hex private key |
account_address |
str |
Deployed AgentAccountV2 contract address |
chain |
str |
Chain name (default: "base") |
rpc_url |
str |
Custom RPC URL (optional — uses public RPCs if omitted) |
node_binary |
str |
Path to node binary (auto-detected) |
Running tests
pip install -e ".[dev]"
pytest tests/ -v
Tests mock the CLI subprocess — no Node.js or live RPC needed to run them.
Related packages
- agentwallet-sdk — core TypeScript SDK
- agentwallet-langchain — LangChain StructuredTool toolkit
- elizaos-plugin-agentwallet — ElizaOS plugin
License
MIT
Release files for agentwallet-crewai-tool 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agentwallet_crewai_tool-1.0.0.tar.gz | 10.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentwallet_crewai_tool-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.0 kB
Release files / agentwallet_crewai_tool-1.0.0.tar.gz
| Download URL | agentwallet_crewai_tool-1.0.0.tar.gz |
|---|---|
| Size | 10.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3ecb19376713196f5937b54d9a603d1ed7afc4cb201b8fe0078110c169b802f8
|
|
BLAKE2b-256 checksum How to use checksums |
7b2ae8b87ada9023ef49f02af2964e73962e10ee7acda3535f5d1ec70a6ad1b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / agentwallet_crewai_tool-1.0.0-py3-none-any.whl
| Download URL | agentwallet_crewai_tool-1.0.0-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
318adbf54ec466bb7a6c944c38d5c7189bf8ae6e1b6b05bad174e3245be8e4fa
|
|
BLAKE2b-256 checksum How to use checksums |
901ec00201409c9f272f56c59a2950bdc65d27521f79be149c4d8477b01cbeed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|