Programmable Accounts
From EOAs to Smart Accounts
The Brain Smart Account
interface IBrainAccount {
// Called by the ERC-4337 EntryPoint during UserOperation validation.
// Verifies signature, agent authorization, policy proofs,
// spend limits, allowlists, expiry, and replay protection.
function validateUserOp(bytes calldata userOp) external returns (bool);
// Execute a call after successful validation.
function execute(address target, uint256 value, bytes calldata data) external;
// Grant or update agent permissions.
function authorizeAgent(address agent, bytes32 permissions) external;
// Store a hash of the active policy definition on-chain.
function setPolicy(bytes32 policyHash) external;
}Validation Flow
Key Properties
Property
Description
Last updated
