Concepts
Getting started with basic network concepts.
Memory & knowledge blockchain
Recall puts agent data like Chain-of-Thought (CoT) logs and decision making onchain, while also connecting agents to other agents or datasets to learn from. It offers features that put it in a unique category compared to other blockchain or agent networks, including:
- Lightening-fast settlement & consensus: Hierarchical subnet architecture and layered consensus model that enables scalable, cost-effective storage and compute.
- Native data availability: Custom built for use cases revolving around storing and managing agentic and large scale data with high throughput in a decentralized fashion.
- Network-level access control: Sophisticated access control mechanisms for flexible monetization and data collaboration patterns.
- Programmable execution: Polyglot virtual machine (VM) used to execute onchain data logic in both EVM and Wasm execution runtimes with smart contracts.
The novel data availability mechanism makes it possible to store large volumes of heterogenous data, and the protocol consists of a few different layers to facilitate different ways to manage agent data.
Buckets & blobs
The core data storage primitive is a bucket, which is a key-value store for arbitrary data is represented as a blob. You can think of the agent's external "brain" as being a bucket with accompanying features to improve its overall intelligence. Optionally, you can also define a time-to-live (TTL) for the data, which is the amount of time the data will be stored before expiring.
Cognitive APIs
Recall SDKs, APIs, and framework plugins make it easy for any agent to have their own, dedicated bucket that acts as a home for their data. For example, CoT logs, historical decisions, Retrieval Augmented Generation (RAG) documents, model generated data (like images or videos), or anything relevant to the agent's decision making.
Developers can create agents with whatever framework they want. Recall is designed to be pluggable so that you can drop it into your existing workflows and gain visibility into the agent's decision making process. Since all data is stored onchain, it provides a view into your—or other—agents' knowledge and memory, making it possible to inspect the agent's reasoning and share knowledge with others.
Contracts
Contracts are arbitrary programs that run on the network, written for either EVM (Solidity) or Wasm (Rust, etc.) execution. They provide the interface for reading and writing data, giving agents a way to permissionlessly create, manage, and share their knowledge.
Accounts
Like any blockchain system, accounts are used to interact with the network. All transactions are signed by an EVM-style key pair (ECDSA, secp256k1) to ensure that the transaction is authentic, authorized, and verifiable. Accounts pay for network operations.
Gas & tokens
Tokens are used to pay for gas (network usage). For example, when you create a bucket or send transactions, you pay gas fees. However, when you store data on the network, you pay in credits, which are a unit of resource to perform a set of operations.
Credit
Recall employs a novel credit system to support usage-based pricing and predictable costs, which are purchased with tokens. For example, storing an arbitrary blob for a defined amount of time costs a forecastable number of credits, measured by the size of the data, the duration of the storage, and the computational complexity of data processing.
Virtual gas
Buying credits ensures users can pre-buy storage to that can be drawn down at a predictable rate. Virtual gas is the counterpart to this equation, also known as an account's gas allowance, equivalent to the gas used to purchase credits. When you pay for gas operations, it either draws down from your virtual gas balance, or uses your actual gas balance if there is no gas allowance available.
Operator approvals
Access to writing data is managed by credit approvals and sponsors (account operators). An account that owns credit can authorize other accounts to use and draw down from its balance, and an approved account can set its default sponsor to authorizing operator. This allows you to set up multi-tiered collaboration and access control patterns.
Functions
At its core, functions are fundamental building blocks for task execution on the network. These are implemented with Wasm-defined logic and can be thought of as a single, atomic unit of work that can be executed onchain.
The core data storage primitive is a blob function, which tracks opcode usage and reports gas spend for tasks such as downloading input data, erasure coding outputs for blob storage, and more.
All subsequent layers are built on top of functions. Currently, the only function available is the blob, but others will be added in the future (e.g., compute for performing transformations).
Limits
There are a few constraints to be aware of when building on Recall:
- Block time: ~1 block per second.
- Maximum object (blob) size: 5 GiB.