Metadata-Version: 2.4
Name: omniclaw
Version: 0.0.8
Summary: Economic Execution and Control Layer for Agentic Systems
Project-URL: Homepage, https://omniclaw.ai
Project-URL: Company, https://omnuron.ai
Project-URL: Documentation, https://omniclaw.ai/docs
Project-URL: Repository, https://github.com/omnuron/omniclaw
Project-URL: Issues, https://github.com/omnuron/omniclaw/issues
Author: Omnuron AI Team
Author-email: Abiola Adeshina <abiolaadedayo1993@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: agent,ai,arc,automation,blockchain,circle,git,llm,mcp,payments,usdc,x402
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: circle-developer-controlled-wallets==9.1.0
Requires-Dist: cryptography==44.0.0
Requires-Dist: eth-account>=0.13.6
Requires-Dist: fastapi>=0.100.0
Requires-Dist: httpx>=0.28.1
Requires-Dist: pydantic==2.12.0
Requires-Dist: python-dotenv>=1.2.1
Requires-Dist: redis==7.1.0
Requires-Dist: setuptools>=69.0.0
Requires-Dist: tenacity==8.2.0
Requires-Dist: typer>=0.15.0
Requires-Dist: uvicorn[standard]>=0.20.0
Requires-Dist: web3>=7.0.0
Requires-Dist: x402[evm,fastapi,httpx]>=2.5.0
Provides-Extra: dev
Requires-Dist: build>=1.0.0; extra == 'dev'
Requires-Dist: hatch>=1.14.1; extra == 'dev'
Requires-Dist: mypy>=1.19.0; extra == 'dev'
Requires-Dist: pre-commit>=4.2.0; extra == 'dev'
Requires-Dist: pyinstaller>=6.3.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=1.3.0; extra == 'dev'
Requires-Dist: pytest-cov>=7.0.0; extra == 'dev'
Requires-Dist: pytest>=9.0.0; extra == 'dev'
Requires-Dist: ruff>=0.14.0; extra == 'dev'
Requires-Dist: twine>=6.1.0; extra == 'dev'
Description-Content-Type: text/markdown

# OmniClaw

Policy-controlled payment infrastructure for agent buyers.

OmniClaw core is focused on one job: letting agents and applications pay through controlled, auditable rails without giving software unrestricted wallet authority.

## Product Boundary

| Product | Directory | Owns |
| --- | --- | --- |
| OmniClaw core | `src/omniclaw` | buyer SDK, policy engine, wallet/payment routing, x402 buyer execution, Gateway buyer readiness |

Core should not include recipient-side paid endpoint hosting or settlement service code.

## Core Capabilities

- Financial Policy Engine for budgets, approvals, trust checks, and execution control
- Python buyer SDK via `OmniClaw().pay(...)`
- Agent buyer CLI via `omniclaw-cli pay`, `inspect-x402`, and `can-pay`
- Circle Gateway buyer funding/readiness helpers
- Standard x402 buyer flow for paying external paid endpoints
- Ledger, idempotency, simulation, and payment-intent controls

## Core Quickstart

Install:

```bash
pip install omniclaw
```

Start the policy engine:

```bash
cp .env.example .env
# Hybrid mode (default): leave OMNICLAW_BUYER_MODE=hybrid and fill CIRCLE_API_KEY,
# ENTITY_SECRET, OMNICLAW_PRIVATE_KEY, OMNICLAW_AGENT_TOKEN, OMNICLAW_OWNER_TOKEN,
# OMNICLAW_NETWORK, and OMNICLAW_RPC_URL.
# x402-only Gateway mode: set OMNICLAW_BUYER_MODE=x402, leave CIRCLE_API_KEY and
# ENTITY_SECRET empty unless you need optional Circle Gateway API helpers, and fill
# OMNICLAW_PRIVATE_KEY, OMNICLAW_AGENT_TOKEN, OMNICLAW_OWNER_TOKEN,
# OMNICLAW_NETWORK, and OMNICLAW_RPC_URL.

mkdir -p examples/agent/buyer/runtime
cp examples/agent/buyer/policy.example.json examples/agent/buyer/runtime/policy.json
# Edit examples/agent/buyer/runtime/policy.json so the token matches OMNICLAW_AGENT_TOKEN.

docker compose -f examples/agent/buyer/docker-compose.yml --env-file .env up --build
```

The policy file is stable configuration. Generated wallet state is written separately
to `examples/agent/buyer/runtime/wallet-state.json`.

Buyer-facing policy rails are:

- `circle_transfer` for direct Circle Developer Wallet transfers.
- `x402` for paid API payments. OmniClaw chooses Gateway nanopayment or the standard
  x402 payment path internally based on seller accepts, buyer config, and Gateway balance.

Configure the buyer CLI:

```bash
set -a; source .env; set +a
export OMNICLAW_SERVER_URL="http://127.0.0.1:9091"
export OMNICLAW_TOKEN="$OMNICLAW_AGENT_TOKEN"
```

Inspect and pay an x402 endpoint:

```bash
omniclaw-cli inspect-x402 --recipient "http://127.0.0.1:4023/compute?size=20"
omniclaw-cli pay --recipient "http://127.0.0.1:4023/compute?size=20" --amount 0.10 --idempotency-key job-123
```

## Development

Run core tests:

```bash
uv run pytest
```
