Skip to main content

Documentation Index

Fetch the complete documentation index at: https://cobo.com/products/agentic-wallet/manual/llms.txt

Use this file to discover all available pages before exploring further.

Before you start

Complete the CLI quickstart first so your runtime already has a paired wallet, API key, and wallet UUID.

5-minute outcome

  1. Register CoboAgentWalletTools with Agno agent
  2. Submit a pact and wait for owner approval
  3. Execute success plus denial sequence
  4. Retry based on denial guidance
  5. Validate in audit logs

Step 1: Install

pip install "cobo-agentic-wallet[agno]"

Step 2: Configure environment

export AGENT_WALLET_API_URL=https://api.agenticwallet.cobo.com
export AGENT_WALLET_API_KEY=your-api-key
export OPENAI_API_KEY=your-openai-api-key

Step 3: Create Agno agent

agno_quickstart.py
import asyncio
import os

from agno.agent import Agent
from agno.models.openai import OpenAIChat

from cobo_agentic_wallet import WalletAPIClient
from cobo_agentic_wallet.integrations.agno import CoboAgentWalletTools

INCLUDE_TOOLS = [
    "submit_pact", "get_pact", "transfer_tokens",
    "estimate_transfer_fee", "get_transaction_record_by_request_id", "get_audit_logs",
]


async def main() -> None:
    _ = os.environ["OPENAI_API_KEY"]  # consumed implicitly by Agno's OpenAIChat
    wallet_id = os.environ["AGENT_WALLET_WALLET_ID"]
    destination = os.environ.get("CAW_DESTINATION", "0x1111111111111111111111111111111111111111")
    prompt = (
        f"Use wallet {wallet_id}. Submit a pact for a controlled transfer task and wait until "
        f"it is active. Using the newly created pact, transfer 0.001 SETH to {destination} on "
        f"SETH. Next, using the same pact, attempt 0.005 SETH. If denied, follow the denial "
        f"guidance and retry with a compliant amount. Track the result by request_id and "
        f"summarize what happened."
    )

    async with WalletAPIClient(
        base_url=os.environ["AGENT_WALLET_API_URL"],
        api_key=os.environ["AGENT_WALLET_API_KEY"],
    ) as client:
        toolkit = CoboAgentWalletTools(client=client, include_tools=INCLUDE_TOOLS)
        try:
            agent = Agent(
                model=OpenAIChat(id="gpt-4.1-mini"),
                tools=[toolkit],
                markdown=True,
            )
            response = await agent.arun(prompt)
            print(response.content)
        finally:
            await toolkit.aclose()


asyncio.run(main())
If you want to keep the runtime narrower at first, select a smaller tool subset:
tools = CoboAgentWalletTools(
    client=client,
    include_tools=[
        "submit_pact",
        "get_pact",
        "transfer_tokens",
        "estimate_transfer_fee",
        "get_transaction_record_by_request_id",
        "get_audit_logs",
    ],
)

Step 4: Validate behavior

Look for:
  • pact submission and activation confirmation
  • successful first transfer
  • denial details surfaced as tool output
  • corrected retry
  • audit confirmation

Go further

CoboAgentWalletTools gives you the widened CAW runtime toolkit as Agno-native tools. You can extend it:
  • Write custom Agno tools — subclass or define additional tool functions backed by WalletAPIClient for your specific use case (e.g. multi-step DeFi flows, price-conditional transfers). Register them alongside CoboAgentWalletTools.
  • Use the Python SDK for structured operations — call WalletAPIClient directly outside the agent for operations that need deterministic outcomes: pact management, batch queries, and policy dry-runs.
  • Pair with CLI for onboarding and ops — use caw for provisioning and debugging without touching agent code.
  • Use role-based presets — start with Pact Drafting, Execution, and Observer responsibilities rather than giving every agent the full toolkit.

Python SDK

Use WalletAPIClient directly for custom tool functions.