Skip to main content
Functor installs on any ERC-7579 smart account as a set of modules. Once installed, every transaction the agent makes is policy-checked, fee-collected, and audit-logged - onchain.

1. Install Functor modules

The developer installs two modules on their smart account:
  • WebAuthnValidator - verifies passkey signatures, reads keys from the KeyStore
  • FunctorPolicyHook - enforces policies before and after every transaction

2. Configure policies

The developer sets policies for each key - through the dashboard or the SDK. Policies are written directly to the FunctorPolicyHook contract onchain. Policies can include:
  • allowed_contracts - whitelist of contract addresses the agent can interact with
  • allowed_functions - whitelist of function selectors
  • spending_limit - rolling, time-windowed cap per token (e.g., 1000 USDC/day)
  • rate_limit - max transactions per time window, tracked cross-session
  • expires_at - hard expiry timestamp
  • custom - pluggable policy contracts for specialized logic
Policies can be updated at any time without creating new session keys.

3. Agent transacts

The agent signs a transaction. The smart account routes it through the validator and the hook: If any policy is violated, the transaction reverts. The agent’s funds stay safe. No fee is charged for blocked transactions.

4. Developer monitors

The dashboard reads onchain state and indexed events to show:
  • Current spending against limits
  • Rate limit usage
  • Full transaction history with policy results
  • Blocked transaction attempts
Everything is verifiable onchain. The dashboard is a read layer - the data lives on the blockchain.