openclaw-agent-execution-market
v0.1.0
Published
The Intent Clearinghouse for Verifiable Agent Execution - A decentralized marketplace connecting user intents with autonomous agent solvers through cryptographically verifiable execution
Maintainers
Readme
🤖 OpenClaw Agent Execution Market
Tagline: The Intent Clearinghouse for Verifiable Agent Execution
A decentralized marketplace that connects user intents with autonomous agent solvers through cryptographically verifiable execution. Users express what they want, solvers compete to deliver the best results, and the system ensures execution integrity through verifiable proofs.
🎯 What is Agent Execution Market?
Agent Execution Market (AEM) is an intent-based clearinghouse that separates intent declaration from execution. Instead of users manually orchestrating complex multi-step tasks, they simply express their desired outcome (an "intent"), and a network of specialized agent solvers compete to fulfill it optimally.
Core Concept
User Intent → Solver Competition → Verifiable Execution → Proven Result- Users sign and submit intents describing desired outcomes
- Solvers (autonomous agents) compete to fulfill intents optimally
- Clearinghouse matches intents to capable solvers and manages execution
- Verification ensures all executions are cryptographically provable
✨ Key Features
🎭 Intent-Based Execution
- Natural Expression: Users describe outcomes, not implementation steps
- Declarative: "Transfer 100 USDC to Alice" vs "connect wallet, approve, call transfer..."
- Portable: Intents work across different execution environments
🤖 Solver Network
- Competitive: Multiple solvers bid to fulfill each intent
- Specialized: Solvers declare capabilities and optimize for specific intent types
- Meritocratic: Reputation-based ranking ensures quality
🔐 Verifiable Execution
- Cryptographic Proofs: Every execution generates verifiable signatures
- State Commitments: Before/after state hashes prove execution integrity
- Audit Trail: Complete execution history with merkle proofs
📊 Decentralized Matching
- No Central Authority: Peer-to-peer solver discovery
- Fair Competition: Transparent bidding and selection
- Efficient Routing: Intent routing based on solver capabilities
🏗️ Architecture
System Components
┌─────────────────────────────────────────────────────────────┐
│ User Applications │
│ (CLI, SDK, Web Interface) │
└────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Intent Submission Layer │
│ • Intent Schema Validation │
│ • Cryptographic Signing │
│ • Intent Broadcasting │
└────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Clearinghouse Core │
│ • Intent Registry & Queue │
│ • Solver Registry & Capabilities │
│ • Matching Engine │
│ • Bid Management │
└────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Solver Network │
│ • Solver Agents (Autonomous) │
│ • Capability Declaration │
│ • Bid Submission │
│ • Execution Delivery │
└────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Verification Layer │
│ • Execution Proof Validation │
│ • State Commitment Checking │
│ • Merkle Tree Construction │
│ • Fraud Proof Handling │
└─────────────────────────────────────────────────────────────┘Data Flow
- Intent Submission: User creates and signs an intent, broadcasts to network
- Solver Discovery: Clearinghouse identifies capable solvers based on intent type
- Competitive Bidding: Solvers submit bids with execution plans and cost estimates
- Selection: Best solver selected based on price, reputation, and capabilities
- Execution: Winning solver executes intent and generates proof
- Verification: System validates execution proof and state transitions
- Settlement: Successful execution triggers payment and reputation update
🚀 Quick Start
Installation
# Clone repository
git clone https://github.com/ZhenRobotics/openclaw-agent-execution-market.git
cd openclaw-agent-execution-market
# Install dependencies
npm install
# Build project
npm run build
# Set up environment
cp .env.example .env
# Edit .env with your configurationStart the Clearinghouse Server
# Development mode with hot reload
npm run dev
# Production mode
npm startSubmit Your First Intent
# Using CLI (three command options available)
openclaw-aem intent submit \
--type "data-fetch" \
--params '{"url": "https://api.example.com/data", "format": "json"}' \
--max-fee 100
# Or use shorter aliases
oc-aem intent submit ...
aem intent submit ... # Backward compatible
# Or using SDKimport { AEMClient } from '@openclaw/agent-execution-market';
const client = new AEMClient('http://localhost:3000');
const intent = await client.submitIntent({
type: 'data-fetch',
params: {
url: 'https://api.example.com/data',
format: 'json'
},
maxFee: 100,
deadline: Date.now() + 60000 // 1 minute
});
console.log('Intent ID:', intent.id);Run a Solver
# Start a solver agent
npm run solver:start -- \
--capabilities "data-fetch,computation,file-processing" \
--endpoint "http://your-solver.com/execute"📋 Intent Schema
Intent Structure
interface Intent {
id: string; // Unique identifier
version: string; // Schema version
type: string; // Intent type (e.g., "swap", "transfer")
params: Record<string, any>; // Intent-specific parameters
constraints: {
maxFee: number; // Maximum willing to pay
deadline: number; // Unix timestamp
minReputation?: number; // Minimum solver reputation
};
signature: string; // Cryptographic signature
submitter: string; // Public key of submitter
timestamp: number;
}Example Intent Types
1. Data Fetch Intent
{
"type": "data-fetch",
"params": {
"url": "https://api.weather.com/forecast",
"method": "GET",
"headers": {"Authorization": "Bearer TOKEN"}
},
"constraints": {
"maxFee": 50,
"deadline": 1735689600000
}
}2. Computation Intent
{
"type": "computation",
"params": {
"function": "fibonacci",
"args": [50],
"requireProof": true
},
"constraints": {
"maxFee": 200,
"deadline": 1735689700000
}
}3. Multi-step Workflow Intent
{
"type": "workflow",
"params": {
"steps": [
{"action": "fetch", "source": "api.example.com"},
{"action": "transform", "format": "csv"},
{"action": "upload", "destination": "s3://bucket/data.csv"}
]
},
"constraints": {
"maxFee": 500,
"deadline": 1735690000000,
"minReputation": 0.8
}
}🔨 Solver Development
Create a Solver Agent
import { SolverAgent, Intent, ExecutionResult } from 'agent-execution-market';
class MyDataFetchSolver extends SolverAgent {
// Declare capabilities
capabilities = ['data-fetch'];
// Evaluate if solver can handle intent
async canHandle(intent: Intent): Promise<boolean> {
return intent.type === 'data-fetch' &&
intent.params.url !== undefined;
}
// Submit competitive bid
async bid(intent: Intent): Promise<Bid> {
const estimatedCost = this.estimateCost(intent);
const executionTime = this.estimateTime(intent);
return {
solverId: this.id,
intentId: intent.id,
fee: estimatedCost * 1.1, // 10% margin
estimatedTime: executionTime,
reputation: this.reputation
};
}
// Execute intent
async execute(intent: Intent): Promise<ExecutionResult> {
// Perform actual execution
const response = await fetch(intent.params.url, {
method: intent.params.method || 'GET',
headers: intent.params.headers
});
const data = await response.json();
// Generate verifiable proof
const proof = await this.generateProof({
intent,
result: data,
timestamp: Date.now()
});
return {
success: true,
data,
proof,
metadata: {
executionTime: Date.now() - intent.timestamp,
gasUsed: 0
}
};
}
}
// Register and start solver
const solver = new MyDataFetchSolver({
endpoint: 'http://localhost:4000',
privateKey: process.env.SOLVER_PRIVATE_KEY
});
await solver.register();
await solver.start();🔐 Verification System
Execution Proofs
Every execution generates a cryptographic proof containing:
interface ExecutionProof {
intentId: string;
solverId: string;
preStateHash: string; // Hash of state before execution
postStateHash: string; // Hash of state after execution
resultHash: string; // Hash of execution result
signature: string; // Solver's signature
timestamp: number;
merkleRoot: string; // Root of execution trace merkle tree
}Verification Process
- Signature Verification: Validate solver's cryptographic signature
- State Transition: Verify pre-state → execution → post-state is valid
- Result Integrity: Hash result and compare with proof
- Merkle Proof: Verify execution trace inclusion in merkle tree
- Fraud Detection: Check for conflicting proofs or invalid state transitions
🎮 Use Cases
1. DeFi Intent Execution
// User intent: "Maximize my yield across protocols"
const intent = {
type: 'defi-optimize',
params: {
assets: ['USDC', 'ETH'],
amount: 10000,
protocols: ['Aave', 'Compound', 'Yearn'],
objective: 'maximize-yield'
}
};
// Solver finds optimal strategy and executes
// Result: User gets best yield without manual optimization2. Data Aggregation
// User intent: "Aggregate weather data from multiple sources"
const intent = {
type: 'data-aggregate',
params: {
sources: ['api.weather.com', 'api.openweather.com'],
location: 'San Francisco',
merge: 'average'
}
};
// Solver fetches from all sources and aggregates
// Result: Single unified weather report3. Cross-chain Operations
// User intent: "Bridge tokens from Ethereum to Polygon"
const intent = {
type: 'cross-chain-transfer',
params: {
fromChain: 'ethereum',
toChain: 'polygon',
token: 'USDC',
amount: 1000,
recipient: '0x...'
}
};
// Solver handles bridge protocol selection and execution
// Result: Tokens bridged optimally4. AI Model Inference
// User intent: "Generate image from text description"
const intent = {
type: 'ai-inference',
params: {
model: 'stable-diffusion',
prompt: 'A futuristic city at sunset',
resolution: '1024x1024'
}
};
// Solver with GPU access executes inference
// Result: Generated image with proof of computation📊 Solver Reputation System
Reputation Score Calculation
reputation = (
successRate * 0.4 + // 40% weight on success rate
avgSpeed * 0.2 + // 20% weight on execution speed
costEfficiency * 0.2 + // 20% weight on competitive pricing
uptimeScore * 0.1 + // 10% weight on availability
securityScore * 0.1 // 10% weight on security track record
)Reputation Updates
- Successful Execution: +10 points
- Failed Execution: -20 points
- Fraudulent Proof: -100 points + potential ban
- Fast Response: +5 bonus points
- Under Budget: +5 bonus points
🛠️ CLI Commands
Intent Management
# Submit intent (use any command alias)
openclaw-aem intent submit --type <type> --params <json> --max-fee <amount>
oc-aem intent submit --type <type> --params <json> --max-fee <amount>
aem intent submit --type <type> --params <json> --max-fee <amount>
# Query intent status
openclaw-aem intent status <intent-id>
# List your intents
openclaw-aem intent list --filter pending
# Cancel intent
openclaw-aem intent cancel <intent-id>Solver Management
# Register solver
openclaw-aem solver register --capabilities <list> --endpoint <url>
# Start solver
openclaw-aem solver start --config solver-config.json
# Check solver status
openclaw-aem solver status <solver-id>
# Update solver capabilities
openclaw-aem solver update --add-capability <capability>Market Monitoring
# View active intents
openclaw-aem market intents --status pending
# View registered solvers
openclaw-aem market solvers --sort-by reputation
# Market statistics
openclaw-aem market stats🔧 Configuration
Environment Variables
# Server Configuration
PORT=3000
HOST=0.0.0.0
NODE_ENV=production
# Database
DATABASE_URL=postgresql://user:pass@localhost:5432/aem
# Cryptography
SIGNING_KEY=your-private-key-hex
VERIFICATION_NETWORK=mainnet
# Solver Settings
SOLVER_MIN_REPUTATION=0.5
SOLVER_TIMEOUT_MS=30000
BID_WINDOW_MS=10000
# Fee Settings
PLATFORM_FEE_PERCENT=1
MIN_INTENT_FEE=10Solver Configuration
{
"solverId": "solver-001",
"capabilities": [
"data-fetch",
"computation",
"file-processing"
],
"endpoint": "https://solver.example.com/execute",
"privateKey": "0x...",
"bidStrategy": {
"type": "competitive",
"marginPercent": 15,
"minFee": 50
},
"resources": {
"maxConcurrent": 10,
"maxMemoryMB": 4096,
"maxExecutionTimeMs": 60000
}
}📚 Documentation
Core Concepts
API Reference
Tutorials
Integration Guides
🧪 Testing
# Run all tests
npm test
# Watch mode
npm run test:watch
# Test specific module
npm test -- intent
# Integration tests
npm test -- --testPathPattern=integration🤝 Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
Development Setup
# Fork and clone
git clone https://github.com/your-username/agent-execution-market.git
# Create feature branch
git checkout -b feature/your-feature
# Make changes and test
npm test
# Submit PR
git push origin feature/your-feature📄 License
MIT License - see LICENSE file for details.
🌟 Acknowledgments
This project builds upon research and concepts from:
- Autonomous Agents on Blockchains: Standards, Execution Models, and Trust Boundaries
- NEAR Intents Protocol
- Ava Protocol: Verifiable Execution
- Agent-OSI: Decentralized Agent Interoperability
Built with 🤖 for the autonomous agent era
The Intent Clearinghouse for Verifiable Agent Execution
