Automation through Agents in a wallet is a widely being adopted, and many approaches have been discussed and proposed for secure delegation of access/assets to agents. Including session keys, Trusted Execution Environment (TEE) based policy engine, shared account key, in which some degree of trust and trade-offs exist.
This standard outlines the smart wallet specifically for agents of high frequency trading entities to operate in a completely sandboxed(detached) environment, while still enabling the owner to have granular control over the sandboxed smart wallet.
The sandbox is achieved through the complete detach of agent smart wallet from the owner wallet and only having the owner wallet persistently access to the agent smart wallet.
Automation through an agentic infrastructure as a wallet is an inevitable flow of the industry. Although agents bring in a highly autonomous system with convenience, it is important that these adoptions should incorporate security mechanisms together.
Session key like architecture, although having the advantage of shared owner wallet, has limitations on the security postures unless imposed with an enforced whitelist mechanism that limits the access of the session key, which potentially limits the capability of what agent can perform.
A TEE based policy engine, although it comes with high convenience, relies fully on central trust.
Shared account key, despite the most intuitive and convenient solution, gives unlimited access to the wallet unless the user explicitly approves each operation, which then conflicts with the goal of autonomous automation through agents.
This standard proposes an interface for agents that operates in a sandboxed, detached environment from the owner account, while the owner maintains access to the sandbox smart wallet.
Key factors taken into consideration for the standard:
Complete sandboxed account for agents.
Owner account persistently having access to sandboxed wallet.
Time-gated & optional permission checks, enforceable.
Multi-agent sharing a sandboxed wallet.
Benefits exist when Agents also use smart wallet.
Complete sandboxed account for agents: The standard separates the execution environment of agents from the owner account. This removes the possibility of security breach or hallucination of AI agents from impacting the owner account, unintendedly. Also, session key, granular permission driven approach that shares the owner wallet inherently brings in permission evasion issues unless imposing whitelist driven approach. This sandboxed approach makes this standard free of these concerns.
Owner account persistently having access to sandboxed wallet: The relationship between owner account and sandboxed wallet is one-directional. The owner account has permission to withdraw assets, or remove the agent key from accessing the sandboxed wallet. While the sandboxed wallet does not possess any rights against the owner account.
Time-gated & optional permission checks, enforceable: Although the sandboxed account environment itself already gives limited boundary in execution, the standard imposes time-gated & optional permission checks, enforceable in each agentic execution, for policy or additional security measures.
Multi-agent sharing a sandboxed wallet: Multiple agents can share a single sandboxed wallet. Sharing the same asset, on-chain address reputation, transaction history. Based on the want of the user.
Benefits exist when Agents also use smart wallet:
Gas Abstraction
i. Agents also confronts the native gas requirement. Gas Abstraction by smart wallet will benefit agents in execution and portfolio management.
On-Chain Conditional Execution & Sophisticated trade operations
i. Conditional executions on-chain through checks and multi-layered sophisticated trade requires smart contract to batch, layer conditions of pre/post state. Smart Wallet can sufficiently assist in fulfilling these requirements.
Parallel execution
i. In high frequency trading environment, agents need to be able to execute multiple transactions in parallel. But managing a 1 dimension, linear nonce across multi-agent sharing a wallet, or for a single wallet as well for high frequency trading can be complex. This can be simplified with 2d nonce of smart wallet, or other custom mechanisms imposed by the smart wallet.
The keywords “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119 and RFC 8174.
A Sandboxed Smart Wallet MUST implement the following interface:
Contracts MAY implement ERC-165.
The Checker smart contract MUST implement the following interface.
SandboxedSmartWallet is kept with only the essentials for agentic operations. The additional capability, e.g., ERC-4337 based gas abstraction, etc is left untouched for the wallet developers to decide on their preference of the stack.SandboxedSmartWallet. Token approval model is not a recommended process to ensure that there is no logical or account level correlation that SandboxedSmartWallet can interfere or impact the Owner Wallet.SandboxedSmartWallet.owner() is imposed for better compatibility with ownership based tooling/sdks.executeFromOwner(), Owner Wallet, at any point in time can withdraw assets or perform arbitrary execution. Creating a one-directional relationship where only Owner Wallet can impact SandboxedSmartWallet and not vice versa.TBD
SandboxedSmartWallet should impose signature replay attack protection for the invoke of invokeAgentExec() signature to make agentKey signature non-replayable.SandboxedSmartWallet outside the validity window of validityTimestamp.isAgentActive() should only return true if validityTimestamp is within current block.timestamp.invokeAgentExec().termData composition, it is recommended to perform whitelist-style enforcement compared to blacklist-style enforcement for stronger enforcement checks.executeFromOwner() is recommended to be always open for Owner Wallet to perform execution. The standard however does not enforce a certain behavior on this.SandboxedSmartWallet can optionally impose ERC-173 or ERC-8023 based ownership mechanism for secure ownership management.Copyright and related rights waived via CC0.