uAgents

Build Python autonomous agents that join the Fetch.ai agent network.

Source repo
fetchai/uAgents
Stars
★ 1.6k
Last updated
13d ago
License
Apache-2.0
Primary language
Python

At a glance

How it runs
Library / SDKFramework
Works with
Platform-specific
Cost
Free, no paid service needed
Setup effort
Low · running in minutes
You'll need
Python 3.10 to 3.13Fetch.ai Almanac smart contractShell / CLINetwork accessLocal filesystem
Typical use
A Python developer needs a local task that runs every two seconds and records its result through the Context logger.
Not a fit if
  • Teams that need fully offline operation without the Fetch.ai blockchain
  • Projects pinned to Python 3.9 or older
  • Deployers unwilling to safeguard local private key files

What does this agent do, and when should you use it?

uAgents is a Fetch.ai Python library for autonomous programs that run scheduled work or react to events. Developers define agents and execution logic with Agent, Context, and decorators such as @alice.on_interval(period=2.0). At startup, each agent registers with Almanac, a smart contract deployed on the Fetch.ai blockchain, and joins the uAgents network. The project states that agent messages and wallets are cryptographically secured to protect identities and assets. A minimal application runs as a local Python script and can emit log output, while python/uagents-core provides core definitions and functionality for software integrating with the Fetch.ai ecosystem and agent marketplace.

Application code creates an agent with Agent(name="alice"); it may supply a seed, including seed=os.getenv("ALICE_SEED_PHRASE"), to establish a fixed address. Without a seed, the private key is stored locally alongside the agent name in private_keys.json; without a name, a new address is generated on every run. Developers register asynchronous work with @alice.on_interval(period=2.0), for example async def say_hello(ctx: Context), and emit output through ctx.logger.info(...). Calling alice.run() runs the registered scheduled or event-driven actions and registers the agent with Almanac at startup.

  1. A Python developer needs a local task that runs every two seconds and records its result through the Context logger.
  2. A team deploying an agent with a stable identity wants to pass a recovery phrase to Agent through the ALICE_SEED_PHRASE environment variable.
  3. An application developer wants a Python agent to join the uAgents network and register with Fetch.ai Almanac when it starts.
  4. A Fetch.ai ecosystem project needs agent identities and wallets described as cryptographically protected.
  5. A developer building software that interacts with the Fetch.ai ecosystem and agent marketplace needs the core definitions and functionality in uagents-core.

How do you install or deploy this agent?

Use Python 3.10 through 3.13. Install from a shell with pip install uagents. After installation, save the example application as a local agent.py file and run it with python agent.py. The example imports Agent and Context from uagents, then starts the defined agent by calling alice.run() in its main entry point.

How do you use this agent?

Create agent.py with from uagents import Agent, Context, then define alice = Agent(name="alice", seed="alice recovery phrase"). Decorate an async function with @alice.on_interval(period=2.0) and call alice.run() in the main entry point; run it with python agent.py. Supply a seed for a fixed address; the example also supports reading it from ALICE_SEED_PHRASE.

What are this agent's strengths and limitations?

Pros
  • It exposes a direct Python interface built around Agent, Context, and decorators; the minimal example registers a periodic async task.
  • Startup registration with Almanac connects agents to the uAgents network, which suits applications needing the documented Fetch.ai network boundary.
  • The repository documents cryptographic protection for messages and wallets, plus seed-based stable addresses.
  • uagents-core specifically supplies core definitions and functionality for Fetch.ai ecosystem and agent-marketplace integration.
Limitations
  • Network participation depends on Almanac on the Fetch.ai blockchain, so the operating model is tied to that ecosystem.
  • The supplied material explicitly supports only Python 3.10 through 3.13; it provides no support evidence for other versions.
  • When no seed is supplied, private keys are written locally to private_keys.json, so deployers must protect and retain that file.
  • The supplied material does not document hosted deployment, pricing, transaction costs, or model-provider configuration.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
uAgents This agent 50 · Major gaps Library / SDKFree ★ 1.6k 13d ago Python —
Sprix SAGE Router 68 · Some gaps CLIFree ★ 3.6k 2mo ago Python —
Hello-Agents 53 · Major gaps Web appFree + model costs ★ 86k 25d ago Python OpenAI API
LangGraph Multi-Agent Swarm 46 · Major gaps Library / SDKFree + model costs ★ 1.6k 11d ago Python OpenAI API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
50/ 100 5-point scale 2.5 / 5
Trust 8/29
Reliability 8/14
Adaptability 10/18
Convention 11/18
Effectiveness 9/13
Verifiability 4/8
Why each dimension lost points
Trust8 / 29 · 1.4/5

The README says startup registers agents on the on-chain Almanac and that Agentverse agents may send telemetry. The deployment example exposes mailbox, proxy, and network settings, but the packet does not show least-privilege controls or confirmation before external operations, so least privilege, data-flow transparency, and external effects score 1; user confirmation and rollback score 0. The README says private keys are stored locally or supplied through an environment variable, but no encryption, filesystem protection, or rotation measures are shown, so sensitive-data handling scores 1. The source imports dependencies including aiohttp, requests, and cosmpy, but the packet provides no dependency security review, so that criterion scores 1. The README and security policy provide project attribution and a vulnerability reporting path, earning 2 for source attribution; publisher identity remains unknown as stipulated.

Reliability8 / 14 · 2.9/5

The README, deployment example, and source excerpt consistently describe Python agents with asynchronous event handlers and interval tasks, earning 2 for self-consistency. The README specifies Python 3.10–3.13 and CI configures a matching version matrix, but the packet provides little evidence about dependency availability, so that criterion scores 1. The interval task source logs OS, runtime, and general exceptions, earning 2 for failure messages.

Adaptability10 / 18 · 2.8/5

Documentation and examples cover onboarding, communication, multiple agents, deployment, and test-network configuration, earning 2 for audience and scenarios. Supported operations are partly described, but security boundaries, permission scope, and runtime limits are not clearly stated, so capability boundaries score 1. Decorators expose interval and event triggers, earning 2 for trigger precision. The README names supported Python versions and CI lists Linux, macOS, and Windows environments, earning 2 for environment fit.

Convention11 / 18 · 3.1/5

The README separates installation, quickstart, documentation, examples, core library, and contribution links, earning 2 for information architecture. It gives an install command and Python version range, earning 2 for install notes. Names such as uAgents, Agent, and Context are used consistently across the examples, earning 2 for naming stability. The README and test examples include a quickstart, multiple agents, and local communication, though no clear FAQ is shown, earning 2 for examples and FAQ. The disclaimer mentions unexpected behavior and data loss but does not give a concrete known-limitations list, so that criterion scores 1. The LICENSE file and README clearly identify Apache-2.0, earning 3 for license. The packet contains no version history or changelog, so versioning and changelog score 1. The security policy gives a vulnerability reporting channel and remediation process, earning 2 for maintenance responsibility; the unverified publisher identity neither adds nor subtracts points.

Effectiveness9 / 13 · 3.5/5

Examples show practical outputs such as logs, registration, and message exchange, earning 2 for output usability. Decorators, messaging, scheduled tasks, and network registration offer tangible agent-development capabilities, but the packet does not establish their breadth or measured impact, so marginal value scores 2. Installation and examples are direct to follow; blockchain registration, telemetry, and wallet setup add operational considerations, so cost-benefit scores 2.

Verifiability4 / 8 · 2.5/5

README claims receive partial support from examples, source excerpts, and CI configuration, but the supplied material lacks implementation detail for security and cryptography claims, so claim traceability scores 1. The README, source, deployment example, security policy, and CI partially corroborate agent capabilities, operation, and maintenance paths, earning 2 for cross-source corroboration. Some documentation is demonstrative, but the packet does not systematically distinguish verified facts from broad claims about security or performance, so fact-inference separation scores 1.

Risks and how to mitigate them
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • Startup may perform on-chain registration, and Agentverse use may send telemetry; verify external communications, telemetry controls, and wallet-key storage protections before deployment.
  • This assessment uses only the supplied static source material; code was not executed and security, dependencies, and runtime behavior were not independently verified.
Evidence confidence: Low Reviewed Nov 08, 2026 Reviewed revision 211bc68ead00
See the full review method →
Maintain this project? Add the FARS badge to your README

The badge shows the current review score and verdict and links back to this page. It refreshes about once an hour after a re-review.

FARS

[![FARS review](https://followagents.com/badge/uagents.svg)](https://followagents.com/en/agents/uagents)
<a href="https://followagents.com/en/agents/uagents"><img src="https://followagents.com/badge/uagents.svg" alt="FARS review"></a>

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. [email protected]
    Release notes excerpt
    What's Changed * fix(uagents): retention policy cutoff and cache removal by @jrriehl in https://github.com/fetchai/uAgents/pull/961 * feat(core): add agent telemetry types and primitives by @lrahmani in https://github.com/fetchai/uAgents/pull/957 * chore(core): bump version from 0.4.11 to 0.4.12 by @lrahmani in https://github.com/fetchai/uAgents/pull/963 Full Changelog: https://github.com/fetchai/uAgents/compare/[email protected]
    View on GitHub ↗
  2. v0.26.1
    Release notes excerpt
    What's Changed * feat(experimental): add health protocol by @Alejandro-Morales in https://github.com/fetchai/uAgents/pull/959 * chore(uagents): bump version from 0.26.0 to 0.26.1 by @jrriehl in https://github.com/fetchai/uAgents/pull/960 Full Changelog: https://github.com/fetchai/uAgents/compare/v0.26.0...v0.26.1
    View on GitHub ↗
  3. v0.26.0
    Release notes excerpt
    What's Changed * feat(core): add events models and dispatcher by @jrriehl in https://github.com/fetchai/uAgents/pull/918 * feat(experimental): Add AgentInfo tool for Agent general information and capabilities by @Alejandro-Morales in https://github.com/fetchai/uAgents/pull/944 * chore(core): bump version from 0.4.9 to 0.4.10 by @jrriehl in https://github.com/fetchai/uAgents/pull/948 * fix(core): asyncio TimeoutError for python 3.10 by @jrriehl in https://github.com/fetchai/uAgents/pull/952 …
    View on GitHub ↗

FAQ

Is a recovery phrase required?
No. Supplying seed establishes a fixed address. Without it, the private key is stored locally in private_keys.json alongside the agent name; omitting the name produces a new address each run.
Does it need network access?
Yes. The README says that on startup an agent registers on Almanac, a smart contract deployed on the Fetch.ai blockchain, and joins the uAgents network.
Can it run locally?
Yes. The example saves code as agent.py and runs it with python agent.py.
Does it include OpenAI, ChatGPT, Claude, or another model-provider integration?
The supplied material does not document any of those integrations or a model-provider adapter path.
What guarantees are provided for failures or losses?
The project is provided “as-is” without express or implied warranty, and users assume risks including unexpected behavior and data loss.
Was this page helpful?
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.