> For the complete documentation index, see [llms.txt](https://dev.teaproject.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dev.teaproject.org/050_functions/actors-vs-functions.md).

# Actors vs Functions

An **actor** is a compiled file in Wasm binary format that is composed of functions. The actor is loaded into the TEA min-runtime which processes the actor's request and generates a response back to the actor's handler function.&#x20;

TEA's **functions** are like a server-less version of [lambda functions](https://en.wikipedia.org/wiki/Lambda_calculus). Functions are stateless, i.e. developers can't store any state inside the functions.

If a developer needs to store the state while running a function, they have two choices:

1. They can store it in the state machine and pay the associated memory tax. If the data is important (such as token balances), then the data should be stored in a database, i.e. the state machine.
2. Wasm functions can't store the state, but they can call native functions to store the state temporarily through the hosting actor. As mentioned earlier, there's no charge for this kind of state storage because it's only temporary.


---

# 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://dev.teaproject.org/050_functions/actors-vs-functions.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.
