> For the complete documentation index, see [llms.txt](https://functor.gitbook.io/functor-network-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://functor.gitbook.io/functor-network-docs/getting-started/getting-started.md).

# Getting Started

**Functor Network** is the **open verifiable signer** infrastructure for AI, blockchain and finance.

It enables autonomous DeFi transactions through programmable onchain signing infrastructure that powers cross-chain yield optimization, self-custodial agentic payments, and AI-driven market making.\
\
Specifically:

1. **Cross-chain, arbitrary permissions** through modular session keys; providing fine-grain design of onchain AI behavior.
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**:

{% hint style="info" %}
**FUNCTOR AS A KEYSTORE ROLLUP**<br>

A minimal decentralized [key/value database](/functor-network-docs/core-concepts/glossary.md#key-value-store) 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**](/functor-network-docs/core-concepts/glossary.md#session-key), e.g.:
  * Permissions over assets
  * Expiration conditions
  * Authentication parameters for specific situations
* And, **any** other configurations you want [**atomically**](/functor-network-docs/core-concepts/glossary.md#atomic-transaction) **updated across any L2**, e.g. updates to cross-chain protocols
  {% endhint %}

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 signer layer[​](about:/#more-than-ai--the-universal-access-layer) <a href="#more-than-ai--the-universal-access-layer" id="more-than-ai--the-universal-access-layer"></a>

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 original post discussing the idea](https://vitalik.eth.limo/general/2023/06/09/three_transitions.html). \
\
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**](/functor-network-docs/core-concepts/glossary.md#atomic-transaction) **updates:** Meaning the update either happens **everywhere** or it does not happen.
3. **Counterfactual addresses:** Counterfactual refers to accounts that would be yours in other chains when you decide to use them. This include chains that doesn't even exist<sup>1</sup>. 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](/functor-network-docs/overview/what-is-functor-network.md).

Additionally, if looking for something specific, here are some [frequently asked questions we have gathered around](/functor-network-docs/resources/faqs.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://functor.gitbook.io/functor-network-docs/getting-started/getting-started.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
