Know Your Agent: Checking an AI Bot’s Permission to Trade
An investor passes every identity check, then lets an AI agent trade her fund tokens. Who checks that the agent was allowed to?
IN 30 SECONDS
An agent mandate is a limited permission an investor gives an AI agent: which token, which actions, how much and until when. ERC-3643 checks who may hold a security token, not whether the bot trading for them was authorized. This stage shows how the ERC-8226 Draft can check a mandate on each trade.
KEY TAKEAWAYS · 3
- In ERC-3643, the Agent is an operator the issuer appoints. Software acting for an investor is a different role and should not get those powers.
- On the token-gate path of the ERC-8226 Draft, the mandate check runs in the same transaction as the token’s own checks, so any failure undoes the whole trade.
- In the draft, the principal’s eligibility is checked when a mandate is granted or extended, not on each trade.
On this page
The problem: an eligible investor, an unchecked bot
IN SHORT One agent trade raises three questions: may the receiver hold the token, may this spender move it, and may this bot decide for the investor?
WORDS TO KNOW
- Security token
- A token that stands for a financial security, such as a fund share, whose transfers can be limited to approved holders.
- AI agent
- Software that uses an AI model to decide and act on its own, here trading tokens for an investor.
- Mandate
- A permission an investor grants, directly or by signature, that says what one agent may do on one asset, how much, until when.
- Principal
- The investor who grants the mandate and on whose behalf the agent acts.
- Allowance
- The ERC-20 permission that lets another address, the spender, move up to a set amount of your tokens.
Picture a fund that issues its shares as a Security token A token that stands for a financial security, such as a fund share, whose transfers can be limited to approved holders. See the glossary on ERC-3643, an Ethereum token standard. An investor passes the identity checks. Then she lets an AI agent Software that uses an AI model to decide and act on its own, here trading tokens for an investor. See the glossary rebalance her holdings.
What ERC-3643 checks on a transferFrom
- Is the receiver a verified investor?
- Does the transfer follow the token’s rules?
- Does the spender have an allowance?
What it doesn’t ask
- Did the investor allow this agent?
- For which action, and how much?
- Is that permission still valid?
The left column covers the first two questions. An integration has to keep all three.
ADAM says: A mandate works like a limited power of attorney. The image breaks twice. A clerk reads the whole paper, but the contract checks only the mandate’s fields, and the ERC-8226 draft has none for the recipient. Nor does the mandate settle who legally owns the tokens.
My work on ERC-3643 at Tokeny shapes this analysis. The diagrams show integration choices and review points, not a production report.
WATCH OUT
Correction, 6 September 2026: an earlier version said the ERC-8226 draft’s published pattern could only target ERC-7943. That was too broad. The current draft explicitly documents transferFrom gates and account or executor alternatives.
Coming up next: So who is the “Agent” that ERC-3643 already knows?
Two different meanings of “agent”
IN SHORT In ERC-3643, the Agent is an admin role the issuer appoints. It is not the investor’s AI agent.
So don’t give investor software the issuer’s Agent role, even if both run as code. It would get a different, and possibly much wider, set of powers.
IN PLAIN WORDS
The issuer’s Agent acts on the token itself. An investor’s mandate defines a scope: one agent, one asset, permitted actions, cap settings, an expiry and a way to revoke it.
Coming up next: So how does a token check the bot’s mandate on a trade?
How one agent trade gets checked, step by step
IN SHORT On the token-gate path, the mandate check runs in the same transaction as the token’s own checks, so any failure undoes the whole trade.
STEP BY STEP
Step 1. Grant. The investor grants a mandate for one agent and one token, directly or by signature: which actions, how much per trade and in total, until when.
- Grant The investor grants a mandate for one agent and one token, directly or by signature: which actions, how much per trade and in total, until when.
- Request The agent asks the token to move the investor’s tokens (transferFrom). The caller is the agent, not the investor.
- Mandate check The token asks the registry: does this agent hold a valid mandate for this action and amount?
- Token rules The usual ERC-3643 checks still run: the allowance, the receiver’s identity and the compliance rules.
- Record The trade is counted against the mandate’s caps. If any step failed, the whole transaction reverts: it is cancelled and its changes are undone.
Each check answers its own question, and passing one never replaces another.
ERC-8226 gives the Mandate A permission an investor grants, directly or by signature, that says what one agent may do on one asset, how much, until when. See the glossary a full life cycle. It is granted, it expires, it can be revoked or frozen, and each use is counted. A compliance provider vouches that the Principal The investor who grants the mandate and on whose behalf the agent acts. See the glossary, the investor who grants it, is eligible.
In the draft, eligibility is checked when a mandate is granted or extended, not on each trade. So read the real rules for checks and sync. A signed grant alone does not keep the agent authorized.
ITEM GET
Two permissions, both required
Sources: ERC-3643, ERC-8226 (Draft).
STAGE CLEAR
What you now know
- Why the issuer’s ERC-3643 Agent role is the wrong tool for an investor’s trading bot.
- How a token-gate check makes the mandate, the allowance and the token’s rules all pass in one transaction, or none.
Check yourself
Tap or click a question to see the answer.
An agent holds a valid mandate and an allowance, but the receiver has no valid identity in the registry. Does the transfer go through?
No. The mandate only authorizes the agent. ERC-3643’s own identity check still runs and blocks a receiver who isn’t verified.
Web3 x AI engineer, former CTO of Integra. Named author (1 of 5) of ERC-3643, first author of ERC-6960, co-author of ERC-7410, and co-author of ERC-8203, which is still a draft.
Have a project to ship or a role to fill?
Discuss your project or roleMy work at the web3 x AI intersectionOpen-source tools I build
Follow the engineering notes
Get new articles on production AI and smart contracts by email.

