Skip to main content

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)

Source distribution for jito-agent 0.5.0
File Size Uploaded Provenance
jito_agent-0.5.0.tar.gz 88.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for jito-agent 0.5.0
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page