Identity, memory, trust, and verification layer for autonomous AI agents
Project description
SOUL Protocol
Sovereign Open Universal Ledger for Agent Identity
The identity, memory, trust, and verification layer for autonomous AI agents.
Every AI company is building the brain. SOUL Protocol is the passport.
Why
AI agents today are amnesiac, unverifiable, untrusted, locked to a single provider, and anonymous. SOUL Protocol gives every agent a cryptographic identity, portable memory, reputation, signed receipts, and encrypted communication — all in one SDK.
Install
pip install soul-sdk
# With relay server support
pip install soul-sdk[relay]
# With Ethereum anchoring
pip install soul-sdk[ethereum]
Quick Start
# Create an agent identity
soul init --name MyAgent
soul whoami
# → did:soul:z6MkhaXgBZDvotDkL5257faWM1euThsHDBUbf5WhdDDV
# Start a relay server
soul relay --port 8340
# Discover agents on the network
soul discover --relay http://localhost:8340
# Send a signed message
soul send --relay http://localhost:8340 --to did:soul:z6Mk... --msg '{"task": "review code"}'
# Check trust score
soul trust
# Anchor receipt to Base/Ethereum
soul anchor --chain base
Python SDK
from soul_protocol import Agent
# Create two agents
alice = Agent(name="Alice")
bob = Agent(name="Bob")
# Alice requests a task
receipt = alice.request_task(
to=bob.public_key,
description="Audit smart contract",
budget=100.0,
)
# Bob countersigns and stores
bob.countersign(receipt)
alice.store_receipt(receipt)
# Check trust
report = alice.trust_report()
print(f"Trust: {report['score']:.2f} ({report['grade']})")
# Anchor to Ethereum
result = alice.anchor_receipt(receipt, chain="base")
# Export portable memory
alice.export_memory("./alice-bundle")
Architecture
┌─────────────────────────────────────────────┐
│ Layer 6: Chain Anchor │
│ Ethereum / Base / Sepolia immutability │
├─────────────────────────────────────────────┤
│ Layer 5: Communication │
│ Relay network, discovery, WebSocket │
├─────────────────────────────────────────────┤
│ Layer 4: Encryption │
│ E2E NaCl Box (X25519-XSalsa20-Poly1305) │
├─────────────────────────────────────────────┤
│ Layer 3: Receipts │
│ Dual-signed action proofs │
├─────────────────────────────────────────────┤
│ Layer 2: Trust │
│ Sybil-resistant scoring, temporal decay │
├─────────────────────────────────────────────┤
│ Layer 1: Memory │
│ Structured, versioned, portable │
├─────────────────────────────────────────────┤
│ Layer 0: Identity │
│ DID:key + Ed25519 + Agent Manifest │
└─────────────────────────────────────────────┘
Components
| Component | Status | Description |
|---|---|---|
| Identity | Shipped | Ed25519 keypairs, DID:soul identifiers, self-signed manifests |
| Memory | Shipped | Portable bundles, cross-runtime sync, structured tiers |
| Trust | Shipped | Sybil-resistant scoring with temporal decay and diversity factors |
| Receipts | Shipped | Dual-signed proofs: request → accept → deliver → confirm/dispute |
| Encryption | Shipped | E2E NaCl Box, automatic Ed25519→Curve25519 conversion |
| Relay | Shipped | FastAPI server, agent discovery, WebSocket push, live dashboard |
| Anchoring | Shipped | Receipt hashes to Base/Ethereum/Sepolia as calldata |
| CLI | Shipped | 10 commands: init, whoami, trust, anchor, history, relay, discover, send, inbox, export |
Relay Dashboard
The relay server includes a live agent dashboard at the root URL. When you run soul relay --port 8340, open http://localhost:8340 to see:
- Connected agents and their capabilities
- Online/offline status with real-time updates
- Network statistics
Roadmap
See ROADMAP.md for the full 4-phase plan.
Phase 2 (next): Managed relay infrastructure, TypeScript SDK, React dashboard, trust API.
Full Specification
See PROTOCOL.md for the complete technical specification covering all 7 layers, message formats, signature schemes, and anchoring mechanics.
License
MIT (core protocol) | Commercial (managed services)
Built by Vickson Enterprises.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
File details
Details for the file soul_sdk-0.2.1.tar.gz.
File metadata
- Download URL: soul_sdk-0.2.1.tar.gz
- Upload date:
- Size: 28.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
981193840de5670567bf0e34689f61cfe21b2c795867a349ebab691484a3f894
|
|
| MD5 |
c259a00f91d7bcda77094ffd4a3f5423
|
|
| BLAKE2b-256 |
dd3fd568738b085f3fc760224a1dccaab9a296576c8b2fc88d4d265f98efe1f2
|
File details
Details for the file soul_sdk-0.2.1-py3-none-any.whl.
File metadata
- Download URL: soul_sdk-0.2.1-py3-none-any.whl
- Upload date:
- Size: 27.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c23ccb202d8f1e3570f082b5b675e84bd182991a201866b3a9ac8a4d543737cf
|
|
| MD5 |
af93c944e5f7f9138ac5234c7df8e968
|
|
| BLAKE2b-256 |
8af8df2f449f2b6b8553036ff0c1b40962a8ede9521679c0fbced37ace93ed2d
|