attestify-crewai
Governed AI loop execution for CrewAI agents — signed receipts, audit trails, x402 payments on Base, and Attestify Trust (no-wallet agent identity + signed evidence).
Installation
pip install attestify-crewai
Trust tools additionally need cryptography — install with pip install attestify-crewai[trust]; everything else works without it.
Quick Start
from attestify_crewai import AttestifyToolset
from crewai import Agent, Task, Crew
import os
toolset = AttestifyToolset(api_key=os.environ["ATTESTIFY_API_KEY"])
researcher = Agent(
role="Research Analyst",
goal="Answer questions using governed Attestify agents",
backstory="You route tasks through Attestify for auditable execution.",
tools=toolset.tools(),
verbose=True,
)
task = Task(
description="Summarise the latest AI agent governance landscape",
expected_output="A structured 3-paragraph summary with receipt ID",
agent=researcher,
)
crew = Crew(agents=[researcher], tasks=[task])
result = crew.kickoff()
Available Tools
| Tool | Description | Plan |
|---|---|---|
AttestifyRunLoop |
Submit a task to the governed loop router | All |
AttestifyGetDashboard |
Run count, quota, plan tier, recent receipts | Builder+ |
AttestifyGetRecentLoops |
List recent loop receipts | All |
AttestifyGetReceipt |
Retrieve a verified receipt by loop_id | All |
AttestifyGetControlTower |
Enterprise governance data & cross-tenant visibility | Enterprise |
AttestifySubmitTrustEvidence |
Sign and submit evidence of real work — free, no wallet | All (Trust configured) |
AttestifyVerifyTrustReceipt |
Independently verify any Trust receipt by ID | Public, no key |
Attestify Trust — no-wallet agent identity + signed evidence
A separate concern from the Router tools above: no x402, no lanes, no spend. Register once, then any agent in the crew can sign proof of what it actually did.
from attestify_crewai import provision_trust_agent, AttestifyToolset
import os
# ONE TIME, outside any crew run — never let the agent call this itself.
# A fresh identity per run breaks the agent's own verified-active streak
# and adds noise to Attestify's public census instead of a real number.
creds = provision_trust_agent(
api_key=os.environ["ATTESTIFY_API_KEY"],
display_name="Research Crew",
framework="crewai",
)
print(f"Store these — TRUST_AGENT_ID={creds['agent_id']} TRUST_PRIVATE_KEY={creds['private_key']}")
# From then on, with those two env vars set:
toolset = AttestifyToolset(api_key=os.environ["ATTESTIFY_API_KEY"])
tools = toolset.tools() # includes AttestifySubmitTrustEvidence and
# AttestifyVerifyTrustReceipt automatically
The private key is bound once at AttestifyToolset construction — it's never a tool input, so it never enters the agent's own reasoning or a transcript.
Getting Your API Key
Subscribe at attestifyos.com/pricing for Router access, or register free for Trust-only use at attestifyos.com/trust — no card required.
Links
Metadata
Release files for attestify-crewai 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| attestify_crewai-0.2.0.tar.gz | 9.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| attestify_crewai-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.2 kB
Release files / attestify_crewai-0.2.0.tar.gz
| Download URL | attestify_crewai-0.2.0.tar.gz |
|---|---|
| Size | 9.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dc4c1cc8c2493c8f06283e06ed0901c5128330fa2ca6f3ace18951d495bd6f47
|
|
BLAKE2b-256 checksum How to use checksums |
f7db3d36018daf75d715c1945650ebf384b7ad8a6a14786d6f6da1c36435f3ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / attestify_crewai-0.2.0-py3-none-any.whl
| Download URL | attestify_crewai-0.2.0-py3-none-any.whl |
|---|---|
| Size | 12.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fcf9e48c531f5b4b4d6e4e987cfe2cca90e3256c38bf57e289cdad97f7815d6a
|
|
BLAKE2b-256 checksum How to use checksums |
ef044046b60ebbc282e9709ea3157021ee2459d56479fdbb75f359c3496f3910
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|