AgentWalletToolkit provides the canonical CAW runtime tool surface that framework-specific integrations (LangChain, OpenAI, MCP) consume and adapt to their runtimes.
include_tools keeps only the named tools, in the same order you provide. exclude_tools removes tools from the default surface. This selection propagates cleanly to LangChain, OpenAI Agents SDK, and MCP-backed custom usage when those adapters are built from the toolkit.
Returns ToolDefinition objects for the full 20-tool runtime surface.The tables below list only the required parameters for each tool. Most tools accept additional optional parameters — for the full parameter surface of each tool, see the Python SDK reference.
List persisted transaction records across operation types.
get_transaction_record
wallet_uuid, record_uuid
Fetch a transaction record by record UUID.
get_transaction_record_by_request_id
wallet_uuid, request_id
Look up a record by idempotency request ID.
list_recent_addresses
wallet_uuid
Retrieve recently used destination addresses.
get_audit_logs
—
Query actions, denials, approvals, and other audit events.
list_transactions is retained for compatibility with earlier integrations. For durable runtime tracking, prefer list_transaction_records and get_transaction_record_by_request_id.
Each ToolDefinition includes a JSON Schema for parameters that framework adapters use to generate type-safe input models (e.g., Pydantic schemas for LangChain, function schemas for OpenAI).
Tool handlers are async callables that invoke WalletAPIClient methods:
tools = toolkit.get_tools()transfer_tool = next(t for t in tools if t.name == "transfer_tokens")# Call the handler directlyresult = await transfer_tool.handler( wallet_uuid="...", chain_id="ETH", dst_addr="0x...", token_id="USDT", amount="10",)
Framework integrations use this formatting to return denials as readable tool output rather than raising exceptions, which lets the agent adapt and retry.