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.21.0.tar.gz
(464.0 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.21.0-py3-none-any.whl
(392.9 kB
view details)
File details
Details for the file atlast_ecp-0.21.0.tar.gz.
File metadata
- Download URL: atlast_ecp-0.21.0.tar.gz
- Upload date:
- Size: 464.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
228acfe49378701212d1fa33b8ef8b07018ba647ace030dbb86605bc2be2509b
|
|
| MD5 |
06a642751736259185228fcd3c5a19ef
|
|
| BLAKE2b-256 |
3ea8cb02ac00161306bbc0c19a7a481bbc9215d1aa2492bdcb7c1c23abf4d926
|
File details
Details for the file atlast_ecp-0.21.0-py3-none-any.whl.
File metadata
- Download URL: atlast_ecp-0.21.0-py3-none-any.whl
- Upload date:
- Size: 392.9 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 |
992a11966d9b55a9d2a70f3dda05730ea9bac868ec31ee19e362d6a5792bd347
|
|
| MD5 |
800d1e832d15e53ff970137b8b4a7d64
|
|
| BLAKE2b-256 |
5df10a703ef26dcd64c501ed6f2c4404caa695046582e9c485131952e3c439c6
|