Agents
A Chat plan is one-shot: you prompt, it plans, you sign. Agents monitor a condition on a recurring schedule. Notify sends an alert; Prepare drafts an unsigned response for your review and signature; Execute can act without a new signature, but only within a Shield permission you explicitly authorize on-chain first.
What you can watch
- Price. A token crossing a threshold ("ETH under $2,800").
- Percent price move. A token moving up or down by a percentage from its reference price ("ETH drops 10%").
- Portfolio movement. Your holdings moving by a percentage in a window ("my portfolio drops 5% in a day"). The Portfolio move trigger supports Notify and Prepare; Execute is not available for this trigger today.
- Lending health factor. Your position on Aave, Spark, Compound V3, or Morpho approaching liquidation ("health factor below 1.5").
- DeFi positions. Your own PTs, LPs, supplied assets, claimables, APY changes, value changes, or days to expiry ("remind me 7 days before my Pendle PT expires").
- Aero positions and pools. Watch one current position or the live set. Say "any of my Aero LP positions" to cover every current position plus positions opened later; add a pair such as WETH/USDC to narrow the set. Say "my chosen Aero position" to pick one the wallet holds now. Position Agents can watch a Slipstream range edge and claimable AERO rewards on classic stakes or Slipstream positions. Pool Agents can watch a classic pool's total liquidity or reported APY (its gauge incentive rate). Slipstream pools do not expose pool-level APY or liquidity to Agents today, so those two pool thresholds never fire for Slipstream. For a veAERO expiry Agent, name the exact lock/NFT number.
- Boxed Pendle PT loops. Net spread, loop health factor, liquidation distance, or PT-leg days to expiry for Ethereum loops opened through Pendle's looper. These positions sit in a box contract rather than your wallet, so they use a dedicated hourly read and are notify-only today.
- LP positions. Range exit, impermanent-loss context, or other position-health checks for supported LPs.
- Market brief. A daily market brief and portfolio-relevant news context.
- Schedule. A recurring cadence — daily, weekly, or monthly, at a time you pick.
- Plain-English conditions. Anything you can describe — "when the USDC/USDT yield spread on Aave exceeds 2%", "when this wallet's stablecoin balance runs low." Signo compiles the condition and checks it on a schedule.
Some accounts may start with default Agents, such as a portfolio-move agent or daily market brief, where that feature is enabled. They follow the same delivery and signing rules as Agents you create yourself.
Autonomy level
Agents use an autonomy rail:
- Notify. Just tell me when it happens.
- Prepare. When it triggers, draft a ready-to-sign plan for the response — a de-risk, a rebalance, a top-up — and send it with the alert. You review and sign; the Agent never signs for you.
- Execute. Acts on its own, but only inside a Shield permission you sign on-chain first: one action, one asset, a cap per firing, a lifetime budget, an expiry. In the Agents builder, Price, Schedule, and supported plain-English conditions can use Execute. The Portfolio move trigger cannot; boxed Pendle PT loops are notify-only today. When the trigger is one the Shield can read (health factor, token balance, price), it is also re-checked on chain at firing. Live on X Layer and Arbitrum. A draft or review link is not spending authority. Without a signed permission, Signo never lets an Agent move funds. What you authorize with an Execute agent explains what your permission allows, what it costs and how to stop it.
New Execute setup is in early access. If your account does not have access, the app says Agent Execute is coming soon and links to support@signo.fi. Existing live permissions continue under their signed terms.
The Terms of Service also define an optional Permission rail for bounded delegated execution through the Shield contract. It is live on X Layer and Arbitrum, and rolling out. When you use it, you register the on-chain authorization yourself, and you can revoke it yourself. The Shield enforces the action, the asset, the limits, the expiry, and the part of the condition that the chain can read. Signo's scheduled checks decide the rest of the condition. A Signo-operated signing service submits the bounded transaction through the Shield but cannot change those terms. Everything outside a Permission keeps the review-and-sign flow above.
Deleting an Execute agent revokes its permission from your wallet first. Signo pauses the agent before your wallet opens. The agent disappears when the revocation confirms. The token approval you gave the Shield contract when you set it up stays on chain, but nothing can spend it without a permission, and a new permission for the same token reuses it. If you would rather clear it, open Settings → Wallet permissions → Unallocated Shield token approvals. The entry appears while one of your linked wallets holds an approval no agent uses or an older live permission is no longer attached to an agent. It lists each item per wallet with a Revoke button and shows an older permission as Permission, no agent. Signo does not execute a detached permission, but it stays live on chain until its wallet revokes it. Revoke all includes every row for that wallet. Each revoke is one wallet transaction.
On the Agents page, the wallet that owns an Execute agent controls its changes; the page can ask it to sign a message that costs no gas. A separate AI app you authorize under Settings → Connected apps can also pause or resume the agent. Resuming re-arms it: it can fire at the next check inside the permission you already signed. That app cannot edit the Execute agent, change its signed limits or revoke its permission. It can remove the agent only after its permission has ended; a live permission must first be revoked from your wallet in Signo. Disconnecting the AI app stops its account access, not the Execute agent itself.
Editing an Execute agent with a live permission keeps it on Execute and shows the permission read-only. You can rewrite its sizing instruction or use Change limits for the per-execution limit, lifetime limit and expiry. The trigger, target, action, asset and autonomy level are part of the permission you signed. To change one of them, use Delete → Revoke and delete, then set up a new agent.
Signo's own Chat and Telegram cannot pause, edit or delete an Execute agent; they point you to the Agents page. Signo's staff can pause an Execute agent to stop an incident, but cannot start it again, edit it or delete it. Pause is a setting in Signo, not on chain. A paused agent's permission stays live on chain until you revoke it.
How much an Execute agent spends
The per-firing cap is a ceiling, not a fixed order size. Both limits you enter are before fees; the 0.1% fee comes on top. Signo registers the lifetime amount plus a rounded-up fee buffer on chain, and the token approval covers that total. For example, 5 per firing and 50 lifetime allows ten full firings of 5, costing 50.05 including fees.
Signo calculates the available amount from the wallet balance, token approval, position constraints and remaining registered lifetime cap, reserving room for the fee. It then uses AI to read your action instruction within that amount: for example, “a quarter of my USDT0” refers to the wallet balance, not a quarter of the cap. It cannot raise the signed limits or spend more than the available amount.
With no sizing instruction, Signo uses the full available amount. With an instruction, Signo does nothing if it cannot turn the instruction into an amount. This covers a failed AI call, an answer that Signo cannot read, an answer of zero, and a token that the permission does not allow. You get one message with a Prepare it yourself button, and the agent tries again at the next hourly check. Signo also alerts its team to the stop. A Floor swap uses the full per-firing cap that its absolute output minimum was set against. If the wallet cannot fund that full amount, the agent skips the firing. The firing notice explains the result from the recorded run facts.
Risk-aware
Agents use the same risk model as the rest of Signo. You can build an Agent around risk — "alert me if a pool I'm in drops below the established tier" — and when an Agent drafts an action, it won't route into a protocol Signo's incident registry has blocked. Risk is a first-class input, not an afterthought.
Non-custodial by design
Notify and Prepare agents cannot spend funds: Prepare produces a plan you sign in your own wallet. Execute agents use the separate, revocable on-chain authorization described above; each valid firing can execute without another signature. Signo never receives your wallet keys.
Delivery
Telegram is the push delivery rail for Agents today. Link Telegram if you want triggered Agent alerts, daily briefs, or ready-to-sign plan links to reach you when you are away from the app. Without Telegram linked, you can still create and review Agents in the app, but Signo does not have a separate in-app alert inbox that pushes messages to you.
When a Prepare Agent drafts a plan for a Telegram-linked user, the same plan also waits on that Agent's row in the app. The row shows when it was prepared and opens the same review-and-sign handoff as the Telegram link. Dismiss the band when you no longer need it; dismissing it does not execute or rebuild the plan.
Creating one
Set an Agent from the Agents surface in the app, or describe it in plain language and let Signo arm it for you. Creating an Agent from the Agents surface is free today; if a Prepare Agent later fires and drafts a ready-to-sign plan, that delivered plan costs credits like any other execution plan.
The Agents surface includes a catalog of preset cards. Presets are grounded in conditions Signo can actually check, and many open with editable trigger sentences so you can change the asset, chain, threshold, direction, or cadence before arming. Some presets include a default Prepare action, such as derisking a loan if a health factor gets too low.
Plan limits
The standard active-agent allowance is 3 on Free, 10 on Plus, and 100 on Pro. Every plan can save at most 100 agents, active and paused combined. An agent above the active allowance stays saved but is paused by the plan; a downgrade can pause agents above the new allowance. This includes Execute agents with an on-chain permission. A plan pause does not revoke that permission. Review usage in Settings → Plan and credits and current allowances on Pricing.
Visible agent history covers 30 days on Free, 90 on Plus, and has no plan-imposed window on Pro. Older history is hidden, not deleted because of the window.
When an Agent triggers
Agents check on schedules, not continuously. Typed price Agents run hourly because their price snapshot is refreshed hourly. Notify/Prepare yield and health-factor Agents are normally checked about every five minutes. Portfolio-move Agents run hourly, plain-English conditions use their saved hourly or daily cadence, and Shield Execute Agents normally check hourly with the continuation exceptions below. A typed price Agent can fire at its first hourly check if the price is already on the trigger side. After that it normally waits for the condition to become false and then cross back to true. A move that happens and reverses between hourly snapshots can be missed.
For a plain-English Notify or Prepare condition already true when it is created, the first alert comes on the next check. After that, condition Agents normally fire on a false-to-true edge: repeats wait until the condition becomes false and later crosses back to true.
Conditions that watch a set of positions or markets, such as "any Pendle PT within 7 days of maturity," track matching members separately. A condition made of two to six alternatives joined by OR, such as "ETH or BTC rises 10%," can also track each matching part. A new member or part can trigger another alert while the overall condition remains true; the message names it. A member or part that stops matching can alert again when it matches later. To keep that state bounded, member-level tracking stores up to 200 identities; above that cap, the Agent falls back to the set-level edge rule and says so in-product. Schedules and reminders do not use these edge rules.
If a data source cannot be read for three consecutive checks, the Agent becomes Degraded and sends a delivery-health alert. Degraded Agents keep retrying and return to Active automatically after a successful read.
Shield Execute agents can fire at the first check if their condition is already true. Pressing Start after Pause also re-arms the agent: it can fire at the next check while the condition is still true. After a successful firing, an agent that stays active normally waits for the condition to turn false and then true again. If a check could not act because of sizing, balance, approval, a venue stop or a service-wide execution pause, it can try again while the condition stays true; the message explains the next step.
Execute exceptions: an "any X" condition or a condition with two to six top-level OR parts can fire for each newly matching item, one run at a time, even while the overall condition stays true. Waiting items are checked again after a four-minute cooldown; an item that stops matching can fire again when it returns. Repay from collateral runs once per trigger by default. If the owner turns on Keep going until the target before signing, an Aave-limited partial firing can continue after a four-minute cooldown, within the signed limits, up to ten firings or six hours for that crossing. The option is off by default, and older permissions behave as off. See Execute checks for the stopping rules.
After every successful firing, the owner gets a report with Goal, Done, Remaining, Reasoning and Next. It links the confirmed transaction, explains what limited a partial result, and says whether another execution is possible. Without the continuation option, the report does not promise a second execution for the same trigger. The signing service allows at most two execution attempts for one permission in a rolling hour; a delayed report gives the next available time.
If a firing reverts or fails, the agent tries once more at the next hourly check. If that also fails, the agent stops until the condition turns false and then true again. If Signo cannot read the condition, the agent waits for the next check. You receive one message for each failure, not one per attempt. Every mined firing is an on-chain transaction. The History tab on your Agents page lists each firing with its transaction link, and the Shield contract's MandateFired event makes it verifiable on the chain's explorer. You can revoke the permission on chain from the same page at any time. The revocation needs no approval from Signo. It takes effect when its transaction is included in a block. A firing included before it still executes.
To report a firing, press Report a problem on it in the History tab. This opens an email to the Signo support team at support@signo.fi with the transaction link, the agent name and the chain filled in.
Reading an Agent row
Each Agent row shows what it is watching, what it will do when it triggers, and how often it is checked. Expanding a row can show the last values Signo read and recent delivered runs, so you can tell whether the Agent is checking the right thing even before it sends an alert. Market-brief and news Agents do not expose a numeric last-value reading, so their row may continue to show Not checked yet even while scheduled delivery is working.
Active Agents also include a test-fire action. A test sends a test alert through the same delivery path a real trigger uses, without waiting for the market or position condition to happen naturally.