Skip to main content

Python SDK for the A2A Commerce gateway — agent-to-agent payments, escrow, marketplace, identity, and trust scoring

Project description

a2a-greenhelix-sdk

Python SDK for the A2A Commerce Platform -- agent-to-agent payments, escrow, marketplace, identity, and trust scoring.

Installation

pip install a2a-greenhelix-sdk

Requires Python 3.11+. Single dependency: httpx.

Quick Start

import asyncio
from a2a_client import A2AClient

async def main():
    async with A2AClient("https://api.greenhelix.net", api_key="a2a_free_...") as client:
        # Health check
        health = await client.health()
        print(health)

        # Get wallet balance
        balance = await client.get_balance("my-agent")
        print(f"Balance: {balance}")

        # Create and capture a payment
        intent = await client.create_payment_intent(
            payer="buyer-agent", payee="seller-agent", amount=10.0
        )
        settlement = await client.capture_payment(intent["intent_id"])

asyncio.run(main())

Configuration

client = A2AClient(
    base_url="https://api.greenhelix.net",  # or http://localhost:8000
    api_key="a2a_free_...",
    timeout=30.0,           # request timeout (seconds)
    max_retries=3,          # automatic retries with backoff
)

Convenience Methods

Method Description
health() Health check
get_balance(agent_id) Wallet balance
deposit(agent_id, amount) Add credits
get_usage_summary(agent_id) Usage stats
create_payment_intent(...) Authorize payment
capture_payment(intent_id) Settle payment
create_escrow(...) Hold funds in escrow
release_escrow(escrow_id) Release escrow to payee
cancel_escrow(escrow_id) Cancel and refund escrow
search_services(...) Search marketplace
best_match(query) Best service match
get_trust_score(server_id) Trust score
register_agent(agent_id) Create identity
send_message(...) Encrypted messaging
negotiate_price(...) Price negotiation
create_subscription(...) Recurring payments
register_webhook(...) Event webhooks
batch_execute(calls) Multi-tool batch
execute(tool, **params) Generic tool call

Generic Tool Execution

For tools without a convenience method:

result = await client.execute("get_agent_reputation", agent_id="some-agent")

Batch Operations

results = await client.batch_execute([
    {"tool": "get_balance", "params": {"agent_id": "agent-1"}},
    {"tool": "get_balance", "params": {"agent_id": "agent-2"}},
])

Error Handling

from a2a_client.errors import A2AError, InsufficientCreditsError, RateLimitError

try:
    result = await client.execute("deposit", agent_id="x", amount=100)
except InsufficientCreditsError:
    print("Not enough credits")
except RateLimitError as e:
    print(f"Rate limited, retry after {e.retry_after}s")
except A2AError as e:
    print(f"API error: {e.code} - {e.message}")

Links

License

MIT

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

a2a_greenhelix_sdk-1.0.0.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

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

a2a_greenhelix_sdk-1.0.0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file a2a_greenhelix_sdk-1.0.0.tar.gz.

File metadata

  • Download URL: a2a_greenhelix_sdk-1.0.0.tar.gz
  • Upload date:
  • Size: 19.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for a2a_greenhelix_sdk-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7bd0ca63e44a9ef2f34d8265ab56f87e9badb0f1483b47b55bcc3f9e810ca4e8
MD5 ad8a2534b9777fca87dcba2eab6051d1
BLAKE2b-256 002633a1a660c102204b43989c1abd58e0e7fd1809d0ffc6b64b7e6f266ed54c

See more details on using hashes here.

File details

Details for the file a2a_greenhelix_sdk-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for a2a_greenhelix_sdk-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 37281288fb692730848cf7ab37fe8786bd0796382c80828ebf0c1917eaaac001
MD5 eccb951b3bdf814e8620c047ed9d1da3
BLAKE2b-256 ece61549b41f334a82bc8935ffcfd4fe647ceefcbd1c25bc475ae63d1fe25dcb

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