Skip to main content

Identity, memory, trust, and verification layer for autonomous AI agents

Project description

SOUL Protocol

PyPI Python License Tests

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")

# Learn from interaction history
alice.learn()
hints = alice.insights("smart contract audit")  # Contextual pattern recall

# AgentRank — network-level trust scoring
rank = alice.agent_rank()  # 40% network position + 60% individual performance

# Capability-based discovery
alice.register_self(capabilities=["code-review", "security-audit"])
agents = alice.find_agents("code, security")  # Fuzzy AND query
alice.sync_discovery(bob)                      # P2P registry merge

Architecture

┌─────────────────────────────────────────────┐
│  Layer 6: Chain Anchor                      │
│  Ethereum / Base / Sepolia immutability     │
├─────────────────────────────────────────────┤
│  Layer 5: Communication & Discovery         │
│  Relay network, WebSocket, DHT capability   │
│  registry, P2P sync, fuzzy matching         │
├─────────────────────────────────────────────┤
│  Layer 4: Encryption                        │
│  E2E NaCl Box (X25519-XSalsa20-Poly1305)   │
├─────────────────────────────────────────────┤
│  Layer 3: Receipts                          │
│  Dual-signed action proofs                  │
├─────────────────────────────────────────────┤
│  Layer 2: Trust & AgentRank                 │
│  Sybil-resistant scoring, temporal decay,   │
│  PageRank-inspired network trust            │
├─────────────────────────────────────────────┤
│  Layer 1: Memory & Learning                 │
│  Structured, versioned, portable,           │
│  instinct-based pattern extraction          │
├─────────────────────────────────────────────┤
│  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
AgentRank Shipped PageRank-inspired trust propagation across agent networks
Learning Shipped Instinct-based continuous learning — auto-extracts patterns from interactions
Discovery Shipped DHT-style capability registry with fuzzy matching and P2P sync
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

soul_sdk-0.5.0.tar.gz (61.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

soul_sdk-0.5.0-py3-none-any.whl (54.3 kB view details)

Uploaded Python 3

File details

Details for the file soul_sdk-0.5.0.tar.gz.

File metadata

  • Download URL: soul_sdk-0.5.0.tar.gz
  • Upload date:
  • Size: 61.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for soul_sdk-0.5.0.tar.gz
Algorithm Hash digest
SHA256 f33530f4611884ebb4c981d0638155998f592d62f2c3708abe1cb535e29d5611
MD5 9c6491945410bd35c25c500ad06eb1cf
BLAKE2b-256 b3cfe6a9c3f3347e93031bfcba97cf87be76a400a08eed582efdaaa89fc226e1

See more details on using hashes here.

File details

Details for the file soul_sdk-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: soul_sdk-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 54.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for soul_sdk-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 84d8ef3fe47488a78c0a5e71ba8e0425a58a59ddddbdbd08362b600572c00153
MD5 002674631d8eb6336e69ecac74c8370a
BLAKE2b-256 94274edc9fa6f1e81b69d5e105f3291633ffa9ad4bf0dc1e96f0b1409d0fd0d8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page