Skip to main content

Economic Execution and Control Layer for Agentic Systems

Project description

OmniClaw

Policy-controlled payments for AI agents and machine services.

CI PyPI Python License: MIT

OmniClaw lets software agents pay, earn, and access paid APIs without giving the agent unrestricted wallet authority.

The owner runs a Financial Policy Engine. Agents and applications execute through constrained interfaces. Every payment is checked against policy before funds move.

Why It Exists

AI agents can browse, reason, call APIs, and run workflows. The hard part is money movement.

OmniClaw solves the control problem:

  • agents can pay for services without receiving raw wallet control
  • sellers can monetize APIs through x402-compatible payment gates
  • operators can enforce budgets, recipient rules, confirmations, and route selection
  • payments can settle through Circle Gateway, standard x402 exact settlement, or a self-hosted exact facilitator

Core Surfaces

Surface Used By Purpose
Financial Policy Engine owner / operator Enforces policy, signs allowed actions, exposes the control API
omniclaw-cli agents / automation Executes buyer payments through the policy engine without direct key access
Python SDK developers / vendors Embeds buyer payments and seller monetization into Python applications
Seller middleware vendors / enterprises Turns production HTTP routes into paid x402 endpoints
Exact facilitator operators Optional self-hosted x402 exact settlement for supported EVM networks

Install

pip install omniclaw

For local development:

uv add omniclaw

Choose The Right Path

If you are building... Use... Why
An agent that needs to buy services Financial Policy Engine + omniclaw-cli The agent can pay without holding raw wallet authority
A backend service that buys from paid APIs Python SDK client.pay(...) Programmatic payments inside your own app
A vendor or enterprise API Python SDK client.sell(...) Production paid endpoints inside your application
A temporary local paid agent service omniclaw-cli serve Fast agent-owned/local monetization, not the enterprise seller path
Custom or Arc exact settlement infrastructure omniclaw facilitator exact Self-hosted standard x402 verify / settle

Credential Model

OmniClaw has two different key surfaces:

  • OMNICLAW_PRIVATE_KEY is the EOA key used for direct x402 exact settlement and Circle Gateway nanopayment signing.
  • ENTITY_SECRET is Circle's developer-controlled wallet encryption secret.

If your Circle account/API key already has an Entity Secret, set it directly. Circle allows one active Entity Secret per account/API key. OmniClaw only auto-generates and registers a new one when no existing secret is provided or found in its managed local credential store.

export CIRCLE_API_KEY="..."
export ENTITY_SECRET="your_existing_64_char_hex_entity_secret"
export OMNICLAW_PRIVATE_KEY="0x..."

For a non-interactive local setup:

omniclaw setup --api-key "$CIRCLE_API_KEY" --entity-secret "$ENTITY_SECRET"

Buyer: Agent CLI

Use this when an autonomous agent or script should pay through the Financial Policy Engine (run via the omniclaw server command).

Start the owner-side policy engine:

export OMNICLAW_PRIVATE_KEY="0x..."
export OMNICLAW_AGENT_TOKEN="agent-token"
export OMNICLAW_AGENT_POLICY_PATH="./policy.json"
export OMNICLAW_NETWORK="BASE-SEPOLIA"
export OMNICLAW_RPC_URL="https://sepolia.base.org"

omniclaw server --port 8080

Configure the agent runtime:

export OMNICLAW_SERVER_URL="http://localhost:8080"
export OMNICLAW_TOKEN="agent-token"

Pay a protected x402 URL:

omniclaw-cli can-pay --recipient https://seller.example.com/compute
omniclaw-cli inspect-x402 --recipient https://seller.example.com/compute
omniclaw-cli pay --recipient https://seller.example.com/compute --idempotency-key job-123

Pay a direct address:

omniclaw-cli pay \
  --recipient 0xRecipientAddress \
  --amount 5.00 \
  --purpose "service payment" \
  --idempotency-key job-123

Buyer: Python SDK

Use this when a Python service should pay programmatically.

from omniclaw import Network, OmniClaw

client = OmniClaw(network=Network.BASE_SEPOLIA)

result = await client.pay(
    wallet_id="wallet-id",
    recipient="https://seller.example.com/compute",
    amount="1.00",
    purpose="compute job",
    idempotency_key="job-123",
)

print(result.status, result.blockchain_tx or result.transaction_id)

For x402 URLs, amount acts as the maximum spend allowed for that request. The seller's x402 requirements define the exact amount to settle.

Seller: Vendor / Enterprise SDK

Use this when a vendor, enterprise, or application team wants to monetize API routes. This is the default seller path for real products.

from fastapi import FastAPI
from omniclaw import OmniClaw

app = FastAPI()
client = OmniClaw()

@app.get("/premium-data")
async def premium_data(
    payment=client.sell("$0.25", seller_address="0xYourSellerWallet")
):
    return {
        "data": "premium content",
        "paid_by": payment.payer,
        "amount": payment.amount,
    }

The route returns 402 Payment Required until the buyer submits a valid x402 payment. After verification and settlement, the handler executes and returns the paid response.

Seller: Agent-Owned Local Service

Use this only when an agent or local automation wants to expose a temporary paid service. It is not the recommended integration path for vendor or enterprise APIs.

omniclaw-cli serve \
  --price 0.25 \
  --endpoint /compute \
  --exec "python compute_job.py" \
  --port 8000

For vendor and enterprise APIs, use the Python SDK middleware so payments are part of the application itself.

Settlement Paths

OmniClaw is settlement-rail aware and policy-first. The buyer uses one execution path while the seller advertises the x402 requirements it supports.

Path Status Notes
Circle Gateway GatewayWalletBatched supported Gasless nanopayments through Circle Gateway
Standard x402 exact via x402.org supported (Base Sepolia) External exact facilitator validation
OmniClaw self-hosted exact facilitator supported (Arc Testnet) Self-hosted verify and settle for supported EVM profiles
Thirdweb x402 HTTP facilitator supported Managed Thirdweb account required

Current capabilities:

  • Base Sepolia external x402 exact settlement
  • Arc Testnet self-hosted exact settlement
  • buyer/seller wallet separation
  • policy-controlled buyer route through /api/v1/pay

Examples

Example Demonstrates
B2B SDK Integration Enterprise buyer/seller SDK integration with multiple facilitators
Machine to Machine One machine service paying another
Machine to Vendor Agent buyer paying a vendor-owned API
Vendor Integration Vendor-side paid API integration
Business Compute Payment-gated compute service
Local Economy Local buyer/seller economy with Docker
External x402 Facilitator x402.org Base Sepolia validation
Thirdweb HTTP Facilitator Thirdweb HTTP API validation

Documentation

Start Here Use Case
Documentation Index Complete docs map
Developer Guide Python SDK buyer and seller integration
Agent Getting Started Agent CLI setup and usage
CLI Reference Generated omniclaw-cli reference
Operator CLI omniclaw server, setup, policy, facilitator commands
Policy Reference Policy file structure and controls
Facilitators x402 facilitator model and deployment paths
Production Readiness Proof status and release checklist
API Reference Python SDK and API details

Development

uv sync --extra dev
uv run pytest

Release verification:

./scripts/release_verify.sh

Security

OmniClaw is designed around separation of authority: agents do not need unrestricted wallet access. Production deployments should still use restricted keys, policy limits, confirmation thresholds, hardened secrets, and audited infrastructure.

Report vulnerabilities through SECURITY.md.

License

MIT. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omniclaw-0.0.6.tar.gz (219.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

omniclaw-0.0.6-py3-none-any.whl (272.3 kB view details)

Uploaded Python 3

File details

Details for the file omniclaw-0.0.6.tar.gz.

File metadata

  • Download URL: omniclaw-0.0.6.tar.gz
  • Upload date:
  • Size: 219.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for omniclaw-0.0.6.tar.gz
Algorithm Hash digest
SHA256 c00fb658c798096d3a72d1cb4a851e4fb50dc0c69a4f17f324f238a853e43c3c
MD5 75f814ed51ba22c08afdd204c9f9b813
BLAKE2b-256 a0bff225766632613fe79134e3fa4024abb95c4361eacbd8f1706cf408b0a74b

See more details on using hashes here.

File details

Details for the file omniclaw-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: omniclaw-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 272.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for omniclaw-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 9d3fef4d19d752b21bad4bba31f38b152aa1ec0a4dabffd07d70bb7a98eac522
MD5 8917386cbe9bf01c95b43b2fad9040c8
BLAKE2b-256 da08f0bc2cd8a0a769f9ebe1fd088ee4afe2c9d6ced747e5123ba2bcf66d177e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page