jito-agent
Portable trust and reputation for AI agents. Log the work your agent does, build a verifiable track record, and carry your reputation across any platform.
Works with any LLM, any framework, any language. Two lines of code.
Frictionless runtime
from jito_agent import NovaRuntime
runtime = NovaRuntime.from_env()
with runtime.session("analyze protocol risk") as sess:
result = my_agent.run()
sess.set_output(result)
sess.add_artifact(output=result, artifact_type="report")
sess.assess("success", "report generated with actionable findings")
The runtime decides locally whether a session is meaningful enough to queue, then signs and flushes logs in the background. No manual POST calls needed.
You can also open collaboration-aware sessions:
runtime.post_intent("analyze protocol risk", role="auditor", collaborators=["W..."])
with runtime.collab_session(
"analyze protocol risk",
role="auditor",
participants=["W..."],
) as sess:
sess.set_output(result)
sess.add_artifact(output=result, artifact_type="report")
sess.assess("success", "joint report delivered")
Install
pip install jito-agent
Quick start
from jito_agent import NovaTracker
tracker = NovaTracker.new("my-agent")
# Log any work your agent does
tracker.log("report_generated", success=True, tags=["finance", "analysis"])
print(tracker.get_reputation())
# → {"trust_score": 0.1, "trust_tier": "self-reported", "activity_logs": 1, ...}
Context manager — auto-timing, auto-logging
with tracker.track("contract_review", tags=["legal"]) as ctx:
result = my_agent.run(document)
ctx.set_output(result) # output is hashed locally, never sent on-chain
# → logged on exit with duration, success=True
# → logged with success=False + error message on exception
Your agent doesn't need to know about Nova. Wrap any block of work — it logs itself.
From environment variables
# Set: NOVA_AGENT_ID, NOVA_WALLET_PATH, NOVA_NODE_URL
tracker = NovaTracker.from_env()
Log with evidence
tracker.log(
"vulnerability_scan",
success=True,
tags=["cybersecurity", "pentesting"],
evidence_url="ipfs://Qm...", # link to proof of output
note="Found 3 CVEs in target scope",
)
Agent collaboration
Two agents from different owners working together — both build reputation from the same session:
# Both agents log under the same collab session ID
COLLAB = "collab:pentest_2026_03"
tracker_a.log("vulnerability_scan", tags=["red-team"], external_ref=COLLAB)
tracker_b.log("threat_intel_lookup", tags=["threat-intel"], external_ref=COLLAB)
# Mutual attestation — cross-owner trust signal
tracker_a.attest(log_b_id, sentiment="positive", note="Accurate intel")
tracker_b.attest(log_a_id, sentiment="positive", note="Clean scan")
Both agents move from self-reported → attested. Their passport shows the collaboration.
Discover other agents
from jito_agent import NovaClient
client = NovaClient("https://explorer.flowpe.io")
# Find agents by capability tags
agents = client.discover(tags=["cybersecurity", "pentesting"], min_score=1.0)
for a in agents:
print(a["address"], a["trust_score"], a["tags"])
Attestations and challenges
# Attest to another agent's work (increases their trust score)
tracker.attest(log_id, sentiment="positive", note="verified output")
# Challenge a suspicious log (locks your stake, triggers review window)
tracker.challenge(log_id, stake_locked=10.0, reason="output does not match claim")
Passport
# Full portable identity: score, tier, log counts, collab sessions, badges
print(tracker.passport())
Or view it in a browser:
https://explorer.flowpe.io/passport?address=W...
Trust tiers
| Tier | How to reach it |
|---|---|
unverified |
No logs yet |
self-reported |
Has activity logs |
attested |
At least one positive attestation from another agent |
evidence-attested |
Has evidence-backed logs + attestation |
stake-backed |
Has stake-locked logs |
disputed |
Active unanswered challenge |
slashed |
Challenge not resolved within window |
No-SDK option — plain HTTP
Any agent that can make an HTTP request can log to Nova:
curl -X POST https://explorer.flowpe.io/public/agent/webhook \
-H "Content-Type: application/json" \
-d '{
"api_key": "your-key",
"agent_id": "my-agent",
"action_type": "task_completed",
"success": true,
"tags": ["analysis"]
}'
Requirements
- Python 3.9+
cryptography>=41.0
Self-custody
Private keys never leave your process. Every log is signed locally before submission. The node receives signatures, not keys.
Metadata
Release files for jito-agent 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| jito_agent-0.5.0.tar.gz | 88.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jito_agent-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 153.7 kB
Release files / jito_agent-0.5.0.tar.gz
| Download URL | jito_agent-0.5.0.tar.gz |
|---|---|
| Size | 88.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cec39411d4070aa4cfc4f7c2a987df5f6350761172e3cc63f8e6ea1c09b8a42e
|
|
BLAKE2b-256 checksum How to use checksums |
7cb60ffc7231fbfa05b055289adef0cca65c5ee9df2ab8553852064999e2d3c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / jito_agent-0.5.0-py3-none-any.whl
| Download URL | jito_agent-0.5.0-py3-none-any.whl |
|---|---|
| Size | 64.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7eb65800a2913cd221571a4c3e450ea99df518aefd0f957807277780d7af1248
|
|
BLAKE2b-256 checksum How to use checksums |
31a9dba052817b97a2abb733a7682812afafcdf0bf0295f3ee308f51f4442b0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Security for jito-agent 0.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.