Introduction

The Society of Automotive Engineers introduced a classification system to describe the different autonomous driving levels. It ranges from level 0 to level 5, with level 5 being completely autonomous. The same framework can be applied to help understand the current and future state of solvers. Much of Web3 today operates in the realm of level 2 of autonomy. Meaning that smart contract systems as they exist now provide some level of automation, but require human attention at all times. Smart contracts provide a degree of autonomy within the context of their own base chain and sometimes other chains, but have limited degrees of freedom. More concretely, smart contracts are limited to the specific execution logic that governs them. In all reality, a user’s objective might be better suited by other smart contracts or a novel combination of multiple independent smart contracts. Solvers, in combination with the recent advancements in artificial intelligence, provide a path for achieving levels 3-5 of autonomy giving blockchain users a new type of smart contract system that can self-drive towards a specific goal that they are trying to achieve. The reference architecture below provides a basis for a solver network that achieves level 3 autonomy. Level 3 autonomy will introduce solvers that can orchestrate complex workflows leveraging existing smart contract functionality with occasional human intervention. The proposed architecture lays the groundwork for level 4-5 autonomy by introducing the concept of an agent creator economy.

Agent Creator Economy

Surface Area provides creators the ability to publish novel functionality using AI to a broad network of users on the platform (like Custom GPTs). A simple example of this would be a user finding a new protocol that has yet to be added to the Surface Area platform. He or she could wrap the protocol functionality using the multi-agent framework so that other users on the platform could interface with the new protocol using natural language. There are obvious security considerations with this new paradigm but those are out of the scope of this document.

AWS Architecture Diagram - Chain Abstracted Agent Solver Network Architecture Diagram (3).jpg

Front end and other interfaces

Users can interact with Surface Area in a variety of ways with frond ends that are available in both web and native formats. Developers can interact with Surface Area via an API or SDK.

User proxy agent

The user proxy agent consists of a container registry and a Kubernetes cluster that auto-scales the numbers of pods and containers based on the demand. User agent proxies will be hosted on decentralized physical infrastructure providers like (e.g. IO.NET). If additional capacity is needed, Kubernetes clusters can be spun up in public cloud regions in a geographically distributed manner.

The purpose of the user proxy agent is to act as the control plane for Surface Area. The user proxy agent can also be thought of as the solver that is executing the intent with the help of multiple different subsystems. This involves managing the authentication/authorization and identity layers. It also includes coordinating with the various models used for inference as well as instantiating and/or executing the different smart contracts needed to complete the user’s objective.

The user proxy agent receives the user intent and deploys the corresponding Docker container id to handle the request. After receiving the request, the user proxy agent is responsible for contextualizing and packaging the user’s intent in a way that produces the desired output from the LLM. A number of other components are leveraged for input enrichment and prompt construction. Real-time text embeddings are incorporated for scenarios where retrieval augmented generation is necessary to help with code generation for creating new agents.

After submitting the user’s prompt and relevant context, the user proxy agent receives output from the LLM pertaining to the instructions needed to execute the intent. Oftentimes, this will be a direct reference to an already existing agent or set of agents that can best accomplish the task at hand. If no such agent exists, a separate workflow is triaged and the appropriate agent will be created and published on-chain.

When retrieving an agent to complete a task, the user proxy agent references the agent library (see agent library section below). After retrieving the appropriate smart contract functionality for the specified agent, the user proxy agent injects any core dependencies and executes the smart contract functionality.

The user proxy agent serves as a single interface for self-custodial wallets across different chains. To provide chain abstraction, Surface Area creates self-custodial wallets for intents that span across multiple non-interoperable blockchains.

If the user's preference is to explicitly sign transaction instructions from their existing self-custodial wallets, the user proxy agent will prompt the user whenever consent is needed. However, the recommended way to interact with Surface Area is to use the distributed key storage and signing that is built-in. This gives users the ability to outsource the execution of the intent to Surface Area while maintaining total ownership of the wallets created by the protocol.