Skip to main content
Version: Next

AI Agents Reshaping the On-Chain Ecosystem

This is a conceptual overview of how Fetch.ai uAgents (uagents) sit next to blockchains. It is not a runnable lab. For working code, jump to the sibling guides at the end.

Verified September 2026 against Innovation Lab docs for uagents==0.25.5 (Almanac contract 2.2.0 in that package). Cross-chain behavior is only what the linked example pages actually show.

Introduction

A uAgent is a Python process built with the uagents framework. It can:

  • Exchange agent-to-agent messages (off-chain transport; not a Fetch ledger transaction by default).
  • Register identity and endpoints so others can discover it.
  • Call other chains only when you add integration code (for example web3 on BNB or solders on Solana).

This page uses uAgents for those Python agents. Agentverse is the hosted registry, inspector, and mailbox platform — not a second unnamed “SDK agent” product. If you connect a local agent into Agentverse, follow Launch an ASI:One-compatible uAgent.

Architecture

On-chain agents: uAgent mailbox, Almanac, chat, and ledger RPC

uAgent messaging is how agents talk. On-chain transactions happen only when your code (or a user wallet) submits them to a ledger or contract.

Messaging vs on-chain actions

LayerWhat it isWhat it is not
uAgent messagesSigned agent envelopes over HTTP, mailbox, or local transport. Used for discovery, protocols, and coordination.Not an L1 transfer, swap, or escrow by themselves.
On-chain txsExplicit calls you write with a chain SDK or the agent’s Fetch ledger wallet (Almanac/Name Service fees, FET transfers, BNB web3 txs, Solana transfers, and so on).Not implied just because an agent “acted.”

Security and auditability apply to the transactions you actually send. Agent chat, price HTTP calls, and protocol handlers are off-chain unless you persist them on a contract.

Hands-on on-chain code in this section: BNB Chain Agents and Solana agents.

Why agents are useful next to a chain

  1. Autonomous workflows — An agent can watch prices, schedules, or incoming messages and then optionally submit a transaction. Listening is not the same as broadcasting a tx.
  2. Split of duties — Keep matching, validation, or UX in agents; keep settlement in contracts when you need public auditability.
  3. Extensible, not magically multi-chain — You extend a uAgent with handlers, protocols, and external APIs. Other ledgers need their own SDK and keys.

How uAgents make it happen

1. Almanac registration (Fetch / Cosmos ledger)

Agents can publish identity, protocols, and HTTP endpoints so others can look them up.

  • On-chain Almanac contract — Registration is a time-bounded ledger record (renew periodically). It is not a permanent NFT-style mint. Others can verify the current registration, not an immortal “proof of existence.” See Register in the Almanac and communication / Almanac.
  • Almanac API — Discovery and API registration can succeed even when the contract registration fails (typically insufficient funds). API success does not mean the on-chain record is up to date.
  • Network — Use network="testnet" on Agent(...) for testnet Almanac. Mainnet needs funded FET on the agent’s ledger wallet.
Almanac API success is not contract registration

Logs often show Registration on Almanac API successful while I do not have enough funds to register on Almanac contract. Fund the agent’s Fetch network (wallet) address, or stay on testnet and follow the faucet flow in FET tokens for agent development. Testnet FET: testnet faucet agent.

2. Wallets: agent wallet vs user ASI Wallet

  • Agent wallet — Creating Agent(...) derives a Fetch/Cosmos LocalWallet used for Almanac and Name Service fees. That is “pre-integrated” in the Python runtime, not a browser extension. See Addresses and Local wallet.
  • ASI Alliance Wallet — The browser / mobile wallet is a user UI for the ASI/Fetch ledger. Your Python agent does not automatically drive MetaMask, Keplr, Phantom, or ASI Wallet popups.
  • Other chains — EVM (BNB) and Solana in these labs typically use keys from environment variables, not wallet-extension signing. Do not expect Phantom or MetaMask “connect wallet” unless you build that yourself.

3. Chains covered in these docs

NetworkStatus in Innovation Lab examples
Fetch / ASI ledgerAlmanac and Name Service (uAgents defaults).
BNB Chain (testnet)BNB Chain Agentsweb3 transfers and monitoring.
Solana DevnetSolana agentssolders keypairs from env byte arrays, not Phantom.
Ethereum, Polkadot, “any EVM,” and so onNot first-class labs here. You can extend with chain SDKs; we do not document Polkadot.

4. Addresses and AName

  • uAgent address (agent1...) — Identifies the agent on the agent network for messaging and Almanac lookup. Sending a message to that address is not “sending on the Fetch blockchain.”
  • Fetch network (wallet) address (fetch1...) — Ledger account that holds FET and pays registration. Different from agent1.... Details: Agents address.
  • AName — Optional human-readable name via the Name Service (domains such as .agent). Registration is an on-chain action: it costs fees, names are not free forever, and the uAgents name-service window is on the order of ~60 days (ANAME_REGISTRATION_SECONDS = 5184000) before you need to renew. Use testnet plus a faucet while learning.

5. Extensibility (no plugin module)

uAgents does not ship a first-class plugin system. You extend an agent with:

  • Event and message handlers (handlers)
  • Protocols such as the Agent Chat Protocol
  • External APIs (price feeds, explorers) and chain SDKs as in the BNB and Solana labs

Commodity matching, NFT auctions, and similar logic are your code, not built-in plugins.

6. Secret management (honest default)

Agents do not run in a TEE or HSM by default. Sibling labs store USER_KEY or Solana key byte arrays in .env.

  • Keep seeds and private keys out of git and out of chat logs.
  • Use environment variables or a secret store; rotate anything that was ever committed.
  • Browser wallets and hardware wallets are separate products; wiring them in is extra work.

Product examples vs current labs

Escrow, order matching, and “cross-chain DEX” language on older marketing pages often referred to Mettalex. Treat Mettalex as a historical case study of agent-coordinated matching and escrow. Public Mettalex operations are discontinued; that page is not a live Fetch product you can trade on today.

Build next

This overview stays under Examples so it sits next to the labs. Use it as a map, then run a guide:

  1. BNB Chain Agents — Three cooperating uAgents; BNB testnet transfers with web3; keys in .env. Teaches message passing + explicit EVM txs.
  2. Solana agents — Escrow-style SOL flow on Devnet with solders. Teaches Almanac discovery + Solana keypairs from env (not Phantom).
  3. Mettalex — Architecture write-up of a former agent-based commodity DEX. Case study only (service discontinued).

Further reading