# How is Functor enabling the onchain autonomous world?

The onchain autonomous world is the union of **AI** and **crypto** driving **automation** at scale.&#x20;

AI proposes actions, crypto enforces outcomes. For this future to work, **programmable execution** and **self‑custody** must be correct by design across chains. Functor is the **onchain signing infrastructure** that makes this possible, turning AI intent into verifiable onchain execution with one consistent way to authorize, constrain, and recover actions across ecosystems.&#x20;

Without this layer, large‑scale automation fragments into per‑chain keys, inconsistent approvals, and fragile recovery.

**Here’s how we get there**: safe state changes with **programmable permissions** and policies, **cross‑chain** authorization by design, a session lifecycle with rotation and native recovery, and composable coordination, for everyone.

***

### A quick intuition<sup>2</sup>

AI is adaptive and **probabilistic**. Crypto is rule‑bound and **deterministic**. You can fake a captcha, but not an **onchain balance** or a **cryptographic proof**. In a world where AI can make things look fake, crypto makes results real again.

***

### What an agent actually does

1. **Read** data
2. Decide and **act** (change state)
3. New data is **produced**

<figure><img src="/files/4sOg94joK5yxmn9qAo2S" alt=""><figcaption></figcaption></figure>

The critical moment is the state change. This is where security and UX usually break. Functor makes this step safe and consistent.

***

### Safe state changes with session keys and policies

Agents and platforms need controlled signing, not master keys. Functor enables **session keys** with **programmable permissions**, enforced onchain.

* Scoped access to assets, contracts, methods, and limits such as value, frequency, and time.
* Onchain verification checks every action against policy before it executes.
* Clear intent and predictable behavior for users, apps, and other agents.

### Cross‑chain by design

Policies live in Functor’s signing layer and are readable in a chain‑agnostic way. The same rules apply everywhere.

* One authorization root that follows the user and their applications across L2s.
* No extra approvals when moving between chains.
* Consistent **revocation**, **recovery**, and policy updates from one place.

An example of how AI agents work with Functor sessions is as follows:

<figure><img src="/files/9sAqVTvfdptBgJfk5rOL" alt=""><figcaption></figcaption></figure>

***

### Session lifecycle and safety controls

* Provision: create a session for an agent, a fleet, or a platform with scoped permissions.
* Operate: execute under the same policy across chains, continuously.
* Rotate or revoke: update keys, tighten limits, or shut down access globally. Supports **native account recovery** via **key rotation** for wallets and exchanges.

### Composable coordination across many actors

Because policies are explicit and verifiable, multiple agents, services, and platforms can coordinate safely.

* Predictable behavior enables agent‑to‑agent and service‑to‑service workflows.
* Relationship policies can enforce ordering or dependencies across assets and chains, for example “Asset B cannot move until Asset A moves first,” without custom cross‑chain messaging.

<figure><img src="/files/ovOyV91PmlIYaLiYNynb" alt=""><figcaption></figcaption></figure>

***

### Footnotes[​](https://docs.securitylabs.xyz/what_is_functor/#footnote-label) <a href="#footnote-label" id="footnote-label"></a>

2. The 8th point on Balaji's [post](https://balajis.com/p/ai-is-polytheistic-not-monotheistic) about his 10 thoughts on AI being economically useful.


---

# Agent Instructions: 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:

```
GET https://functor.gitbook.io/functor-network-docs/overview/how-is-functor-enabling-the-onchain-autonomous-world.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
