You already know what a Smart App is: infrastructure you deploy. A Smart Agent is the part that does things. It’s an autonomous actor with its own cryptographic identity, its own multisig wallet, and an authority bounded by a rulebook it cannot rewrite. When you hear “AI agent that trades”, “treasury bot” or “automated alerting”, the Smart Engines primitive underneath is a Smart Agent.
Trading is the headline use, but it’s one capability of six. An agent declares its capabilities when it is created: trade (a DEX offer), payout, token (mint, burn or transfer), notify, read, and function-invoke (run one of your app’s functions as the agent). It acts on its own triggers, a schedule or an event in its app’s namespace, with no person or HTTP call in the loop. See Agent rules for the capabilities and Lifecycle & autonomy for triggers.
The person, app or customer in control: withdraw, pause, change rules, approve, revoke.
agentWallet
The wallet the agent acts as. It runs the agent’s capabilities, only within the rules.
capabilities
The verbs the agent may run. Anything else is refused.
treasuryAccount
The multisig account that holds the agent’s funds. On XRPL it is the same account as agentWallet.
primaryChain, additionalChains
The chains the agent operates on.
ruleRef, rulesHash
Where the agent’s rulebook is published on Hedera Consensus Service, and a fingerprint for audit.
rulesConfig
The agent’s runtime config: its trade market, its off-chain and function allow-lists, and its triggers.
entityId
The canonical entity id from the agent’s DKG creation.
The key behind the agent’s wallet is created by DKG and exists only as validator shares. It is never assembled, not at rest and not while signing, so neither the agent nor the owner can sign alone. The owner controls; a threshold of validators signs.
On a schedule, the agent runs one of your app’s functions. The function decides whether to trade and returns the offers it proposes. The rules cap the size of each trade and the daily volume, and send anything above a threshold to you for approval. The function is only a proposer: an order above the cap is never signed. On XRPL a trade is an OfferCreate, so the rules must grant the offer action type (see Agent rules).
2. Treasury manager
An agent pays out from a treasury: payout reaches only allow-listed addresses, allocationLimits set a per-token ceiling, approvalThreshold forces your approval above a set amount, and operationalWindow bounds the period in which it may act.
3. Moderator / monitor
An agent with only off-chain capabilities (read, notify) watches your app’s events, such as a lapsed subscription or a new write to a collection, and posts alerts to your webhook. It needs no balance beyond its reserve.