Skip to main content

openai-agents-zambo

Verifiable AER-1 execution receipts for OpenAI Agents SDK agents. OpenAI Agents SDK integration for Zambo: give any agents agent a tool backed by Zambo's MCP tools, and mint a verifiable execution receipt for every tool event.

Receipts follow AER-1, the IETF draft for verifiable execution receipts created by Brennan Zambo.

  • Every call can mint a public, verifiable receipt (https://zambo.dev/run/<id>).
  • Free tier: 20 free calls per day, no account.
  • Endpoint override via ZAMBO_API_URL (default https://zambo.dev/mcp).
  • Hook failures are recorded in receipt_errors and never break the run.

For whole-run workflow receipts with a Merkle root (AER-1 Section 8), see aer1-openai-agents.

Install

pip install openai-agents-zambo openai-agents

Example

import asyncio
from agents import Agent, Runner
from openai_agents_zambo import ZamboRunHooks, zambo_function_tool

hooks = ZamboRunHooks()

agent = Agent(
    name="researcher",
    instructions="Use ask_zambo for anything Zambo's tools can do.",
    tools=[zambo_function_tool()],
)

result = asyncio.run(Runner.run(agent, "What is the capital of France?", hooks=hooks))
print(result.final_output)
print("Receipts:", hooks.receipt_urls)  # public verifiable receipt URLs
print("Errors:", hooks.receipt_errors)

Requires OPENAI_API_KEY in your environment.

API

  • ZamboRunHooks(timeout=30.0) subclasses agents.RunHooks. Its on_tool_start/on_tool_end publish a receipt for the tool event. Tracks receipt_urls, receipt_errors, last_receipt_url.
  • zambo_function_tool(name="ask_zambo", description=..., timeout=30.0) returns an agents.FunctionTool wrapping zambo_universal. On invocation it calls the endpoint, captures the public receipt URL, and appends it to the returned text. Same receipt tracking attributes. Raises an informative ImportError if openai-agents is not installed.

Honesty note

Receipts record what the Zambo endpoint observed: the goal it received, the result it produced, and the public receipt URL it minted. They do not independently certify anything the endpoint did not see.

Guides

Local AER-1 receipts (no network needed)

The package also mints AER-1 execution receipts locally, with no API calls:

from openai_agents_zambo import mint_receipt, verify_receipt

receipt = mint_receipt("my_tool", {"query": "hello"}, {"answer": "hi"}, ms=42)
assert verify_receipt(receipt)  # recomputes the SHA-256 locally

Local receipts follow the AER-1 core members (id, created_at, tool, provenance_class, canonical_bytes, output_hash) and use the provenance class EXECUTED BY OPENAI-AGENTS-ZAMBO, naming this package as the recording system. They pass the same hash-recomputation check as any AER-1 receipt.

Metadata

Release files for openai-agents-zambo 0.1.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openai-agents-zambo 0.1.10
File Size Uploaded Provenance Actions
openai_agents_zambo-0.1.10.tar.gz 8.1 kB Without provenance Details for openai_agents_zambo-0.1.10.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for openai-agents-zambo 0.1.10
File Interpreter ABI Platform Actions
openai_agents_zambo-0.1.10-py3-none-any.whl Python 3 none any Details for openai_agents_zambo-0.1.10-py3-none-any.whl

Total release size: 16.7 kB

Release files / openai_agents_zambo-0.1.10.tar.gz

Download URL openai_agents_zambo-0.1.10.tar.gz
Size 8.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8bc127dc6ed8d2a7adf4d7f0d7ac1274b78696070dbc31b3bbd85c6172552133
BLAKE2b-256 checksum
How to use checksums
2b8dc205682748ca67da543e5831d92c287d73a48cbbeef79e988d9791334443
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via rambo-pypi-grab/0.1.0

Release files / openai_agents_zambo-0.1.10-py3-none-any.whl

Download URL openai_agents_zambo-0.1.10-py3-none-any.whl
Size 8.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e289143bbefe1b05c7688e073feca626e708d11511d0abee2dc0281d9063ab80
BLAKE2b-256 checksum
How to use checksums
6afcef87aa9ab9e01a9dc751b3d173d8e2c62f43db286c9be86f149da1856208
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via rambo-pypi-grab/0.1.0

Security for openai-agents-zambo 0.1.10

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page