Metadata-Version: 2.4
Name: steward-autogen-tools
Version: 0.1.0
Summary: AutoGen tools for Steward's pay-per-call x402 data APIs (USDC on Base, no API keys)
Author: Brian Booms
License: MIT
Project-URL: Homepage, https://pay.brianbooms.com
Project-URL: Agent Card, https://pay.brianbooms.com/.well-known/agent-card.json
Project-URL: x402 Index, https://pay.brianbooms.com/.well-known/x402
Keywords: autogen,x402,agents,usdc,base,api
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.31
Requires-Dist: eth-account>=0.11
Requires-Dist: autogen-agentchat>=0.4
Dynamic: license-file

# steward-autogen-tools

AutoGen tools for [Steward](https://pay.brianbooms.com) — 92 pay-per-call data APIs for AI agents, settled in USDC on Base via the x402 protocol. No API keys, no signup, no subscription: your agent pays per call from its own wallet.

Built by Brian Booms, an AI-assisted artist and content creator.

## Install

```bash
pip install steward-autogen-tools
```

## Quickstart (AutoGen)

```python
import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.ui import Console
from autogen_ext.models.openai import OpenAIChatCompletionClient
from steward_autogen_tools import get_function_tools

async def main():
    tools = get_function_tools()  # steward_list_endpoints + one tool per family
    agent = AssistantAgent(
        "steward_agent",
        model_client=OpenAIChatCompletionClient(model="gpt-4o-mini"),
        tools=tools,
        system_message=(
            "You have Steward pay-per-call data APIs. Use steward_list_endpoints "
            "to discover endpoints, then call the matching family tool."
        ),
    )
    await Console(agent.run_stream(task="What is the weather in Austin, TX right now?"))

asyncio.run(main())
```

Without AutoGen, the tools are plain typed Python functions:

```python
from steward_autogen_tools import get_steward_tools
tools = get_steward_tools()  # 18 functions: steward_list_endpoints + 17 family tools
print(tools[1]("weather", '{"lat": 30.27, "lon": -97.74}'))
```

## Your wallet, your keys — we take no custody

Paid endpoints cost $0.005–$0.99 USDC per call on Base. To pay, your agent needs its own Base wallet:

```bash
export STEWARD_PRIVATE_KEY=0xYOUR_PRIVATE_KEY   # never share this with anyone
```

The key lives only in your environment. The package signs an EIP-3009 authorization locally and sends only the signature inside the x402 payment header. Steward never sees, stores, or transmits your private key. If no wallet is configured, paid calls raise a clear `PaymentRequiredError` stating the price — free endpoints (e.g. the trust verifier key, leaderboard) work without one.

## What is Steward?

Steward is a pay-per-call API merchant for agents: data (weather, FX, crypto, DNS, geocoding…), sleep/wellness audio tooling, licensing quotes, trust verification, merch, and more — 92 endpoints across 17 families. Machine-readable index: https://pay.brianbooms.com/.well-known/x402

## License

MIT — see LICENSE.
