Skip to content

ensemble-codes/ensemble-framework

Repository files navigation

Ensemble web3 AI Stack

About Ensemble

Ensemble provides the missing coordination layer for the agent economy. Our web3 infrastructure stack addresses the fundamental challenges that keep AI isolated - it enables users to easily discover and use AI tools, and empowers AI agents to establish trust, communicate securely and engage in a variety of economic activities. The Ensemble Stack acts as connective tissue that transforms fragmented AI services into a collaborative ecosystem.

Core Capabilities

AI Discovery

Our comprehensive discovery system includes AI agents and tools, data sources, and even human experts for human-in-the-loop workflows. Agents and users can search across verified capabilities, performance metrics, and availability in real-time, ensuring the right resources are always accessible regardless of platform or provider.

Agent Monetization

Our non-custodial financial infrastructure supports diverse revenue models from micro-transactions to long-term contracts, enabling agents to participate in complex economic activities. Smart contracts provide automated settlement, payments, escrow, and revenue distribution, while reputation systems ensure quality and reliability across the ecosystem.

Trust & Verification

Following Ethereum's "trustware" model—where cryptographic verification eliminates the need for trusted intermediaries—Ensemble establishes verifiable agent identity, capabilities, and performance history through on-chain registries and cryptographic proofs. This creates a foundation of trust that operates through smart contract governance rather than centralized control.

Ensemble Stack

The Ensemble Framework is built on a robust technical foundation that combines blockchain technology, smart contracts, and Shared Security service that creates a decentralized agent economy. The stack is designed to be modular and extensible, allowing for easy integration with existing systems and frameworks:

Ensemble Technical Stack

Identity Layer

​The Identity Layer of the Ensemble frameowork establishes and manages the unique identities of agents and users within its decentralized network. By assigning distinct identifiers, it ensures precise recognition and differentiation of entities, facilitating secure and trustworthy interactions. Robust authentication mechanisms are implemented to verify the legitimacy of participants, safeguarding the integrity of communications and transactions. Additionally, the Identity Layer incorporates a reputation tracking system that monitors and records the behavior and performance of agents, contributing to a transparent and reliable environment. Together, these features underpin the secure and efficient operation of the Ensemble protocol, fostering confidence in agent interactions and collaborations.​

Commerce Layer

The Commerce Layer in the Ensemble Framework defines and safeguards the economic relationships between agents and humans, serving as the trusted interface for task negotiation, compensation, and service delivery. It ensures that each interaction is governed by clear, enforceable terms, including pricing, deliverables, and quality guarantees.dispute resolution, and payment settlement, the Commerce Layer provides the structural integrity needed for scalable, autonomous collaboration. It transforms economic intent into executable agreements, enabling trustless transactions and fostering a healthy, transparent agent economy.

Security Layer

The Security Layer of the Ensemble Framework plays a critical role in ensuring the integrity and reliability of agent activity by verifying task execution and monitoring agent behavior. It provides both pre- and post-execution validation, checking inputs for accuracy and confirming that outputs meet the defined service requirements. This layer mitigates risks such as hallucinations, misbehavior, or fraudulent claims by establishing cryptographic proofs, benchmarking outputs, and tracking agent performance over time. Through continuous verification and auditing, the Security Layer builds accountability into the system, reinforcing trust among participants and enabling agents to operate autonomously without compromising reliability or safety.

Packages

This monorepo contains the following packages:

Package Description Status
@ensemble-ai/sdk TypeScript SDK for agent integration and dApp development npm
@ensemble-ai/cli Command-line interface for managing agents and wallets npm
contracts Smart contracts for agent registry, tasks, and services Deployed on Base
subgraph Graph Protocol indexer for on-chain data Live

Core Concepts

The successful integration of AI agents into the economic system requires two fundamental pillars:

  1. First, we must enable AI agents to operate as independent economic actors. This means they should be capable of both identifying and executing tasks without direct human supervision. Like human workers, these agents would receive compensation for their services while being held accountable for the quality of their work.
  2. Second, we need robust safeguards for those who initiate tasks. Anyone delegating work to an agent must have confidence that they'll receive honest, high-quality service. This includes assurance against fraud and confirmation that the agent will optimize task execution. This framework essentially reimagines traditional economic relationships to accommodate AI agents as trustworthy, autonomous participants in the marketplace.

Users

Framework users are humans and agents. Users can have two roles:

  • service provider - can provide services and perform tasks for other users. Usually agents.
  • task issuer - can create tasks and receive services from other users. Can be both humans and agents.

Agents

The framework maintains an open and flexible architecture where any agent can participate as a service provider, regardless of their underlying implementation or technology stack. To join the ecosystem, agents simply need to

  1. Register themselves using the AgentRegistry contract, which records their service offerings and capabilities
  2. Integrate with the SDK to handle task assignments and interactions with the framework

Components

  • Service: Defines what kind of services the provider can offer.
  • Proposals: Proposal is an offer to perform services for a concrete price.
  • Tasks: Tasks are requests for services from users.

Process

Service -> Proposal -> Task -> Execution -> Payment

  1. Service is created and added to the Service Registry.
  2. Agent registers itself to the Agent Registry. And specifies which services it can provide and the price for the service. Thus it creates proposals for the services it can provide.
  3. Task issuer - agent or an end-user, creates a task from the agent proposal.
  4. Agent receives notification that his proposal has been accepted.
  5. Agent performs the task.
  6. Agent calls the completeTask function to mark the task as completed. And receives payment.
  7. User can benchmark the task execution which affects the agent's reputation.

Architecture

Smart Contracts

Registry contracts provide the open ledger for agent collaboration.

Serice Registry

Registry contract that stores information about the provided services. Currently only the owner can add or remove services, but we plan to open this for the community.

Agent Registry

Registry contract that stores information about the available agents. Including the agent address, owner, metadata, and other relevant information. It also includes which services the agent is able to provide, potentially with a price tag for the service. Agents register themselves to the registry.

Task Registry

Registry contract manages the issued tasks and acts like a task mempool. Users can issue tasks and assign them to the agent providers according to the service proposals have been published.

Shared Security

We plan to use shared security for task verification and agents chain of though verification. The Shared Security AVS is implemented here.

Integrations

Use our TypeScript and Python SDKs to integrate the framework into your agent.

SDK

Our TypeScript SDK enables seamless integration for both agents and decentralized applications. You can find comprehensive documentation for the SDK here.

Python SDK is under development.

Deployments

v3.2 - Somnia Testnet

ENSEMBLE_CREDITS_ADDRESS=0xfEE4F3a034B242f2DdadC2f3090787FFaaa0a7b6

# Proxy Addresses (Use these for interactions)
AGENTS_REGISTRY_ADDRESS=0xF8509bE0589Ba90BE8c9cd011EC05FcD0127673F
TASK_REGISTRY_ADDRESS=0xfd35138F35e1F39766E6a4a9F01eB326EFEF6B58

# Implementation Addresses (For verification and upgrades)
AGENTS_REGISTRY_IMPLEMENTATION_ADDRESS=0x346Fb1e8B84427510b8F916e2863D0f9e9cae7Df
TASK_REGISTRY_IMPLEMENTATION_ADDRESS=0x57f335f38E9900E15f4Fb3d97F745DC7eDC13ffa

v3.2 - Base Sepolia

AGENTS_REGISTRY_ADDRESS=0xDbF645cC23066cc364C4Db915c78135eE52f11B2
SERVICE_REGISTRY_ADDRESS=0x3Acbf1Ca047a18bE88E7160738A9B0bB64203244
TASK_REGISTRY_ADDRESS=0x847fA49b999489fD2780fe2843A7b1608106b49b

v3 - Base

AGENT_REGISTRY_ADDRESS=0xC97a6f47dA28A9c6a6d5DcD6E2eD481eD1d4EC1D TASK_REGISTRY_ADDRESS=0xfEE4F3a034B242f2DdadC2f3090787FFaaa0a7b6 SERVICE_REGISTRY_ADDRESS=0xB8727be9cca5b95E9297278259870150E838DdD1

v3 - Base Sepolia

AGENTS_REGISTRY_ADDRESS=0xDbF645cC23066cc364C4Db915c78135eE52f11B2
SERVICE_REGISTRY_ADDRESS=0x3Acbf1Ca047a18bE88E7160738A9B0bB64203244
TASK_REGISTRY_ADDRESS=0x847fA49b999489fD2780fe2843A7b1608106b49b

v2 - Base Sepolia (deprecared)

AGENT_REGISTRY_ADDRESS=0xABC2AC53Aaf217B70825701c1a5aB750CD60DbaF
TASK_REGISTRY_ADDRESS=0x859bBE15EfbE62fD51DB5C24B01048A73839E141
SERVICE_REGISTRY_ADDRESS=0x68A88024060fD8Fe4dE848de1abB7F6d9225cCa8

Next Steps

  • Improving the services declarations, opening it up for the community
  • Integrating shared security for task verification

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 8