chaoschain-sdk


Namechaoschain-sdk JSON
Version 0.2.7 PyPI version JSON
download
home_pageNone
SummaryMinimal SDK for building verifiable agents on ChaosChain protocol - ERC-8004, x402, local storage
upload_time2025-11-02 11:21:50
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords ai-agents blockchain erc-8004 x402 web3 autonomous-agents chaoschain crypto-payments agent-commerce
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ChaosChain SDK

**Production-ready SDK for building verifiable, monetizable AI agents with on-chain identity**

[![PyPI version](https://badge.fury.io/py/chaoschain-sdk.svg)](https://badge.fury.io/py/chaoschain-sdk)
[![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![ERC-8004 v1.0](https://img.shields.io/badge/ERC--8004-v1.0-success.svg)](https://eips.ethereum.org/EIPS/eip-8004)

The ChaosChain SDK is a complete toolkit for building autonomous AI agents with:
- **ERC-8004 v1.0** ✅ **100% compliant** - on-chain identity, validation and reputation (pre-deployed on 5 networks)
- **x402 payments** using Coinbase's HTTP 402 protocol  
- **Google AP2** intent verification
- **Process Integrity** with cryptographic proofs
- **Pluggable architecture** - choose your compute, storage, and payment providers

**Zero setup required** - all ERC-8004 v1.0 contracts are pre-deployed, just `pip install` and build!

## Quick Start

### Installation

#### Basic Installation
```bash
# Minimal core (ERC-8004 v1.0 + x402 + Local IPFS)
pip install chaoschain-sdk
```

#### With Optional Providers

**Storage Providers:**
```bash
pip install chaoschain-sdk[0g-storage]  # 0G Storage (decentralized)
pip install chaoschain-sdk[pinata]      # Pinata (cloud IPFS)
pip install chaoschain-sdk[irys]        # Irys (Arweave permanent storage)
pip install chaoschain-sdk[storage-all] # All storage providers
```

**Compute Providers:**
```bash
pip install chaoschain-sdk[0g-compute]  # 0G Compute (TEE-verified AI)
pip install chaoschain-sdk[compute-all] # All compute providers
```

**Full Stacks:**
```bash
pip install chaoschain-sdk[0g]          # 0G Full Stack (Storage + Compute)
pip install chaoschain-sdk[all]         # Everything (all providers)
```

**Development:**
```bash
pip install chaoschain-sdk[dev]         # With dev tools (pytest, black, mypy)
```

**Google AP2 (requires manual install):**
```bash
pip install git+https://github.com/google-agentic-commerce/AP2.git@main
```

### Basic Usage

```python
from chaoschain_sdk import ChaosChainAgentSDK, NetworkConfig, AgentRole

# Initialize your agent
sdk = ChaosChainAgentSDK(
    agent_name="MyAgent",
    agent_domain="myagent.example.com", 
    agent_role=AgentRole.SERVER,
    network=NetworkConfig.BASE_SEPOLIA,  # or BASE_SEPOLIA, OPTIMISM_SEPOLIA, etc.
    enable_ap2=True,          # Google AP2 intent verification
    enable_process_integrity=True,  # Cryptographic execution proofs
    enable_payments=True      # x402 crypto payments
)

# 1. Register on-chain identity (ERC-8004)
agent_id, tx_hash = sdk.register_identity()
print(f"✅ Agent #{agent_id} registered on-chain")

# 2. Create AP2 intent mandate (user authorization)
intent_result = sdk.create_intent_mandate(
    user_description="Find me AI analysis under $10",
    merchants=["TrustedAI", "AIServices"],
    expiry_minutes=60
)

# 3. Execute work with process integrity
@sdk.process_integrity.register_function
async def analyze_data(data: dict) -> dict:
    # Your agent's work logic
    return {"result": f"Analyzed {data}", "confidence": 0.95}

result, proof = await sdk.execute_with_integrity_proof(
    "analyze_data", 
    {"data": "market_trends"}
)

# 4. Execute x402 payment
payment = sdk.execute_x402_payment(
    to_agent="ServiceProvider",
    amount=5.0,  # USDC
    service_type="analysis"
)

# 5. Store evidence
evidence_cid = sdk.store_evidence({
    "intent": intent_result.intent_mandate,
    "analysis": result,
    "proof": proof,
    "payment": payment
})

print(f"🎉 Complete verifiable workflow with on-chain identity!")
```

## Core Features

### **ERC-8004 v1.0 On-Chain Identity** ✅ **100% Compliant** (Pre-Deployed)

The SDK implements the full [ERC-8004 v1.0 standard](https://eips.ethereum.org/EIPS/eip-8004) with contracts pre-deployed on 5 networks. **All 12 compliance tests pass.**

**Agents are ERC-721 NFTs!** - In v1.0, every agent is an NFT, making them:
- ✅ **Instantly browsable** on OpenSea, Rarible, and all NFT marketplaces
- ✅ **Transferable** like any ERC-721 token
- ✅ **Compatible** with MetaMask, Rainbow, and all NFT wallets
- ✅ **Discoverable** through standard NFT indexers

```python
# Register agent identity
agent_id, tx = sdk.register_identity()

# Update agent metadata (per ERC-8004 spec)
sdk.update_agent_metadata({
    "name": "MyAgent",
    "description": "AI analysis service with verifiable integrity",
    "image": "https://example.com/agent.png",
    "capabilities": ["market_analysis", "sentiment"],
    "contact": "agent@example.com",
    # ERC-8004: Advertise supported trust models
    "supportedTrust": [
        "reputation",        # Uses Reputation Registry
        "tee-attestation",   # Uses Process Integrity (0G Compute TEE)
        "validation"         # Uses Validation Registry
    ]
})

# Submit reputation feedback (with x402 payment proof per ERC-8004)
payment = sdk.execute_x402_payment(to_agent="Provider", amount=10.0)
sdk.submit_feedback(
    agent_id=other_agent_id,
    score=95,
    feedback_uri="ipfs://Qm...",  # Full feedback details
    feedback_data={
        "score": 95,
        "context": "smart_shopping_task",
        # ERC-8004: Link payment proof to reputation
        "proof_of_payment": {
            "fromAddress": payment.from_agent,
            "toAddress": payment.to_agent,
            "chainId": payment.chain_id,
            "txHash": payment.transaction_hash
        }
    }
)

# Request validation (link Process Integrity to Validation Registry)
result, proof = await sdk.execute_with_integrity_proof("analyze", {...})
sdk.request_validation(
    validator_agent_id=validator_id,
    request_uri=f"ipfs://{proof.ipfs_cid}",  # Points to integrity proof
    request_hash=proof.execution_hash
)
```

**Pre-deployed ERC-8004 v1.0 contracts** (no deployment needed):
- ✅ `IdentityRegistry.sol` - Agent registration and discovery (ERC-721 based)
- ✅ `ReputationRegistry.sol` - Feedback and reputation scores (signature-based)
- ✅ `ValidationRegistry.sol` - Peer validation and consensus (URI-based)

**Deployed addresses** (per network):
- **Ethereum Sepolia**: 
  - Identity: `0x8004a6090Cd10A7288092483047B097295Fb8847`
  - Reputation: `0x8004B8FD1A363aa02fDC07635C0c5F94f6Af5B7E`
  - Validation: `0x8004CB39f29c09145F24Ad9dDe2A108C1A2cdfC5`
- **Base Sepolia**: 
  - Identity: `0x8004AA63c570c570eBF15376c0dB199918BFe9Fb`
  - Reputation: `0x8004bd8daB57f14Ed299135749a5CB5c42d341BF`
  - Validation: `0x8004C269D0A5647E51E121FeB226200ECE932d55`
- **Linea Sepolia**: 
  - Identity: `0x8004aa7C931bCE1233973a0C6A667f73F66282e7`
  - Reputation: `0x8004bd8483b99310df121c46ED8858616b2Bba02`
  - Validation: `0x8004c44d1EFdd699B2A26e781eF7F77c56A9a4EB`

### **x402 Crypto Payments** (Coinbase Official)

Native integration with [Coinbase's x402 HTTP 402 protocol](https://www.x402.org/):

```python
# Execute agent-to-agent payment
payment_result = sdk.execute_x402_payment(
    to_agent="ProviderAgent",
    amount=10.0,  # USDC
    service_type="ai_analysis"
)

# Create payment requirements (for receiving payments)
requirements = sdk.create_x402_payment_requirements(
    amount=5.0,
    service_description="Premium AI Analysis"
)

# Create x402 paywall server
server = sdk.create_x402_paywall_server(port=8402)

@server.require_payment(amount=2.0, description="API Access")
def protected_endpoint(data):
    return {"result": f"Processed {data}"}

# server.run()  # Start HTTP 402 server
```

**Features**:
- ✅ Direct USDC transfers (Base, Ethereum, Optimism)
- ✅ Automatic 2.5% protocol fee to ChaosChain treasury
- ✅ Cryptographic payment receipts
- ✅ Paywall server support
- ✅ Payment history and analytics

### **Google AP2 Intent Verification**

Integrate [Google's Agentic Protocol (AP2)](https://github.com/google-agentic-commerce/AP2) for user authorization:

```python
# Create intent mandate (user's general authorization)
intent_result = sdk.create_intent_mandate(
    user_description="Buy me quality analysis services under $50",
    merchants=["TrustedAI", "VerifiedAnalytics"],
    expiry_minutes=120
)

# Create cart mandate with JWT (specific purchase authorization)
cart_result = sdk.create_cart_mandate(
    cart_id="cart_123",
    items=[
        {"name": "Market Analysis", "price": 10.0},
        {"name": "Sentiment Report", "price": 5.0}
    ],
    total_amount=15.0,
    currency="USD"
)

# Verify JWT signature
if cart_result.success:
    print(f"✅ Cart authorized with JWT: {cart_result.jwt[:50]}...")
```

**Benefits**:
- ✅ Cryptographic user authorization (RSA signatures)
- ✅ Intent-based commerce (users pre-authorize categories)
- ✅ W3C Payment Request API compatible
- ✅ JWT-based cart mandates

### **Process Integrity Verification**

Cryptographic proof that your code executed correctly:

```python
# Register functions for integrity checking
@sdk.process_integrity.register_function
async def analyze_sentiment(text: str, model: str) -> dict:
    # Your analysis logic
    result = perform_analysis(text, model)
    return {
        "sentiment": result.sentiment,
        "confidence": result.confidence,
        "timestamp": datetime.now().isoformat()
    }

# Execute with proof generation
result, proof = await sdk.execute_with_integrity_proof(
    "analyze_sentiment",
    {"text": "Market looks bullish", "model": "gpt-4"}
)

# Proof contains:
print(f"Function: {proof.function_name}")
print(f"Code Hash: {proof.code_hash}")
print(f"Execution Hash: {proof.execution_hash}")
print(f"Timestamp: {proof.timestamp}")
print(f"Storage CID: {proof.ipfs_cid}")
```

**Features**:
- ✅ Cryptographic code hashing
- ✅ Execution verification
- ✅ Immutable evidence storage
- ✅ Tamper-proof audit trail

### **Pluggable Architecture**

Choose your infrastructure - no vendor lock-in:

#### **Storage Providers**

```python
from chaoschain_sdk.providers.storage import LocalIPFSStorage, PinataStorage, IrysStorage

# Local IPFS (always available, no setup)
storage = LocalIPFSStorage()

# Or choose specific provider
from chaoschain_sdk.providers.storage import PinataStorage
storage = PinataStorage(jwt_token="your_jwt", gateway_url="https://gateway.pinata.cloud")

from chaoschain_sdk.providers.storage import IrysStorage  
storage = IrysStorage(wallet_key="your_key")

from chaoschain_sdk.providers.storage import ZeroGStorage  # Requires 0G CLI
storage = ZeroGStorage(private_key="your_key")

# Unified API regardless of provider
result = storage.put(b"data", mime="application/json")
data = storage.get(result.cid)
```

**Storage Options**:

| Provider | Cost | Setup | Best For |
|----------|------|-------|----------|
| **Local IPFS** | 🆓 Free | `ipfs daemon` | Development, full control |
| **Pinata** | 💰 Paid | Set env vars | Production, reliability |
| **Irys** | 💰 Paid | Wallet key | Permanent storage (Arweave) |
| **0G Storage** | 💰 Gas | Start sidecar | Decentralized, verifiable |

#### **Compute Providers**

```python
# Built-in: Local execution with integrity proofs
result, proof = await sdk.execute_with_integrity_proof("func_name", args)

# Optional: 0G Compute (TEE-verified AI - requires Node.js SDK)
from chaoschain_sdk.providers.compute import ZeroGInference

compute = ZeroGInference(
    private_key="your_key",
    evm_rpc="https://evmrpc-testnet.0g.ai"
)
result = compute.execute_llm_inference(
    service_name="gpt",
    content="Your prompt here"
)
```

#### **Payment Methods**

```python
# x402 (PRIMARY) - Real crypto payments
payment = sdk.execute_x402_payment(to_agent="Provider", amount=10.0)

# Traditional methods (with API keys)
payment = sdk.execute_traditional_payment(
    payment_method="basic-card",  # Stripe
    # OR "https://google.com/pay"  # Google Pay
    # OR "https://apple.com/apple-pay"  # Apple Pay
    # OR "https://paypal.com"  # PayPal
    amount=25.99,
    currency="USD"
)
```

## Architecture

### **Triple-Verified Stack**

```
╔════════════════════════════════════════════════════════╗
║          ChaosChain Triple-Verified Stack              ║
╠════════════════════════════════════════════════════════╣
║  Layer 3: x402 Crypto Settlement  →  Payment verified ║
║  Layer 2: Process Integrity       →  Code verified    ║
║  Layer 1: Google AP2 Intent       →  User authorized  ║
╚════════════════════════════════════════════════════════╝
```

### **SDK Architecture**

```
┌─────────────────────────────────────────────────────┐
│          Your Application / Agent                    │
└─────────────────┬───────────────────────────────────┘
                  │
┌─────────────────┴───────────────────────────────────┐
│          ChaosChain SDK (Python)                     │
│  ┌──────────────┐  ┌────────────┐  ┌─────────────┐ │
│  │  ERC-8004    │  │  x402      │  │  Google AP2 │ │
│  │  Identity    │  │  Payments  │  │  Intent     │ │
│  └──────────────┘  └────────────┘  └─────────────┘ │
│  ┌──────────────┐  ┌────────────┐  ┌─────────────┐ │
│  │  Process     │  │  Pluggable │  │  Pluggable  │ │
│  │  Integrity   │  │  Storage   │  │  Compute    │ │
│  └──────────────┘  └────────────┘  └─────────────┘ │
└─────────────────┬───────────────────────────────────┘
                  │
┌─────────────────┴───────────────────────────────────┐
│     Your Choice of Infrastructure                    │
│  • Storage: IPFS / Pinata / Irys / 0G               │
│  • Compute: Local / 0G / Your provider              │
│  • Network: Base / Ethereum / Optimism / 0G         │
└─────────────────────────────────────────────────────┘
```

## Supported Networks

ERC-8004 v1.0 contracts are **pre-deployed on 7 testnets** (no setup needed):

| Network | Chain ID | Status | Identity Registry | Reputation Registry | Validation Registry |
|---------|----------|--------|-------------------|---------------------|---------------------|
| **Base Sepolia** | 84532 | ✅ Active | `0x8004AA63c570c570eBF15376c0dB199918BFe9Fb` | `0x8004bd8daB57f14Ed299135749a5CB5c42d341BF` | `0x8004C269D0A5647E51E121FeB226200ECE932d55` |
| **Ethereum Sepolia** | 11155111 | ✅ Active | `0x8004a6090Cd10A7288092483047B097295Fb8847` | `0x8004B8FD1A363aa02fDC07635C0c5F94f6Af5B7E` | `0x8004CB39f29c09145F24Ad9dDe2A108C1A2cdfC5` |
| **Linea Sepolia** | 59141 | ✅ Active | `0x8004aa7C931bCE1233973a0C6A667f73F66282e7` | `0x8004bd8483b99310df121c46ED8858616b2Bba02` | `0x8004c44d1EFdd699B2A26e781eF7F77c56A9a4EB` |
| **Hedera Testnet** | 296 | ✅ Active | `0x4c74ebd72921d537159ed2053f46c12a7d8e5923` | `0xc565edcba77e3abeade40bfd6cf6bf583b3293e0` | `0x18df085d85c586e9241e0cd121ca422f571c2da6` |
| **BSC Testnet** | 97 | ✅ Active | `0xabbd26d86435b35d9c45177725084ee6a2812e40` | `0xeced1af52a0446275e9e6e4f6f26c99977400a6a` | `0x7866bd057f09a4940fe2ce43320518c8749a921e` |
| **0G Testnet** | 16602 | ✅ Active | `0x80043ed9cf33a3472768dcd53175bb44e03a1e4a` | `0x80045d7b72c47bf5ff73737b780cb1a5ba8ee202` | `0x80041728e0aadf1d1427f9be18d52b7f3afefafb` |
| **Optimism Sepolia** | 11155420 | ⏳ Coming Soon | - | - | - |

**Features:**
- ✅ **Base Sepolia & Ethereum Sepolia**: Full x402 USDC payments support
- ✅ **0G Testnet**: Native A0GI token + Compute + Storage providers
- ✅ **All Networks**: ERC-8004 v1.0 compliant (Identity, Reputation, Validation)

Simply change the `network` parameter - no other config needed!

## Advanced Examples

### Complete Agent Workflow with ERC-8004 Integration

```python
from chaoschain_sdk import ChaosChainAgentSDK, NetworkConfig, AgentRole
import asyncio

# Initialize
sdk = ChaosChainAgentSDK(
    agent_name="AnalysisAgent",
    agent_domain="analysis.example.com",
    agent_role=AgentRole.SERVER,
    network=NetworkConfig.BASE_SEPOLIA,
    enable_ap2=True,
    enable_process_integrity=True,
    enable_payments=True
)

# 1. Register on-chain identity (ERC-8004 Identity Registry)
agent_id, tx = sdk.register_identity()
print(f"✅ On-chain ID: {agent_id}")

# 2. Set metadata with supported trust models (ERC-8004)
sdk.update_agent_metadata({
    "name": "AnalysisAgent",
    "description": "Verifiable AI market analysis",
    "image": "https://example.com/agent.png",
    "supportedTrust": ["reputation", "tee-attestation", "validation"]
})

# 3. Create AP2 intent (user authorization)
intent = sdk.create_intent_mandate(
    user_description="Get market analysis under $20",
    merchants=["AnalysisAgent"],
    expiry_minutes=60
)

# 4. Execute work with TEE-verified integrity (Process Integrity)
@sdk.process_integrity.register_function
async def market_analysis(symbols: list) -> dict:
    return {
        "symbols": symbols,
        "trend": "bullish",
        "confidence": 0.87
    }

result, proof = await sdk.execute_with_integrity_proof(
    "market_analysis",
    {"symbols": ["BTC", "ETH"]}
)

# 5. Store evidence (integrity proof + results)
evidence_cid = sdk.store_evidence({
    "intent": intent.intent_mandate.model_dump() if intent.success else None,
    "analysis": result,
    "integrity_proof": proof.__dict__
})

# 6. Execute x402 payment
payment = sdk.execute_x402_payment(
    to_agent="AnalysisAgent",
    amount=15.0,
    service_type="market_analysis"
)

# 7. Client submits feedback to Reputation Registry (ERC-8004)
sdk.submit_feedback(
    agent_id=agent_id,
    score=95,
    feedback_uri=f"ipfs://{evidence_cid}",
    feedback_data={
        "score": 95,
        "task": "market_analysis",
        "proof_of_payment": {
            "txHash": payment['main_transaction_hash'],
            "amount": 15.0,
            "currency": "USDC"
        }
    }
)

# 8. Request validation via Validation Registry (ERC-8004)
validation_request = sdk.request_validation(
    validator_agent_id=validator_id,
    request_uri=f"ipfs://{proof.ipfs_cid}",
    request_hash=proof.execution_hash
)

print(f"✅ Complete ERC-8004 workflow!")
print(f"   Agent ID: {agent_id}")
print(f"   Evidence: {evidence_cid}")
print(f"   Payment TX: {payment['main_transaction_hash']}")
print(f"   Feedback submitted to Reputation Registry")
print(f"   Validation requested from validator #{validator_id}")
```

### Multi-Storage Strategy

```python
from chaoschain_sdk.providers.storage import LocalIPFSStorage, PinataStorage, IrysStorage
import json

# Use local IPFS for development
dev_storage = LocalIPFSStorage()
result = dev_storage.put(json.dumps({"env": "dev"}).encode(), mime="application/json")
dev_cid = result.cid

# Use Pinata for production
prod_storage = PinataStorage(
    jwt_token=os.getenv("PINATA_JWT"),
    gateway_url="https://gateway.pinata.cloud"
)
result = prod_storage.put(json.dumps({"env": "prod"}).encode(), mime="application/json")
prod_cid = result.cid

# Use Irys for permanent archival
archive_storage = IrysStorage(wallet_key=os.getenv("IRYS_WALLET_KEY"))
result = archive_storage.put(json.dumps({"env": "archive"}).encode(), mime="application/json")
archive_cid = result.cid

# Same API, different backends!
```

### x402 Paywall Server (Complete Example)

**Architecture:**
```
Client Agent → Paywall Server (Port 8402) → Facilitator (Port 8403/Hosted)
                     ↓                              ↓
              Returns 402 or 200              Executes blockchain TX
```

#### **Server Side (Agent A - Service Provider)**

```python
import os
from chaoschain_sdk import ChaosChainAgentSDK

# Initialize agent
server_sdk = ChaosChainAgentSDK(
    agent_name="AgentA",
    agent_domain="agenta.com",
    network="base-sepolia"
)

# Facilitator is automatically configured (defaults to ChaosChain hosted service)
# To use a different facilitator, set: os.environ["X402_FACILITATOR_URL"] = "your-url"
# To disable facilitator, set: os.environ["X402_USE_FACILITATOR"] = "false"

# Create paywall server (Port 8402 - serves protected resources)
server = server_sdk.create_x402_paywall_server(port=8402)

@server.require_payment(amount=5.0, description="Premium Analysis")
def premium_analysis(data):
    return {
        "analysis": "Deep market analysis...",
        "confidence": 0.95,
        "timestamp": datetime.now().isoformat()
    }

@server.require_payment(amount=2.0, description="Basic Query")
def basic_query(question):
    return {"answer": f"Response to: {question}"}

# Start paywall server
server.run()  # Listens on port 8402
```

#### **Client Side (Agent B - Service Consumer)**

```python
import requests
from chaoschain_sdk import ChaosChainAgentSDK

# Initialize client agent
client_sdk = ChaosChainAgentSDK(
    agent_name="AgentB",
    agent_domain="agentb.com",
    network="base-sepolia"
)

# Step 1: Try to access service (no payment)
response = requests.get("http://agenta.com:8402/chaoschain/service/premium_analysis")

if response.status_code == 402:
    print("💳 Payment Required!")
    # Response body:
    # {
    #   "x402Version": 1,
    #   "accepts": [{
    #     "scheme": "exact",
    #     "network": "base-sepolia",
    #     "maxAmountRequired": "5000000",  # 5 USDC in wei
    #     "payTo": "0xAgentA...",
    #     "asset": "0xUSDC..."
    #   }]
    # }
    
    # Step 2: Create payment authorization (signed by Agent B)
    payment_requirements = response.json()["accepts"][0]
    x_payment_header = client_sdk.create_x402_payment_header(payment_requirements)
    
    # Step 3: Retry with payment
    response = requests.get(
        "http://agenta.com:8402/chaoschain/service/premium_analysis",
        headers={"X-PAYMENT": x_payment_header}
    )
    
    if response.status_code == 200:
        print("✅ Service delivered!")
        # Response headers include:
        # X-PAYMENT-RESPONSE: <base64 settlement receipt with tx hash>
        
        result = response.json()
        print(result)  # {"analysis": "...", "confidence": 0.95}
```

#### **What Happens Behind the Scenes:**

1. **Client requests** → Paywall Server returns `402 Payment Required`
2. **Client creates** signed payment authorization (no blockchain TX yet)
3. **Client retries** with `X-PAYMENT` header
4. **Paywall Server** → calls Facilitator `/verify` (checks signature)
5. **Facilitator** → verifies Agent B's signature is valid
6. **Paywall Server** → calls Facilitator `/settle` (execute payment)
7. **Facilitator** → executes USDC transfer on blockchain:
   - 0.125 USDC → ChaosChain Treasury (2.5% fee)
   - 4.875 USDC → Agent A (net payment)
8. **Facilitator** → returns transaction hash
9. **Paywall Server** → delivers service + `X-PAYMENT-RESPONSE` header

**Key Points:**
- ✅ **Paywall Server (Port 8402)**: Each agent runs their own for their services
- ✅ **Facilitator (Port 8403/Hosted)**: Shared service that executes blockchain TXs
- ✅ **True x402 Protocol**: HTTP 402, X-PAYMENT headers, cryptographic proofs
- ✅ **Real USDC transfers**: On-chain payments via facilitator

## Configuration

### Environment Variables

```bash
# Network Configuration
NETWORK=base-sepolia
BASE_SEPOLIA_RPC_URL=https://base-sepolia.g.alchemy.com/v2/YOUR_KEY
ETHEREUM_SEPOLIA_RPC_URL=https://eth-sepolia.g.alchemy.com/v2/YOUR_KEY
OPTIMISM_SEPOLIA_RPC_URL=https://opt-sepolia.g.alchemy.com/v2/YOUR_KEY

# x402 Configuration (Coinbase Protocol)
CHAOSCHAIN_FEE_PERCENTAGE=2.5  # Protocol fee (default: 2.5%)
X402_USE_FACILITATOR=true  # Default: true (uses ChaosChain hosted facilitator)
X402_FACILITATOR_URL=https://facilitator.chaoscha.in  # Default: ChaosChain facilitator

# Storage Providers (auto-detected if not specified)
# Local IPFS (free): Just run `ipfs daemon`
PINATA_JWT=your_jwt_token
PINATA_GATEWAY=https://gateway.pinata.cloud
IRYS_WALLET_KEY=your_wallet_key

# Optional: 0G Network
ZEROG_TESTNET_RPC_URL=https://evmrpc-testnet.0g.ai
ZEROG_TESTNET_PRIVATE_KEY=your_key
ZEROG_GRPC_URL=localhost:50051  # If using 0G sidecar

# Traditional Payment APIs (optional)
STRIPE_SECRET_KEY=sk_live_...
GOOGLE_PAY_MERCHANT_ID=merchant.example.com
APPLE_PAY_MERCHANT_ID=merchant.example.com
PAYPAL_CLIENT_ID=your_client_id
```

### Storage Setup

#### Local IPFS (Free, Recommended for Development)

```bash
# macOS
brew install ipfs
ipfs init
ipfs daemon

# Linux
wget https://dist.ipfs.tech/kubo/v0.24.0/kubo_v0.24.0_linux-amd64.tar.gz
tar -xvzf kubo_v0.24.0_linux-amd64.tar.gz
sudo bash kubo/install.sh
ipfs init
ipfs daemon
```

#### Pinata (Cloud)

```bash
# Get API keys from https://pinata.cloud
export PINATA_JWT="your_jwt_token"
export PINATA_GATEWAY="https://gateway.pinata.cloud"
```

## API Reference

### ChaosChainAgentSDK

```python
ChaosChainAgentSDK(
    agent_name: str,
    agent_domain: str, 
    agent_role: AgentRole | str,  # "server", "validator", "client"
    network: NetworkConfig | str = "base-sepolia",
    enable_process_integrity: bool = True,
    enable_payments: bool = True,
    enable_storage: bool = True,
    enable_ap2: bool = True,
    wallet_file: str = None
)
```

#### Key Methods

| Method | Description | Returns |
|--------|-------------|---------|
| **ERC-8004 Identity** |
| `register_identity()` | Register on-chain | `(agent_id, tx_hash)` |
| `update_agent_metadata()` | Update profile | `tx_hash` |
| `submit_feedback()` | Submit reputation | `tx_hash` |
| `request_validation()` | Request validation | `tx_hash` |
| **x402 Payments** |
| `execute_x402_payment()` | Execute payment | `Dict[str, Any]` |
| `create_x402_payment_requirements()` | Create requirements | `Dict` |
| `create_x402_paywall_server()` | Create paywall | `X402PaywallServer` |
| `get_x402_payment_history()` | Payment history | `List[Dict]` |
| **Google AP2** |
| `create_intent_mandate()` | Create intent | `GoogleAP2IntegrationResult` |
| `create_cart_mandate()` | Create cart + JWT | `GoogleAP2IntegrationResult` |
| **Process Integrity** |
| `execute_with_integrity_proof()` | Execute with proof | `(result, IntegrityProof)` |
| **Pluggable Storage** |
| `store_evidence()` | Store data | `cid` |

## Testing & Development

```bash
# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/

# Run with coverage
pytest --cov=chaoschain_sdk tests/

# Run examples
python examples/basic_agent.py
```

## FAQ

**Q: Do I need to deploy contracts?**  
A: No! All ERC-8004 v1.0 contracts are pre-deployed on 5 testnets with deterministic addresses. Just `pip install` and start building.

**Q: Can I use this in production?**  
A: Yes! The SDK is production-ready and **100% ERC-8004 v1.0 compliant** (12/12 tests pass). Currently on testnets; mainnet deployment coming soon.

**Q: What's the difference between ERC-8004 and the SDK?**  
A: ERC-8004 v1.0 is the **standard** (3 registries: Identity, Reputation, Validation). The SDK **implements** it fully + adds x402 payments, AP2 intent verification, and Process Integrity for a complete agent economy.

**Q: How do I verify v1.0 compliance?**  
A: The SDK passes all 12 ERC-8004 v1.0 compliance tests. Agents are ERC-721 NFTs, making them browsable on OpenSea and compatible with all NFT wallets.

**Q: What storage should I use?**  
A: Start with Local IPFS (free), then 0G or Pinata for production. The SDK auto-detects available providers. ERC-8004 registration files can use any URI scheme (ipfs://, https://).

**Q: Do I need 0G Network?**  
A: No, 0G is optional. The SDK works great with Base/Ethereum/Optimism + IPFS/Pinata. 0G adds TEE-verified compute and decentralized storage.

**Q: How do x402 payments work?**  
A: Real USDC transfers using Coinbase's HTTP 402 protocol. Automatic 2.5% fee to ChaosChain treasury. Payment proofs can enrich ERC-8004 reputation feedback.

**Q: What are "supportedTrust" models in ERC-8004?**  
A: Agents advertise trust mechanisms: `reputation` (Reputation Registry), `validation` (Validation Registry with zkML/TEE), and `tee-attestation` (Process Integrity with 0G Compute). This SDK supports all three!

## Contributing

We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md).

## License

MIT License - see [LICENSE](LICENSE) file.

## Links

- **Homepage**: [https://chaoscha.in](https://chaoscha.in)
- **Documentation**: [https://docs.chaoscha.in](https://docs.chaoscha.in)
- **GitHub**: [https://github.com/ChaosChain/chaoschain-sdk](https://github.com/ChaosChain/chaoschain-sdk)
- **PyPI**: [https://pypi.org/project/chaoschain-sdk/](https://pypi.org/project/chaoschain-sdk/)
- **ERC-8004 Spec**: [https://eips.ethereum.org/EIPS/eip-8004](https://eips.ethereum.org/EIPS/eip-8004)
- **x402 Protocol**: [https://www.x402.org/](https://www.x402.org/)

## Support

- **Issues**: [GitHub Issues](https://github.com/ChaosChain/chaoschain-sdk/issues)
- **Discord**: [ChaosChain Community]
- **Email**: sumeet.chougule@nethermind.io

---

**Build verifiable AI agents with on-chain identity, cryptographic proofs, and crypto payments.**

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "chaoschain-sdk",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "ChaosChain <sumeet.chougule@nethermind.io>",
    "keywords": "ai-agents, blockchain, erc-8004, x402, web3, autonomous-agents, chaoschain, crypto-payments, agent-commerce",
    "author": null,
    "author_email": "ChaosChain <sumeet.chougule@nethermind.io>",
    "download_url": "https://files.pythonhosted.org/packages/16/ba/964366010a86f6dc5df1ae3ec380bb36156e7f37de3e7023ca8c098d2f9d/chaoschain_sdk-0.2.7.tar.gz",
    "platform": null,
    "description": "# ChaosChain SDK\n\n**Production-ready SDK for building verifiable, monetizable AI agents with on-chain identity**\n\n[![PyPI version](https://badge.fury.io/py/chaoschain-sdk.svg)](https://badge.fury.io/py/chaoschain-sdk)\n[![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![ERC-8004 v1.0](https://img.shields.io/badge/ERC--8004-v1.0-success.svg)](https://eips.ethereum.org/EIPS/eip-8004)\n\nThe ChaosChain SDK is a complete toolkit for building autonomous AI agents with:\n- **ERC-8004 v1.0** \u2705 **100% compliant** - on-chain identity, validation and reputation (pre-deployed on 5 networks)\n- **x402 payments** using Coinbase's HTTP 402 protocol  \n- **Google AP2** intent verification\n- **Process Integrity** with cryptographic proofs\n- **Pluggable architecture** - choose your compute, storage, and payment providers\n\n**Zero setup required** - all ERC-8004 v1.0 contracts are pre-deployed, just `pip install` and build!\n\n## Quick Start\n\n### Installation\n\n#### Basic Installation\n```bash\n# Minimal core (ERC-8004 v1.0 + x402 + Local IPFS)\npip install chaoschain-sdk\n```\n\n#### With Optional Providers\n\n**Storage Providers:**\n```bash\npip install chaoschain-sdk[0g-storage]  # 0G Storage (decentralized)\npip install chaoschain-sdk[pinata]      # Pinata (cloud IPFS)\npip install chaoschain-sdk[irys]        # Irys (Arweave permanent storage)\npip install chaoschain-sdk[storage-all] # All storage providers\n```\n\n**Compute Providers:**\n```bash\npip install chaoschain-sdk[0g-compute]  # 0G Compute (TEE-verified AI)\npip install chaoschain-sdk[compute-all] # All compute providers\n```\n\n**Full Stacks:**\n```bash\npip install chaoschain-sdk[0g]          # 0G Full Stack (Storage + Compute)\npip install chaoschain-sdk[all]         # Everything (all providers)\n```\n\n**Development:**\n```bash\npip install chaoschain-sdk[dev]         # With dev tools (pytest, black, mypy)\n```\n\n**Google AP2 (requires manual install):**\n```bash\npip install git+https://github.com/google-agentic-commerce/AP2.git@main\n```\n\n### Basic Usage\n\n```python\nfrom chaoschain_sdk import ChaosChainAgentSDK, NetworkConfig, AgentRole\n\n# Initialize your agent\nsdk = ChaosChainAgentSDK(\n    agent_name=\"MyAgent\",\n    agent_domain=\"myagent.example.com\", \n    agent_role=AgentRole.SERVER,\n    network=NetworkConfig.BASE_SEPOLIA,  # or BASE_SEPOLIA, OPTIMISM_SEPOLIA, etc.\n    enable_ap2=True,          # Google AP2 intent verification\n    enable_process_integrity=True,  # Cryptographic execution proofs\n    enable_payments=True      # x402 crypto payments\n)\n\n# 1. Register on-chain identity (ERC-8004)\nagent_id, tx_hash = sdk.register_identity()\nprint(f\"\u2705 Agent #{agent_id} registered on-chain\")\n\n# 2. Create AP2 intent mandate (user authorization)\nintent_result = sdk.create_intent_mandate(\n    user_description=\"Find me AI analysis under $10\",\n    merchants=[\"TrustedAI\", \"AIServices\"],\n    expiry_minutes=60\n)\n\n# 3. Execute work with process integrity\n@sdk.process_integrity.register_function\nasync def analyze_data(data: dict) -> dict:\n    # Your agent's work logic\n    return {\"result\": f\"Analyzed {data}\", \"confidence\": 0.95}\n\nresult, proof = await sdk.execute_with_integrity_proof(\n    \"analyze_data\", \n    {\"data\": \"market_trends\"}\n)\n\n# 4. Execute x402 payment\npayment = sdk.execute_x402_payment(\n    to_agent=\"ServiceProvider\",\n    amount=5.0,  # USDC\n    service_type=\"analysis\"\n)\n\n# 5. Store evidence\nevidence_cid = sdk.store_evidence({\n    \"intent\": intent_result.intent_mandate,\n    \"analysis\": result,\n    \"proof\": proof,\n    \"payment\": payment\n})\n\nprint(f\"\ud83c\udf89 Complete verifiable workflow with on-chain identity!\")\n```\n\n## Core Features\n\n### **ERC-8004 v1.0 On-Chain Identity** \u2705 **100% Compliant** (Pre-Deployed)\n\nThe SDK implements the full [ERC-8004 v1.0 standard](https://eips.ethereum.org/EIPS/eip-8004) with contracts pre-deployed on 5 networks. **All 12 compliance tests pass.**\n\n**Agents are ERC-721 NFTs!** - In v1.0, every agent is an NFT, making them:\n- \u2705 **Instantly browsable** on OpenSea, Rarible, and all NFT marketplaces\n- \u2705 **Transferable** like any ERC-721 token\n- \u2705 **Compatible** with MetaMask, Rainbow, and all NFT wallets\n- \u2705 **Discoverable** through standard NFT indexers\n\n```python\n# Register agent identity\nagent_id, tx = sdk.register_identity()\n\n# Update agent metadata (per ERC-8004 spec)\nsdk.update_agent_metadata({\n    \"name\": \"MyAgent\",\n    \"description\": \"AI analysis service with verifiable integrity\",\n    \"image\": \"https://example.com/agent.png\",\n    \"capabilities\": [\"market_analysis\", \"sentiment\"],\n    \"contact\": \"agent@example.com\",\n    # ERC-8004: Advertise supported trust models\n    \"supportedTrust\": [\n        \"reputation\",        # Uses Reputation Registry\n        \"tee-attestation\",   # Uses Process Integrity (0G Compute TEE)\n        \"validation\"         # Uses Validation Registry\n    ]\n})\n\n# Submit reputation feedback (with x402 payment proof per ERC-8004)\npayment = sdk.execute_x402_payment(to_agent=\"Provider\", amount=10.0)\nsdk.submit_feedback(\n    agent_id=other_agent_id,\n    score=95,\n    feedback_uri=\"ipfs://Qm...\",  # Full feedback details\n    feedback_data={\n        \"score\": 95,\n        \"context\": \"smart_shopping_task\",\n        # ERC-8004: Link payment proof to reputation\n        \"proof_of_payment\": {\n            \"fromAddress\": payment.from_agent,\n            \"toAddress\": payment.to_agent,\n            \"chainId\": payment.chain_id,\n            \"txHash\": payment.transaction_hash\n        }\n    }\n)\n\n# Request validation (link Process Integrity to Validation Registry)\nresult, proof = await sdk.execute_with_integrity_proof(\"analyze\", {...})\nsdk.request_validation(\n    validator_agent_id=validator_id,\n    request_uri=f\"ipfs://{proof.ipfs_cid}\",  # Points to integrity proof\n    request_hash=proof.execution_hash\n)\n```\n\n**Pre-deployed ERC-8004 v1.0 contracts** (no deployment needed):\n- \u2705 `IdentityRegistry.sol` - Agent registration and discovery (ERC-721 based)\n- \u2705 `ReputationRegistry.sol` - Feedback and reputation scores (signature-based)\n- \u2705 `ValidationRegistry.sol` - Peer validation and consensus (URI-based)\n\n**Deployed addresses** (per network):\n- **Ethereum Sepolia**: \n  - Identity: `0x8004a6090Cd10A7288092483047B097295Fb8847`\n  - Reputation: `0x8004B8FD1A363aa02fDC07635C0c5F94f6Af5B7E`\n  - Validation: `0x8004CB39f29c09145F24Ad9dDe2A108C1A2cdfC5`\n- **Base Sepolia**: \n  - Identity: `0x8004AA63c570c570eBF15376c0dB199918BFe9Fb`\n  - Reputation: `0x8004bd8daB57f14Ed299135749a5CB5c42d341BF`\n  - Validation: `0x8004C269D0A5647E51E121FeB226200ECE932d55`\n- **Linea Sepolia**: \n  - Identity: `0x8004aa7C931bCE1233973a0C6A667f73F66282e7`\n  - Reputation: `0x8004bd8483b99310df121c46ED8858616b2Bba02`\n  - Validation: `0x8004c44d1EFdd699B2A26e781eF7F77c56A9a4EB`\n\n### **x402 Crypto Payments** (Coinbase Official)\n\nNative integration with [Coinbase's x402 HTTP 402 protocol](https://www.x402.org/):\n\n```python\n# Execute agent-to-agent payment\npayment_result = sdk.execute_x402_payment(\n    to_agent=\"ProviderAgent\",\n    amount=10.0,  # USDC\n    service_type=\"ai_analysis\"\n)\n\n# Create payment requirements (for receiving payments)\nrequirements = sdk.create_x402_payment_requirements(\n    amount=5.0,\n    service_description=\"Premium AI Analysis\"\n)\n\n# Create x402 paywall server\nserver = sdk.create_x402_paywall_server(port=8402)\n\n@server.require_payment(amount=2.0, description=\"API Access\")\ndef protected_endpoint(data):\n    return {\"result\": f\"Processed {data}\"}\n\n# server.run()  # Start HTTP 402 server\n```\n\n**Features**:\n- \u2705 Direct USDC transfers (Base, Ethereum, Optimism)\n- \u2705 Automatic 2.5% protocol fee to ChaosChain treasury\n- \u2705 Cryptographic payment receipts\n- \u2705 Paywall server support\n- \u2705 Payment history and analytics\n\n### **Google AP2 Intent Verification**\n\nIntegrate [Google's Agentic Protocol (AP2)](https://github.com/google-agentic-commerce/AP2) for user authorization:\n\n```python\n# Create intent mandate (user's general authorization)\nintent_result = sdk.create_intent_mandate(\n    user_description=\"Buy me quality analysis services under $50\",\n    merchants=[\"TrustedAI\", \"VerifiedAnalytics\"],\n    expiry_minutes=120\n)\n\n# Create cart mandate with JWT (specific purchase authorization)\ncart_result = sdk.create_cart_mandate(\n    cart_id=\"cart_123\",\n    items=[\n        {\"name\": \"Market Analysis\", \"price\": 10.0},\n        {\"name\": \"Sentiment Report\", \"price\": 5.0}\n    ],\n    total_amount=15.0,\n    currency=\"USD\"\n)\n\n# Verify JWT signature\nif cart_result.success:\n    print(f\"\u2705 Cart authorized with JWT: {cart_result.jwt[:50]}...\")\n```\n\n**Benefits**:\n- \u2705 Cryptographic user authorization (RSA signatures)\n- \u2705 Intent-based commerce (users pre-authorize categories)\n- \u2705 W3C Payment Request API compatible\n- \u2705 JWT-based cart mandates\n\n### **Process Integrity Verification**\n\nCryptographic proof that your code executed correctly:\n\n```python\n# Register functions for integrity checking\n@sdk.process_integrity.register_function\nasync def analyze_sentiment(text: str, model: str) -> dict:\n    # Your analysis logic\n    result = perform_analysis(text, model)\n    return {\n        \"sentiment\": result.sentiment,\n        \"confidence\": result.confidence,\n        \"timestamp\": datetime.now().isoformat()\n    }\n\n# Execute with proof generation\nresult, proof = await sdk.execute_with_integrity_proof(\n    \"analyze_sentiment\",\n    {\"text\": \"Market looks bullish\", \"model\": \"gpt-4\"}\n)\n\n# Proof contains:\nprint(f\"Function: {proof.function_name}\")\nprint(f\"Code Hash: {proof.code_hash}\")\nprint(f\"Execution Hash: {proof.execution_hash}\")\nprint(f\"Timestamp: {proof.timestamp}\")\nprint(f\"Storage CID: {proof.ipfs_cid}\")\n```\n\n**Features**:\n- \u2705 Cryptographic code hashing\n- \u2705 Execution verification\n- \u2705 Immutable evidence storage\n- \u2705 Tamper-proof audit trail\n\n### **Pluggable Architecture**\n\nChoose your infrastructure - no vendor lock-in:\n\n#### **Storage Providers**\n\n```python\nfrom chaoschain_sdk.providers.storage import LocalIPFSStorage, PinataStorage, IrysStorage\n\n# Local IPFS (always available, no setup)\nstorage = LocalIPFSStorage()\n\n# Or choose specific provider\nfrom chaoschain_sdk.providers.storage import PinataStorage\nstorage = PinataStorage(jwt_token=\"your_jwt\", gateway_url=\"https://gateway.pinata.cloud\")\n\nfrom chaoschain_sdk.providers.storage import IrysStorage  \nstorage = IrysStorage(wallet_key=\"your_key\")\n\nfrom chaoschain_sdk.providers.storage import ZeroGStorage  # Requires 0G CLI\nstorage = ZeroGStorage(private_key=\"your_key\")\n\n# Unified API regardless of provider\nresult = storage.put(b\"data\", mime=\"application/json\")\ndata = storage.get(result.cid)\n```\n\n**Storage Options**:\n\n| Provider | Cost | Setup | Best For |\n|----------|------|-------|----------|\n| **Local IPFS** | \ud83c\udd93 Free | `ipfs daemon` | Development, full control |\n| **Pinata** | \ud83d\udcb0 Paid | Set env vars | Production, reliability |\n| **Irys** | \ud83d\udcb0 Paid | Wallet key | Permanent storage (Arweave) |\n| **0G Storage** | \ud83d\udcb0 Gas | Start sidecar | Decentralized, verifiable |\n\n#### **Compute Providers**\n\n```python\n# Built-in: Local execution with integrity proofs\nresult, proof = await sdk.execute_with_integrity_proof(\"func_name\", args)\n\n# Optional: 0G Compute (TEE-verified AI - requires Node.js SDK)\nfrom chaoschain_sdk.providers.compute import ZeroGInference\n\ncompute = ZeroGInference(\n    private_key=\"your_key\",\n    evm_rpc=\"https://evmrpc-testnet.0g.ai\"\n)\nresult = compute.execute_llm_inference(\n    service_name=\"gpt\",\n    content=\"Your prompt here\"\n)\n```\n\n#### **Payment Methods**\n\n```python\n# x402 (PRIMARY) - Real crypto payments\npayment = sdk.execute_x402_payment(to_agent=\"Provider\", amount=10.0)\n\n# Traditional methods (with API keys)\npayment = sdk.execute_traditional_payment(\n    payment_method=\"basic-card\",  # Stripe\n    # OR \"https://google.com/pay\"  # Google Pay\n    # OR \"https://apple.com/apple-pay\"  # Apple Pay\n    # OR \"https://paypal.com\"  # PayPal\n    amount=25.99,\n    currency=\"USD\"\n)\n```\n\n## Architecture\n\n### **Triple-Verified Stack**\n\n```\n\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\n\u2551          ChaosChain Triple-Verified Stack              \u2551\n\u2560\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2563\n\u2551  Layer 3: x402 Crypto Settlement  \u2192  Payment verified \u2551\n\u2551  Layer 2: Process Integrity       \u2192  Code verified    \u2551\n\u2551  Layer 1: Google AP2 Intent       \u2192  User authorized  \u2551\n\u255a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255d\n```\n\n### **SDK Architecture**\n\n```\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502          Your Application / Agent                    \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                  \u2502\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502          ChaosChain SDK (Python)                     \u2502\n\u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502\n\u2502  \u2502  ERC-8004    \u2502  \u2502  x402      \u2502  \u2502  Google AP2 \u2502 \u2502\n\u2502  \u2502  Identity    \u2502  \u2502  Payments  \u2502  \u2502  Intent     \u2502 \u2502\n\u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502\n\u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502\n\u2502  \u2502  Process     \u2502  \u2502  Pluggable \u2502  \u2502  Pluggable  \u2502 \u2502\n\u2502  \u2502  Integrity   \u2502  \u2502  Storage   \u2502  \u2502  Compute    \u2502 \u2502\n\u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                  \u2502\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502     Your Choice of Infrastructure                    \u2502\n\u2502  \u2022 Storage: IPFS / Pinata / Irys / 0G               \u2502\n\u2502  \u2022 Compute: Local / 0G / Your provider              \u2502\n\u2502  \u2022 Network: Base / Ethereum / Optimism / 0G         \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n## Supported Networks\n\nERC-8004 v1.0 contracts are **pre-deployed on 7 testnets** (no setup needed):\n\n| Network | Chain ID | Status | Identity Registry | Reputation Registry | Validation Registry |\n|---------|----------|--------|-------------------|---------------------|---------------------|\n| **Base Sepolia** | 84532 | \u2705 Active | `0x8004AA63c570c570eBF15376c0dB199918BFe9Fb` | `0x8004bd8daB57f14Ed299135749a5CB5c42d341BF` | `0x8004C269D0A5647E51E121FeB226200ECE932d55` |\n| **Ethereum Sepolia** | 11155111 | \u2705 Active | `0x8004a6090Cd10A7288092483047B097295Fb8847` | `0x8004B8FD1A363aa02fDC07635C0c5F94f6Af5B7E` | `0x8004CB39f29c09145F24Ad9dDe2A108C1A2cdfC5` |\n| **Linea Sepolia** | 59141 | \u2705 Active | `0x8004aa7C931bCE1233973a0C6A667f73F66282e7` | `0x8004bd8483b99310df121c46ED8858616b2Bba02` | `0x8004c44d1EFdd699B2A26e781eF7F77c56A9a4EB` |\n| **Hedera Testnet** | 296 | \u2705 Active | `0x4c74ebd72921d537159ed2053f46c12a7d8e5923` | `0xc565edcba77e3abeade40bfd6cf6bf583b3293e0` | `0x18df085d85c586e9241e0cd121ca422f571c2da6` |\n| **BSC Testnet** | 97 | \u2705 Active | `0xabbd26d86435b35d9c45177725084ee6a2812e40` | `0xeced1af52a0446275e9e6e4f6f26c99977400a6a` | `0x7866bd057f09a4940fe2ce43320518c8749a921e` |\n| **0G Testnet** | 16602 | \u2705 Active | `0x80043ed9cf33a3472768dcd53175bb44e03a1e4a` | `0x80045d7b72c47bf5ff73737b780cb1a5ba8ee202` | `0x80041728e0aadf1d1427f9be18d52b7f3afefafb` |\n| **Optimism Sepolia** | 11155420 | \u23f3 Coming Soon | - | - | - |\n\n**Features:**\n- \u2705 **Base Sepolia & Ethereum Sepolia**: Full x402 USDC payments support\n- \u2705 **0G Testnet**: Native A0GI token + Compute + Storage providers\n- \u2705 **All Networks**: ERC-8004 v1.0 compliant (Identity, Reputation, Validation)\n\nSimply change the `network` parameter - no other config needed!\n\n## Advanced Examples\n\n### Complete Agent Workflow with ERC-8004 Integration\n\n```python\nfrom chaoschain_sdk import ChaosChainAgentSDK, NetworkConfig, AgentRole\nimport asyncio\n\n# Initialize\nsdk = ChaosChainAgentSDK(\n    agent_name=\"AnalysisAgent\",\n    agent_domain=\"analysis.example.com\",\n    agent_role=AgentRole.SERVER,\n    network=NetworkConfig.BASE_SEPOLIA,\n    enable_ap2=True,\n    enable_process_integrity=True,\n    enable_payments=True\n)\n\n# 1. Register on-chain identity (ERC-8004 Identity Registry)\nagent_id, tx = sdk.register_identity()\nprint(f\"\u2705 On-chain ID: {agent_id}\")\n\n# 2. Set metadata with supported trust models (ERC-8004)\nsdk.update_agent_metadata({\n    \"name\": \"AnalysisAgent\",\n    \"description\": \"Verifiable AI market analysis\",\n    \"image\": \"https://example.com/agent.png\",\n    \"supportedTrust\": [\"reputation\", \"tee-attestation\", \"validation\"]\n})\n\n# 3. Create AP2 intent (user authorization)\nintent = sdk.create_intent_mandate(\n    user_description=\"Get market analysis under $20\",\n    merchants=[\"AnalysisAgent\"],\n    expiry_minutes=60\n)\n\n# 4. Execute work with TEE-verified integrity (Process Integrity)\n@sdk.process_integrity.register_function\nasync def market_analysis(symbols: list) -> dict:\n    return {\n        \"symbols\": symbols,\n        \"trend\": \"bullish\",\n        \"confidence\": 0.87\n    }\n\nresult, proof = await sdk.execute_with_integrity_proof(\n    \"market_analysis\",\n    {\"symbols\": [\"BTC\", \"ETH\"]}\n)\n\n# 5. Store evidence (integrity proof + results)\nevidence_cid = sdk.store_evidence({\n    \"intent\": intent.intent_mandate.model_dump() if intent.success else None,\n    \"analysis\": result,\n    \"integrity_proof\": proof.__dict__\n})\n\n# 6. Execute x402 payment\npayment = sdk.execute_x402_payment(\n    to_agent=\"AnalysisAgent\",\n    amount=15.0,\n    service_type=\"market_analysis\"\n)\n\n# 7. Client submits feedback to Reputation Registry (ERC-8004)\nsdk.submit_feedback(\n    agent_id=agent_id,\n    score=95,\n    feedback_uri=f\"ipfs://{evidence_cid}\",\n    feedback_data={\n        \"score\": 95,\n        \"task\": \"market_analysis\",\n        \"proof_of_payment\": {\n            \"txHash\": payment['main_transaction_hash'],\n            \"amount\": 15.0,\n            \"currency\": \"USDC\"\n        }\n    }\n)\n\n# 8. Request validation via Validation Registry (ERC-8004)\nvalidation_request = sdk.request_validation(\n    validator_agent_id=validator_id,\n    request_uri=f\"ipfs://{proof.ipfs_cid}\",\n    request_hash=proof.execution_hash\n)\n\nprint(f\"\u2705 Complete ERC-8004 workflow!\")\nprint(f\"   Agent ID: {agent_id}\")\nprint(f\"   Evidence: {evidence_cid}\")\nprint(f\"   Payment TX: {payment['main_transaction_hash']}\")\nprint(f\"   Feedback submitted to Reputation Registry\")\nprint(f\"   Validation requested from validator #{validator_id}\")\n```\n\n### Multi-Storage Strategy\n\n```python\nfrom chaoschain_sdk.providers.storage import LocalIPFSStorage, PinataStorage, IrysStorage\nimport json\n\n# Use local IPFS for development\ndev_storage = LocalIPFSStorage()\nresult = dev_storage.put(json.dumps({\"env\": \"dev\"}).encode(), mime=\"application/json\")\ndev_cid = result.cid\n\n# Use Pinata for production\nprod_storage = PinataStorage(\n    jwt_token=os.getenv(\"PINATA_JWT\"),\n    gateway_url=\"https://gateway.pinata.cloud\"\n)\nresult = prod_storage.put(json.dumps({\"env\": \"prod\"}).encode(), mime=\"application/json\")\nprod_cid = result.cid\n\n# Use Irys for permanent archival\narchive_storage = IrysStorage(wallet_key=os.getenv(\"IRYS_WALLET_KEY\"))\nresult = archive_storage.put(json.dumps({\"env\": \"archive\"}).encode(), mime=\"application/json\")\narchive_cid = result.cid\n\n# Same API, different backends!\n```\n\n### x402 Paywall Server (Complete Example)\n\n**Architecture:**\n```\nClient Agent \u2192 Paywall Server (Port 8402) \u2192 Facilitator (Port 8403/Hosted)\n                     \u2193                              \u2193\n              Returns 402 or 200              Executes blockchain TX\n```\n\n#### **Server Side (Agent A - Service Provider)**\n\n```python\nimport os\nfrom chaoschain_sdk import ChaosChainAgentSDK\n\n# Initialize agent\nserver_sdk = ChaosChainAgentSDK(\n    agent_name=\"AgentA\",\n    agent_domain=\"agenta.com\",\n    network=\"base-sepolia\"\n)\n\n# Facilitator is automatically configured (defaults to ChaosChain hosted service)\n# To use a different facilitator, set: os.environ[\"X402_FACILITATOR_URL\"] = \"your-url\"\n# To disable facilitator, set: os.environ[\"X402_USE_FACILITATOR\"] = \"false\"\n\n# Create paywall server (Port 8402 - serves protected resources)\nserver = server_sdk.create_x402_paywall_server(port=8402)\n\n@server.require_payment(amount=5.0, description=\"Premium Analysis\")\ndef premium_analysis(data):\n    return {\n        \"analysis\": \"Deep market analysis...\",\n        \"confidence\": 0.95,\n        \"timestamp\": datetime.now().isoformat()\n    }\n\n@server.require_payment(amount=2.0, description=\"Basic Query\")\ndef basic_query(question):\n    return {\"answer\": f\"Response to: {question}\"}\n\n# Start paywall server\nserver.run()  # Listens on port 8402\n```\n\n#### **Client Side (Agent B - Service Consumer)**\n\n```python\nimport requests\nfrom chaoschain_sdk import ChaosChainAgentSDK\n\n# Initialize client agent\nclient_sdk = ChaosChainAgentSDK(\n    agent_name=\"AgentB\",\n    agent_domain=\"agentb.com\",\n    network=\"base-sepolia\"\n)\n\n# Step 1: Try to access service (no payment)\nresponse = requests.get(\"http://agenta.com:8402/chaoschain/service/premium_analysis\")\n\nif response.status_code == 402:\n    print(\"\ud83d\udcb3 Payment Required!\")\n    # Response body:\n    # {\n    #   \"x402Version\": 1,\n    #   \"accepts\": [{\n    #     \"scheme\": \"exact\",\n    #     \"network\": \"base-sepolia\",\n    #     \"maxAmountRequired\": \"5000000\",  # 5 USDC in wei\n    #     \"payTo\": \"0xAgentA...\",\n    #     \"asset\": \"0xUSDC...\"\n    #   }]\n    # }\n    \n    # Step 2: Create payment authorization (signed by Agent B)\n    payment_requirements = response.json()[\"accepts\"][0]\n    x_payment_header = client_sdk.create_x402_payment_header(payment_requirements)\n    \n    # Step 3: Retry with payment\n    response = requests.get(\n        \"http://agenta.com:8402/chaoschain/service/premium_analysis\",\n        headers={\"X-PAYMENT\": x_payment_header}\n    )\n    \n    if response.status_code == 200:\n        print(\"\u2705 Service delivered!\")\n        # Response headers include:\n        # X-PAYMENT-RESPONSE: <base64 settlement receipt with tx hash>\n        \n        result = response.json()\n        print(result)  # {\"analysis\": \"...\", \"confidence\": 0.95}\n```\n\n#### **What Happens Behind the Scenes:**\n\n1. **Client requests** \u2192 Paywall Server returns `402 Payment Required`\n2. **Client creates** signed payment authorization (no blockchain TX yet)\n3. **Client retries** with `X-PAYMENT` header\n4. **Paywall Server** \u2192 calls Facilitator `/verify` (checks signature)\n5. **Facilitator** \u2192 verifies Agent B's signature is valid\n6. **Paywall Server** \u2192 calls Facilitator `/settle` (execute payment)\n7. **Facilitator** \u2192 executes USDC transfer on blockchain:\n   - 0.125 USDC \u2192 ChaosChain Treasury (2.5% fee)\n   - 4.875 USDC \u2192 Agent A (net payment)\n8. **Facilitator** \u2192 returns transaction hash\n9. **Paywall Server** \u2192 delivers service + `X-PAYMENT-RESPONSE` header\n\n**Key Points:**\n- \u2705 **Paywall Server (Port 8402)**: Each agent runs their own for their services\n- \u2705 **Facilitator (Port 8403/Hosted)**: Shared service that executes blockchain TXs\n- \u2705 **True x402 Protocol**: HTTP 402, X-PAYMENT headers, cryptographic proofs\n- \u2705 **Real USDC transfers**: On-chain payments via facilitator\n\n## Configuration\n\n### Environment Variables\n\n```bash\n# Network Configuration\nNETWORK=base-sepolia\nBASE_SEPOLIA_RPC_URL=https://base-sepolia.g.alchemy.com/v2/YOUR_KEY\nETHEREUM_SEPOLIA_RPC_URL=https://eth-sepolia.g.alchemy.com/v2/YOUR_KEY\nOPTIMISM_SEPOLIA_RPC_URL=https://opt-sepolia.g.alchemy.com/v2/YOUR_KEY\n\n# x402 Configuration (Coinbase Protocol)\nCHAOSCHAIN_FEE_PERCENTAGE=2.5  # Protocol fee (default: 2.5%)\nX402_USE_FACILITATOR=true  # Default: true (uses ChaosChain hosted facilitator)\nX402_FACILITATOR_URL=https://facilitator.chaoscha.in  # Default: ChaosChain facilitator\n\n# Storage Providers (auto-detected if not specified)\n# Local IPFS (free): Just run `ipfs daemon`\nPINATA_JWT=your_jwt_token\nPINATA_GATEWAY=https://gateway.pinata.cloud\nIRYS_WALLET_KEY=your_wallet_key\n\n# Optional: 0G Network\nZEROG_TESTNET_RPC_URL=https://evmrpc-testnet.0g.ai\nZEROG_TESTNET_PRIVATE_KEY=your_key\nZEROG_GRPC_URL=localhost:50051  # If using 0G sidecar\n\n# Traditional Payment APIs (optional)\nSTRIPE_SECRET_KEY=sk_live_...\nGOOGLE_PAY_MERCHANT_ID=merchant.example.com\nAPPLE_PAY_MERCHANT_ID=merchant.example.com\nPAYPAL_CLIENT_ID=your_client_id\n```\n\n### Storage Setup\n\n#### Local IPFS (Free, Recommended for Development)\n\n```bash\n# macOS\nbrew install ipfs\nipfs init\nipfs daemon\n\n# Linux\nwget https://dist.ipfs.tech/kubo/v0.24.0/kubo_v0.24.0_linux-amd64.tar.gz\ntar -xvzf kubo_v0.24.0_linux-amd64.tar.gz\nsudo bash kubo/install.sh\nipfs init\nipfs daemon\n```\n\n#### Pinata (Cloud)\n\n```bash\n# Get API keys from https://pinata.cloud\nexport PINATA_JWT=\"your_jwt_token\"\nexport PINATA_GATEWAY=\"https://gateway.pinata.cloud\"\n```\n\n## API Reference\n\n### ChaosChainAgentSDK\n\n```python\nChaosChainAgentSDK(\n    agent_name: str,\n    agent_domain: str, \n    agent_role: AgentRole | str,  # \"server\", \"validator\", \"client\"\n    network: NetworkConfig | str = \"base-sepolia\",\n    enable_process_integrity: bool = True,\n    enable_payments: bool = True,\n    enable_storage: bool = True,\n    enable_ap2: bool = True,\n    wallet_file: str = None\n)\n```\n\n#### Key Methods\n\n| Method | Description | Returns |\n|--------|-------------|---------|\n| **ERC-8004 Identity** |\n| `register_identity()` | Register on-chain | `(agent_id, tx_hash)` |\n| `update_agent_metadata()` | Update profile | `tx_hash` |\n| `submit_feedback()` | Submit reputation | `tx_hash` |\n| `request_validation()` | Request validation | `tx_hash` |\n| **x402 Payments** |\n| `execute_x402_payment()` | Execute payment | `Dict[str, Any]` |\n| `create_x402_payment_requirements()` | Create requirements | `Dict` |\n| `create_x402_paywall_server()` | Create paywall | `X402PaywallServer` |\n| `get_x402_payment_history()` | Payment history | `List[Dict]` |\n| **Google AP2** |\n| `create_intent_mandate()` | Create intent | `GoogleAP2IntegrationResult` |\n| `create_cart_mandate()` | Create cart + JWT | `GoogleAP2IntegrationResult` |\n| **Process Integrity** |\n| `execute_with_integrity_proof()` | Execute with proof | `(result, IntegrityProof)` |\n| **Pluggable Storage** |\n| `store_evidence()` | Store data | `cid` |\n\n## Testing & Development\n\n```bash\n# Install with dev dependencies\npip install -e \".[dev]\"\n\n# Run tests\npytest tests/\n\n# Run with coverage\npytest --cov=chaoschain_sdk tests/\n\n# Run examples\npython examples/basic_agent.py\n```\n\n## FAQ\n\n**Q: Do I need to deploy contracts?**  \nA: No! All ERC-8004 v1.0 contracts are pre-deployed on 5 testnets with deterministic addresses. Just `pip install` and start building.\n\n**Q: Can I use this in production?**  \nA: Yes! The SDK is production-ready and **100% ERC-8004 v1.0 compliant** (12/12 tests pass). Currently on testnets; mainnet deployment coming soon.\n\n**Q: What's the difference between ERC-8004 and the SDK?**  \nA: ERC-8004 v1.0 is the **standard** (3 registries: Identity, Reputation, Validation). The SDK **implements** it fully + adds x402 payments, AP2 intent verification, and Process Integrity for a complete agent economy.\n\n**Q: How do I verify v1.0 compliance?**  \nA: The SDK passes all 12 ERC-8004 v1.0 compliance tests. Agents are ERC-721 NFTs, making them browsable on OpenSea and compatible with all NFT wallets.\n\n**Q: What storage should I use?**  \nA: Start with Local IPFS (free), then 0G or Pinata for production. The SDK auto-detects available providers. ERC-8004 registration files can use any URI scheme (ipfs://, https://).\n\n**Q: Do I need 0G Network?**  \nA: No, 0G is optional. The SDK works great with Base/Ethereum/Optimism + IPFS/Pinata. 0G adds TEE-verified compute and decentralized storage.\n\n**Q: How do x402 payments work?**  \nA: Real USDC transfers using Coinbase's HTTP 402 protocol. Automatic 2.5% fee to ChaosChain treasury. Payment proofs can enrich ERC-8004 reputation feedback.\n\n**Q: What are \"supportedTrust\" models in ERC-8004?**  \nA: Agents advertise trust mechanisms: `reputation` (Reputation Registry), `validation` (Validation Registry with zkML/TEE), and `tee-attestation` (Process Integrity with 0G Compute). This SDK supports all three!\n\n## Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file.\n\n## Links\n\n- **Homepage**: [https://chaoscha.in](https://chaoscha.in)\n- **Documentation**: [https://docs.chaoscha.in](https://docs.chaoscha.in)\n- **GitHub**: [https://github.com/ChaosChain/chaoschain-sdk](https://github.com/ChaosChain/chaoschain-sdk)\n- **PyPI**: [https://pypi.org/project/chaoschain-sdk/](https://pypi.org/project/chaoschain-sdk/)\n- **ERC-8004 Spec**: [https://eips.ethereum.org/EIPS/eip-8004](https://eips.ethereum.org/EIPS/eip-8004)\n- **x402 Protocol**: [https://www.x402.org/](https://www.x402.org/)\n\n## Support\n\n- **Issues**: [GitHub Issues](https://github.com/ChaosChain/chaoschain-sdk/issues)\n- **Discord**: [ChaosChain Community]\n- **Email**: sumeet.chougule@nethermind.io\n\n---\n\n**Build verifiable AI agents with on-chain identity, cryptographic proofs, and crypto payments.**\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Minimal SDK for building verifiable agents on ChaosChain protocol - ERC-8004, x402, local storage",
    "version": "0.2.7",
    "project_urls": {
        "Documentation": "https://docs.chaoschain.io",
        "Homepage": "https://chaoschain.io",
        "Issues": "https://github.com/ChaosChain/chaoschain/issues",
        "Repository": "https://github.com/ChaosChain/chaoschain"
    },
    "split_keywords": [
        "ai-agents",
        " blockchain",
        " erc-8004",
        " x402",
        " web3",
        " autonomous-agents",
        " chaoschain",
        " crypto-payments",
        " agent-commerce"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d4524829851eeb52b91c6c6bde43d8201ded18ffffadef93ccfe2b0ad49a2d72",
                "md5": "43903921f4e85262f9d18026f1e6e4fa",
                "sha256": "cdf27135498d1e702b4744c1f09977953de89f46bd9a018eefc44e4a755d3a9f"
            },
            "downloads": -1,
            "filename": "chaoschain_sdk-0.2.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "43903921f4e85262f9d18026f1e6e4fa",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 115062,
            "upload_time": "2025-11-02T11:21:48",
            "upload_time_iso_8601": "2025-11-02T11:21:48.709608Z",
            "url": "https://files.pythonhosted.org/packages/d4/52/4829851eeb52b91c6c6bde43d8201ded18ffffadef93ccfe2b0ad49a2d72/chaoschain_sdk-0.2.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "16ba964366010a86f6dc5df1ae3ec380bb36156e7f37de3e7023ca8c098d2f9d",
                "md5": "b1c72738b2631060aba2844dce3fef17",
                "sha256": "130663acc48ccffc619808ea858a7c5335efa75b75c45ee9321fecc42939d181"
            },
            "downloads": -1,
            "filename": "chaoschain_sdk-0.2.7.tar.gz",
            "has_sig": false,
            "md5_digest": "b1c72738b2631060aba2844dce3fef17",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 107817,
            "upload_time": "2025-11-02T11:21:50",
            "upload_time_iso_8601": "2025-11-02T11:21:50.214056Z",
            "url": "https://files.pythonhosted.org/packages/16/ba/964366010a86f6dc5df1ae3ec380bb36156e7f37de3e7023ca8c098d2f9d/chaoschain_sdk-0.2.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-02 11:21:50",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ChaosChain",
    "github_project": "chaoschain",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "chaoschain-sdk"
}
        
Elapsed time: 3.16215s