ATLAST Evidence Chain Protocol — trust infrastructure for AI Agents
Project description
atlast-ecp
Python SDK for the ATLAST Evidence Chain Protocol (ECP) — trust infrastructure for AI agents.
Install
pip install atlast-ecp
# With ed25519 signing:
pip install atlast-ecp[crypto]
# With transparent proxy (Layer 0):
pip install atlast-ecp[proxy]
Three Integration Layers
Layer 0 — Zero Code (transparent proxy)
atlast run python my_agent.py
# or: OPENAI_BASE_URL=http://localhost:8340 python my_agent.py
Layer 1 — One Line (wrap)
from atlast_ecp import wrap
from openai import OpenAI
client = wrap(OpenAI()) # Records every LLM call automatically
response = client.chat.completions.create(model="gpt-4o", messages=[...])
Works with: OpenAI, Anthropic, Google Gemini, LiteLLM.
Layer 2 — Framework Adapters
# LangChain
from atlast_ecp.adapters.langchain import ATLASTCallbackHandler
llm = ChatOpenAI(callbacks=[ATLASTCallbackHandler(agent="my-agent")])
# CrewAI
from atlast_ecp.adapters.crewai import ATLASTCrewCallback
crew = Crew(callbacks=[ATLASTCrewCallback(agent="my-crew")])
# AutoGen
from atlast_ecp.adapters.autogen import register_atlast
register_atlast(my_agent)
CLI
atlast init # Initialize ~/.ecp/
atlast record # Create ECP record
atlast log # View latest records
atlast verify <id> # Verify chain integrity
atlast stats # Trust signals
atlast insights # Performance analytics
atlast proxy # Start transparent proxy
atlast run <cmd> # Run with auto-proxy
atlast did # Agent DID
Module Stability
| Module | Status | Description |
|---|---|---|
core |
🟢 Stable | record_minimal(), record() |
wrap |
🟢 Stable | wrap(client) for OpenAI/Anthropic/Gemini |
record |
🟢 Stable | ECP record creation (v1.0 spec) |
batch |
🟢 Stable | Merkle tree + batch upload |
verify |
🟢 Stable | Signature + Merkle proof verification |
storage |
🟢 Stable | Local ~/.ecp/ file storage |
signals |
🟢 Stable | Trust signal computation |
identity |
🟢 Stable | DID + Ed25519 key management |
config |
🟢 Stable | Environment/config management |
insights |
🟢 Stable | Performance analytics |
webhook |
🟢 Stable | HMAC-signed webhook delivery |
adapters.* |
🟢 Stable | LangChain, CrewAI, AutoGen |
proxy |
🟡 Beta | Transparent HTTP proxy (Layer 0) |
a2a |
🟡 Beta | Agent-to-Agent handoff tracking |
cli |
🟡 Beta | atlast CLI |
mcp_server |
🟠 Experimental | MCP tools server |
otel_exporter |
🟠 Experimental | OpenTelemetry exporter |
openclaw_scanner |
🟠 Experimental | OpenClaw session log scanner |
auto |
🟠 Experimental | OTel auto-instrumentation |
Privacy
- Content never leaves your device — only SHA-256 hashes transmitted
- Local storage:
~/.ecp/records/ - On-chain: Merkle root only (EAS on Base)
- Fail-Open: SDK errors never crash your agent
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
atlast_ecp-0.30.5.tar.gz
(508.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
atlast_ecp-0.30.5-py3-none-any.whl
(439.1 kB
view details)
File details
Details for the file atlast_ecp-0.30.5.tar.gz.
File metadata
- Download URL: atlast_ecp-0.30.5.tar.gz
- Upload date:
- Size: 508.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5cd18d5bfa67f0d7d37007aec07072af419a238fd6d21f9ad79c2fc4f3de7ce6
|
|
| MD5 |
9f33f194d949b9b457b59d29f25c77bc
|
|
| BLAKE2b-256 |
33ed7ee7b292214e8cf20f215d1fee5668d98c7aebdda2e1a77f71e45bd85543
|
File details
Details for the file atlast_ecp-0.30.5-py3-none-any.whl.
File metadata
- Download URL: atlast_ecp-0.30.5-py3-none-any.whl
- Upload date:
- Size: 439.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b900c4880a3cba404cc18bad41f5a43b374a8d15643d6b6c7218f7f4adfe150b
|
|
| MD5 |
ecbebf343828829593fdbeb268427150
|
|
| BLAKE2b-256 |
6dbc00888c2d4ec5ff807bc21d80e3f1a5a444acbc02f56098800c15b8c64caa
|