Skip to content

Smart Agents

A Smart App is infrastructure: the application you deploy. A Smart Agent is something that acts: an automation that proposes actions on its own, on a schedule or on an event, without a person pressing the button each time. Trading is the headline, but an agent runs a set of capabilities: place a DEX trade, pay out, mint, burn or transfer a token, post a notification, read an external URL, or run one of your app’s functions as itself.

Letting a bot touch real money is normally risky because you have to trust the bot. On Smart Engines the agent’s wallet is a multisig whose key exists only as validator shares, so nobody, the agent included, holds it. Every move the agent proposes is checked against a rulebook published on-chain before any validator signs. A compromised bot can do only what its rules allow.


flowchart LR
    Brain["The decider<br/>(a function your app runs on a trigger)"] -->|proposes an action| Gate["Rule check<br/>(fail-closed)"]
    Gate -->|checks| Rules["Agent rulebook<br/>(published on HCS)"]
    Gate -->|if allowed| Multisig["Per-entity DKG multisig<br/>(validators each sign with their share)"]
    Multisig --> Signed["Signed transaction"]
    Gate -. "if denied" .-> Reject["Refused, nothing signed"]

Three ideas carry the whole section:

The agent is an actor, not infrastructure

It has its own agentId, its own multisig wallet, and its own lifecycle state. It belongs to a Smart App but is a canonical entity in its own right, created through the same per-entity DKG path as every other entity.

The brain proposes; the rules dispose

Whatever decides what the agent does, a function your app runs on a trigger or a model that function calls, is a proposer with no signing authority. The rules engine checks every proposal, fail-closed, before any validator signs.

Its rules are public

The rulebook is published on Hedera Consensus Service before the agent exists, and the agent is bound to it. The agent’s lifecycle log (creation, status changes, rule changes, approvals) is readable through the SDK.



Ready to build one? Jump to:

Deploy your first agent