Skip to main content

Getting Started

Functor Network by Security Labs is an autonomy layer for AI agents — allowing for expressive and autonomous AI to act on-chain in a well-structured and verifiable manner. Specifically, we enable:

  1. Cross-chain, arbitrary permissions through modular session keys; providing fine-grain design of on-chain AI behaviour.
  2. ZKP-based verifiability through continuous — yet cheap — validation of their transactions against active permissions.
  3. AI agents collaboration through coupled sessions between agents, allowing for simple rules to compose into highly expressive, but still secure, behaviors.

Functor achieve this through its design as a Keystore (KS) Rollup:

Functor as a keystore Rollup

A minimal decentralized key/value database to store and enable cross-chain access of:

  • Smart contract wallet (SCW) authentication parameters, e.g.:
    • Public keys,
    • Passkeys,
    • Signature thresholds, any other scheme-specific parameters
  • Session keys, e.g.:
    • Permissions over assets
    • Expiration conditions
    • Authentication parameters for specific situations
  • And, any other configurations you want atomically updated across any L2, e.g. updates to cross-chain protocols

This is important for AI agents to have a single source of truth for their session keys, permissions and authentication parameters to update atomically across all L2s. Functor coordinates these updates while being a completely permissionless and decentralized infrastructure.

In a nutshell, Functor decouples authentication logic from execution logic, for the authentication to be synced across L2s. This means: Configure your smart contract once and have it updated everywhere.

More than AI — The universal access layer

Sessions for AI agents are a special case for key rotation, which allows users to change their wallet's credentials securely. The problem of recovering access to a lost or stolen wallet underlies the key management space on a fundamental level. Functor solves this more general problem as a natural consequence of its design.

Some immediate benefits of using a Keystore for key recovery are outlined by Vitalik in his origial post discussing the idea. Here is a summary:

  1. Cheaper cross-chain updates: With Functor, only one update is needed for all chains, bundling multiple updates in a batch of zero-knowledge proofs, making it even cheaper.

  2. Atomic updates: Meaning the update either happens everywhere or it does not happen.

  3. Counterfactual addresses: Counteractual refers to accounts that would be yours in other chains when you decide to use them. This include chains that doesn't even exist1. With Functor, all your new accounts, even before you decide to use them, will be up-to-date with your credentials — ready to use.

  4. Privacy friendly: If a user intentionally have many addresses to act untraceably, they certainly do not want to publicly link all of them by recovering them at or around the same time! With Functor, the update happens uncorrelated to the addresses of the accounts benefitting with the update, preserving privacy.

See more by following the rest of the docs.

Additionally, if looking for something specific, here are some frequently asked questions we have gathered around.

Footnotes

  1. This is possible thanks to SCW being created with CREATE2, which is deterministic.