Observed since 21 Oct, 09:16 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
AER-1 verifiable execution receipts for Agno agents: one checkable receipt per tool call.
Every tool call your Agno agent makes, recorded as an AER-1 verifiable execution receipt. Four lines of code. No new infrastructure.
AER-1 is an open IETF Internet-Draft (draft-zambo-aer1) defining a small vocabulary for recording one AI agent tool call as a portable, independently checkable receipt. A receipt proves the recorded result was not changed. It does not prove the tool was correct.
pip install agno-aer1
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno_aer1 import AER1Recorder
recorder = AER1Recorder()
agent = Agent(
model=OpenAIChat(id="gpt-4o-mini"),
tools=[...],
tool_hooks=[recorder],
)
agent.run("What is 17 * 24?")
print(f"{len(recorder.receipts)} receipts recorded")
recorder.save("receipts.jsonl")
That is the whole integration. tool_hooks is Agno's native middleware seam for tool execution (the same seam observability integrations use): each hook wraps a tool call, sees the function name and arguments, runs the tool, and observes the result. The recorder sits in that chain and emits one receipt per call, then returns the result untouched.
{
"id": "3f9a2c1e-7b4d-4f8a-9c2e-1a5b6d7e8f90",
"receipt_schema_version": "0.3",
"created_at": "2026-10-05T22:30:00.123456Z",
"tool": {"name": "calculator", "version": "3.1.1", "scope": "public"},
"provenance_class": "EXECUTED BY AGNO",
"canonical_bytes": "eyJpbnB1dHMiOi...",
"output_hash": "sha256:9f2c...",
"verification_status": "verified"
}
The canonical bytes are a deterministic JSON payload (tool, inputs, output). Anyone can base64-decode them, recompute SHA-256, and compare with output_hash. That is the entire verification procedure.
from agno_aer1 import verify_receipt
failures = verify_receipt(recorder.receipts[0])
assert failures == [], failures
print("receipt checks out")
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.0 | 5 Oct 2026 | 0 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitLab
| Contributor | Contributions |
|---|---|
| rambo | 551 |
| Brennan Zambo | 4 |
Default-branch author identities; GitLab commit counts exclude merge commits.
Public sponsor counts have not been collected. These signals belong to the repository owner.
gitlab · 4 observations shown. Missing days are unknown.
| Date / source period | Value | Observed at |
|---|---|---|
| 2026-10-24 | 2 | 2026-10-24T08:58:16.1285343Z |
| 2026-10-23 | 2 | 2026-10-23T07:41:08.7611147Z |
| 2026-10-21 | 2 | 2026-10-21T21:59:44.5351213Z |
| 2026-10-20 | 2 | 2026-10-20T21:59:02.8977692Z |
Observed since 21 Oct, 09:16 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:c83f1c1db30bddc4323627db2295a8c1c0002024be08109847336339735e69ee