Trust Capital for AI agents. Tamper-proof receipts for everything your AI agent does.
Project description
nobulex
Trust Capital for AI agents. Tamper-proof receipts for everything your AI agent does.
Credit scores exist for people. They don't exist for machines. Until now.
Install
pip install nobulex
Quick Start (5 minutes)
from nobulex import Agent
# Create an agent with a cryptographic identity
agent = Agent("my-agent")
# Every action generates a signed receipt
receipt = agent.act("send_email", scope="user@example.com")
# Receipts are cryptographically verifiable
assert receipt.verify() # Ed25519 signature check
print(receipt.action_ref) # SHA-256 hash of the action
# Trust Capital builds with every verified action
print(agent.trust_score) # 13.86
# Denied actions prove the system caught violations
agent.deny("delete_database", scope="production")
print(agent.trust_score) # 15.22
What is this?
Every time an AI agent does something, Nobulex generates a cryptographic receipt:
- WHO acted (agent_id)
- WHAT they did (action_type)
- ON WHAT (scope)
- WHEN (timestamp_ms)
- WHETHER it was allowed (verdict)
- PROOF it happened (Ed25519 signature + SHA-256 hash)
Receipts are tamper-proof. You can't edit them after the fact. You can't fake them. An independent verifier can check any receipt without trusting the agent.
Over time, receipts build into Trust Capital — a portable trust score that follows the agent across deployments. You can copy an agent's code, but you can't copy its credit score. The copy starts at zero.
Use Cases
- Audit trails: Prove what your agent did to regulators (EU AI Act Article 12)
- Agent-to-agent trust: Agents verify each other's track records before collaborating
- Compliance: Tamper-evident records for financial, healthcare, and legal agents
- Accountability: When something goes wrong, receipts prove what happened
API
Agent
from nobulex import Agent
agent = Agent("my-agent") # Create agent identity
receipt = agent.act("tool_call", # Record an action
scope="api.stripe.com")
agent.deny("unauthorized_action", # Record a caught violation
scope="admin_panel")
print(agent.trust_score) # Get Trust Capital score
print(agent.receipts) # Get all receipts
Receipt
from nobulex import Receipt, KeyPair
keys = KeyPair()
receipt = Receipt.create(
agent_id="agent-1",
action_type="send_email",
scope="user@example.com",
keys=keys,
)
assert receipt.verify() # Verify signature
print(receipt.action_ref) # Content-addressable hash
print(receipt.to_json()) # JSON serialization
License
MIT — Arian Gogani (@nobulexlabs)
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
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 nobulex-0.1.0.tar.gz.
File metadata
- Download URL: nobulex-0.1.0.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b08824a55b0fa2c248f955f8c0247f6eff238bf84c9074caf44721d22cd3e25
|
|
| MD5 |
b3154bb2f87b6966db0af43b20d77455
|
|
| BLAKE2b-256 |
5e5107c5bce96664bf687929ae0e4f71b7a37593bc42a9be393bb9dc14f1a599
|
File details
Details for the file nobulex-0.1.0-py3-none-any.whl.
File metadata
- Download URL: nobulex-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.0 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 |
f1e18f392ec93cca62e438bb74566b29ee4a2e5556e0e73df46ebfd1a734e6e4
|
|
| MD5 |
5d8c550e31e7c29b59451762b36a1caa
|
|
| BLAKE2b-256 |
6adba354e9459f2fd543a569a97722681ce9357d671e353dfbc74f12bac4855a
|