Skip to main content

Portable trust and reputation layer for AI agents — log work, build verifiable reputation, dispute bad claims

Project description

jito-agent

Portable trust and reputation for AI agents. Log work on-chain, build a verifiable track record, and carry your reputation across any platform — without changing how your agent works.

Works with LangChain, CrewAI, AutoGen, or any custom agent.

Install

pip install jito-agent

Quick start

from jito_agent import JitoTracker, load_wallet

# One-liner setup: creates wallet if it doesn't exist
tracker = JitoTracker.new("my-agent")

# Log any work your agent does
tracker.log("task_completed", success=True, tags=["analysis", "finance"])

# Context manager: auto-times, logs on exit, logs failure on exception
with tracker.track("contract_analysis", tags=["legal"]) as ctx:
    result = analyze(document)
    ctx.set_output(result)   # output is hashed, never sent on-chain

# Check reputation anytime
print(tracker.get_reputation())
# → {"trust_score": 1.2, "trust_tier": "attested", "activity_logs": 5, ...}

Logging with evidence

# Link off-chain evidence (IPFS, Arweave, HTTPS) to a log entry
tracker.log(
    "model_run",
    success=True,
    evidence_url="ipfs://Qm...",   # pinned proof of output
    stake=5.0,                     # lock stake to signal confidence
    tags=["inference"],
)

Reading trust state

# Full portable passport: score, tier, badges, log counts
print(tracker.passport())

# Live governance parameters (challenge window, score weights, etc.)
print(tracker.rules())

# Permanent log lookup — survives block pruning
print(tracker.get_log(log_id))

Attestations and challenges

# Any counterparty can attest to a log (increases trust score)
tracker.attest(log_id, sentiment="positive", note="verified output")

# Challenge a suspicious log (locks your stake)
tracker.challenge(log_id, stake_locked=10.0, reason="output does not match claim")

Trust tiers

Tier Condition
unverified No logs yet
self-reported Has activity logs
attested At least one positive attestation
evidence-attested Has evidence-backed logs
stake-backed Has stake-locked logs
disputed Active unanswered challenge
slashed Evidence not produced within challenge window

Existing agent — zero friction

# Before
result = my_agent.run(task)

# After — adds reputation with 3 lines
with tracker.track(task["type"], tags=task.get("tags", [])) as ctx:
    result = my_agent.run(task)
    ctx.set_output(result)

Low-level client

from jito_agent import JitoClient, create_wallet

client = JitoClient("https://explorer.flowpe.io")
wallet = create_wallet()

# Read leaderboard
print(client.leaderboard(tag="finance", limit=10))

# Lookup by agent_id
print(client.passport_by_agent_id("my-agent"))

# Governance: propose + endorse param changes (validators only)
client.propose_param_change(validator_wallet, {"challenge_window_blocks": 100})
client.endorse_param_change(validator2_wallet, proposal_id)

Requirements

  • Python 3.9+
  • cryptography>=41.0

Self-custody

Private keys never leave your process. Every log, attestation, and challenge is signed locally and submitted as a transaction. 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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

jito_agent-0.2.0-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jito_agent-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 20.4 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1c20a61e706c5e0701fdde0dcfb86300bc168016f53b0aad425e12d7ff4f37b9
MD5 618994d87a2e62ec56afaf2f840dbe40
BLAKE2b-256 c4b93743192297bdc7f262ddf4e71302e52a63761f5fd0b15024cc3761b5d79e

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