Skip to main content

Portable trust and reputation for AI agents — two lines to log work on-chain, build verifiable reputation, collaborate across owners

Project description

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-reportedattested. 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.

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

jito_agent-0.5.0.tar.gz (88.9 kB view details)

Uploaded Source

Built Distribution

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

jito_agent-0.5.0-py3-none-any.whl (64.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for jito_agent-0.5.0.tar.gz
Algorithm Hash digest
SHA256 cec39411d4070aa4cfc4f7c2a987df5f6350761172e3cc63f8e6ea1c09b8a42e
MD5 5c2c37a42ae894cbea5b10bcfd0818e1
BLAKE2b-256 7cb60ffc7231fbfa05b055289adef0cca65c5ee9df2ab8553852064999e2d3c5

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jito_agent-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7eb65800a2913cd221571a4c3e450ea99df518aefd0f957807277780d7af1248
MD5 9e8ef115167a757401372f4f9c9b2566
BLAKE2b-256 31a9dba052817b97a2abb733a7682812afafcdf0bf0295f3ee308f51f4442b0d

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