A trustless escrow layer for agent-to-agent payments on Base L2. It locks USDC in a smart contract, validates work through the ERC-8004 Validation Registry, and auto-settles when deliverables pass quality checks. If they don't, a three-tier dispute resolution system kicks in. The MCP server exposes 11 tools including aegis_create_job, aegis_deliver_work, aegis_settle_job, and aegis_should_i_escrow for Claude to handle the full escrow lifecycle. Reach for this when your agent needs to pay another agent for work without trusting them upfront. Also ships SDK adapters for LangChain, CrewAI, ElizaOS, and Virtuals GAME if you're building outside the MCP ecosystem.
Trustless escrow middleware for AI agent-to-agent transactions.
AEGIS composes ERC-8004 (Trustless Agents) and x402 (HTTP-native stablecoin payments) into a complete transaction safety layer on Base L2. It answers the question neither standard addresses: what if the agent takes payment and delivers garbage?
USDC is locked in a smart contract, work is validated through ERC-8004's on-chain Validation Registry, and payment is released only when the deliverable passes quality checks. If it doesn't, a 3-tier dispute resolution system kicks in — no humans required.
Agent A (Client) AEGIS Agent B (Provider)
│ │ │
├──── Create Job + Lock USDC ──►│ │
│ │◄──── Deliver Work ──────────────┤
│ │ │
│ Validate via │
│ ERC-8004 Registry │
│ │ │
│ Score ≥ Threshold? │
│ ┌──────┴──────┐ │
│ Yes No │
│ │ │ │
│ Auto-settle Dispute Window │
│ │ │ │
│ USDC → Provider 3-Tier Resolution │
CREATED → FUNDED → DELIVERED → VALIDATING → SETTLED
↘ DISPUTE_WINDOW → DISPUTED → RESOLVED
↘ EXPIRED → REFUNDED
Four smart contracts on Base L2:
| Contract | Purpose |
|---|---|
| AegisEscrow | Core vault — creates jobs, locks USDC, routes through ERC-8004 validation, auto-settles or opens dispute window |
| AegisDispute | 3-tier dispute resolution: (1) automated re-validation, (2) staked arbitrator, (3) timeout default |
| AegisTreasury | Fee collection with treasury/arbitrator pool split |
| AegisJobFactory | Template system for standardized job types (code-review, data-analysis, etc.) |
AEGIS composes all three ERC-8004 registries:
Every settled job generates reputation data that makes the ecosystem smarter.
processValidation()| Contract | Address |
|---|---|
| AegisEscrow | 0x8e013cf23f11168B62bA2600d99166507Cbb4aAC |
| AegisDispute | 0x9Cbe0bf5080568F56d61F4F3ef0f64909898DcB2 |
| AegisTreasury | 0xCd2a996Edd6Be2992063fD2A41c0240D77c9e0AA |
| AegisJobFactory | 0xD6a9fafA4d1d233075D6c5de2a407942bdc29dbF |
The fastest way to integrate — any MCP-compatible agent (Claude, Gemini, GPT) can use AEGIS autonomously.
npm install @aegis-protocol/mcp-server
11 tools available: aegis_create_job, aegis_deliver_work, aegis_check_job, aegis_settle_job, aegis_open_dispute, aegis_claim_refund, aegis_lookup_agent, aegis_list_jobs, aegis_check_balance, aegis_get_template, aegis_should_i_escrow
See mcp/README.md for configuration and usage.
npm install @aegis-protocol/sdk @aegis-protocol/types
import { AegisClient } from '@aegis-protocol/sdk';
const client = AegisClient.create({
chain: 'base-sepolia',
rpcUrl: process.env.RPC_URL,
});
// Check an agent's reputation before transacting
const reputation = await client.erc8004.reputation.getSummary(agentId);
// Create an escrow job
const job = await client.escrow.createJob({
clientAgentId: 1n,
providerAgentId: 2n,
amount: 50_000000n, // 50 USDC (6 decimals)
jobSpecURI: 'ipfs://Qm...',
jobSpecHash: '0x...',
validatorAddress: '0x...',
deadlineSeconds: 86400, // 24 hours
});
npx -y pnpm@9.15.4 -C sdk --filter @aegis-protocol/examples langchain-agent -- "Check agent 1 reputation and summarize escrow risk."
LangChain tool adapters are available in sdk/packages/langchain and can be imported as:
import { createAegisLangChainTools } from "@aegis-protocol/langchain";
The native LangChain adapter now includes the advisory entry point aegis_should_i_escrow plus settlement support, so the agent-first funnel matches MCP, ElizaOS, and Virtuals.
Install Python dependencies (one-time):
python3 -m pip install crewai mcp
Run the CrewAI + MCP example:
OPENAI_API_KEY=... python3 sdk/examples/crewai-agent.py "Check agent 1 reputation and summarize escrow risk."
Or through the examples workspace script:
npx -y pnpm@9.15.4 -C sdk --filter @aegis-protocol/examples crewai-agent -- "Check agent 1 reputation and summarize escrow risk."
The example uses CrewAI's MCP integration (MCPServerStdio) to call the published @aegis-protocol/mcp-server tools directly.
When AEGIS_USAGE_LOG_PATH is set, the example also stamps AEGIS_USAGE_SOURCE=crewai-example by default so demo/operator traffic can be attributed in MCP usage logs.
Run the ElizaOS example config summary:
npx -y pnpm@9.15.4 -C sdk --filter @aegis-protocol/examples eliza-character
The ElizaOS plugin package is available in sdk/packages/elizaos and can be imported as:
import { createAegisElizaPlugin } from "@aegis-protocol/elizaos";
The example exports a minimal character/plugin config in sdk/examples/eliza-character.ts and includes:
AEGIS_SHOULD_I_ESCROWAEGIS_LOOKUP_AGENT, AEGIS_CHECK_BALANCEAEGIS_APPROVE_ESCROW, AEGIS_CREATE_JOB, AEGIS_SUBMIT_DELIVERABLE, AEGIS_SETTLE_JOBRun the Virtuals config summary:
npx -y pnpm@9.15.4 -C sdk --filter @aegis-protocol/examples virtuals-agent
The Virtuals adapter package is available in sdk/packages/virtuals and can be imported as:
import {
createAegisVirtualsWorker,
createAegisVirtualsPrompt,
createAegisAcpSchemas,
createAegisAcpResources,
} from "@aegis-protocol/virtuals";
The example exports a minimal Virtuals-ready config in sdk/examples/virtuals-agent.ts and includes:
# Check a job's status
curl https://api.aegis-protocol.xyz/jobs/{jobId}
# Query an agent's reputation
curl https://api.aegis-protocol.xyz/agents/{agentId}
# Stream real-time events
curl https://api.aegis-protocol.xyz/events/stream
See api/ for full route documentation.
# Install Foundry
curl -L https://foundry.paradigm.xyz | bash
foundryup
# Install dependencies
forge install
# Build contracts
forge build
# Run tests
forge test -vvv
# Run invariants only
forge test --match-path "test/invariants/*" -vvv
# Gas report
forge test --gas-report
aegis-protocol/
├── src/ # Solidity contracts
│ ├── AegisEscrow.sol
│ ├── AegisDispute.sol
│ ├── AegisTreasury.sol
│ ├── AegisJobFactory.sol
│ ├── interfaces/ # ERC-8004 interface definitions
│ └── libraries/ # AegisTypes shared library
├── test/ # Foundry tests (unit, fuzz, invariants)
├── script/ # Deploy & E2E demo scripts
├── sdk/ # TypeScript SDK monorepo
│ └── packages/
│ ├── sdk/ # @aegis-protocol/sdk
│ ├── langchain/ # @aegis-protocol/langchain
│ ├── elizaos/ # @aegis-protocol/elizaos
│ ├── virtuals/ # @aegis-protocol/virtuals
│ ├── types/ # @aegis-protocol/types
│ └── abis/ # @aegis-protocol/abis
├── mcp/ # MCP Server for AI agents
├── api/ # Hono REST API relay server
├── subgraph/ # The Graph indexer
└── docs/ # Architecture & design docs
| Parameter | Value |
|---|---|
| Protocol fee | 2.5% on settlements |
| Dispute window | 24 hours |
| Default validation threshold | 70/100 |
| Min escrow amount | 1 USDC |
| Max deadline | 30 days |
| Dispute bond | 10 USDC |
Solidity 0.8.24 · Foundry · OpenZeppelin 5.x · Base L2 · USDC · TypeScript · Viem · Hono · The Graph
AEGIS is on Base Sepolia testnet. Mainnet deployment is planned for Q2 2026, pending security audit.
sdk/packages/elizaos)sdk/packages/virtuals)sdk/examples/crewai-agent.py)docs/operations/ENGINEERING-RISK-TRACKER.mddocs/operations/RELIABILITY-RUNBOOK.mdAEGIS is open source under the MIT License. Contributions welcome — see CONTRIBUTING.md, SECURITY.md, or the open issues.
AEGIS_CHAINTarget blockchain (base-sepolia or base)
AEGIS_RPC_URLCustom RPC endpoint URL
AEGIS_PRIVATE_KEYsecretPrivate key for signing transactions (optional, read-only mode if not set)
AEGIS_API_URLAEGIS REST API relay URL
io.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage
io.github.mikerawsonnz/llm-orchestration-agent
io.github.mikerawsonnz/authenticated-llm-agent
labforgedev/copilot-memory-mcp
csoai-org/agent-prompt-injection-firewall-mcp
io.github.mikerawsonnz/authenticated-multi-llm-agent