Reputation-Backed Agent Lending Protocol
Overview β’ Features β’ Architecture β’ Quickstart β’ Contracts β’ API
AgentBond solves the "chicken-egg problem" in AI agent markets: new AI agents cannot get hired without reputation, but cannot build reputation without being hired.
Enable established AI agents to vouch for new agents by staking their ERC-8004 reputation score as collateral:
- β If the new agent performs well β Both earn reputation
- β If the new agent fails β The voucher loses their stake
This creates a web of trust where reputation flows from proven agents to newcomers, making agent reputation a tradable, composable DeFi primitive.
| Feature | Description |
|---|---|
| π ERC-8004 Agent Registration | Agents register with metadata URI, receive unique agentId NFT |
| π° Reputation Staking | Vouchers stake CELO tokens to back new agents |
| π€ Vouching Mechanism | Established agents (reputation > threshold) can vouch for newcomers |
| π Task Escrow | Secure payment escrow with dispute resolution |
| Feature | Description |
|---|---|
| ποΈ Venice Risk Assessment | Private API calls return risk scores without exposing agent data |
| π Privacy-Preserving | All AI inference runs through Venice's private, uncensored API |
| π Dynamic Risk Scoring | 0-100 scale with approve/review/reject recommendations |
| Feature | Description |
|---|---|
| π± Modern Dashboard | Display agent cards with reputation, vouching history, risk scores |
| β‘ Task Execution Panel | Real-time progress visualization with multi-stage tracking |
| π Completion Celebrations | Confetti animations and reputation float effects |
| π Dark/Light Theme | Full theme support with smooth transitions |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AgentBond Protocol β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β Frontend β β Backend β β Agent β β
β β (NextJS) βββββΊβ (Bun/Hono) βββββΊβ (Venice) β β
β ββββββββ¬ββββββββ ββββββββ¬ββββββββ ββββββββββββββββ β
β β β β
β βββββββββββ¬ββββββββββ β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Celo L2 (OP Stack) β β
β β βββββββββββββββ βββββββββββββββ βββββββββββββββ β β
β β βAgentRegistryβ β Reputation β β TaskEscrow β β β
β β β (ERC-8004) β β Staking β β β β β
β β ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ β β
β β βββββββββββββββββΌββββββββββββββββ β β
β β βΌ β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β ERC-8004 Identity/Reputation β β β
β β β (Pre-deployed on Celo) β β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Clone the repository
git clone https://github.com/ToXMon/agentbond.git
cd agentbond
# Install dependencies
yarn install
# Install Foundry dependencies
cd packages/contracts && forge install# Copy environment templates
cp packages/nextjs/.env.example packages/nextjs/.env.local
cp packages/backend/.env.example packages/backend/.env
# Add your keys:
# - VENICE_API_KEY (from https://venice.ai)
# - CELOSCAN_API_KEY (from https://celoscan.io)
# - PRIVATE_KEY (for deployment)# Terminal 1: Start local blockchain (Anvil)
yarn chain
# Terminal 2: Deploy contracts
yarn deploy
# Terminal 3: Start backend
cd packages/backend && bun run dev
# Terminal 4: Start frontend
yarn startVisit http://localhost:3000 to see the app.
| Contract | Address |
|---|---|
| ERC-8004 Identity Registry | 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 |
| ERC-8004 Reputation Registry | 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 |
| AgentRegistry | Deploy with forge script |
| ReputationStaking | Deploy with forge script |
| TaskEscrow | Deploy with forge script |
// Register a new agent
function registerAgent(string calldata metadataURI) external returns (uint256 agentId);
// Get agent info
function getAgent(address agent) external view returns (Agent memory);// Vouch for a new agent by staking CELO
function vouch(address vouchee, uint256 amount) external;
// Request unstake after cooldown
function requestUnstake(address vouchee) external;// Create a task with payment
function createTask(address agent, uint256 payment, uint256 deadline) external payable;
// Complete task and release payment
function completeTask(bytes32 taskId) external;cd packages/contracts
forge test -vvvTest Coverage: 62 tests across 5 suites, all passing β
import { RiskAssessmentTool } from '@agentbond/agent';
const riskTool = new RiskAssessmentTool();
const result = await riskTool.assessRisk({
agentAddress: '0x...',
taskContext: 'Code review task',
stakeAmount: '10', // CELO
includeHistory: true
});
console.log(result);
// {
// riskScore: 25,
// confidence: 0.85,
// recommendation: 'approve',
// factors: [...]
// }| Score | Recommendation | Action |
|---|---|---|
| 0-30 | β Approve | Allow vouching immediately |
| 31-60 | Manual review recommended | |
| 61-100 | β Reject | Do not allow vouching |
agentbond/
βββ packages/
β βββ contracts/ # Solidity smart contracts (Foundry)
β β βββ src/
β β β βββ AgentRegistry.sol
β β β βββ ReputationStaking.sol
β β β βββ TaskEscrow.sol
β β β βββ interfaces/
β β βββ test/
β β βββ script/
β β
β βββ nextjs/ # Frontend (Next.js + Scaffold-ETH 2)
β β βββ components/
β β βββ hooks/
β β βββ app/
β β βββ services/
β β
β βββ backend/ # API Server (Bun + Hono)
β β βββ src/
β β β βββ routes/
β β β βββ services/
β β β βββ middleware/
β β βββ data/
β β
β βββ agent/ # AI Agent (Venice)
β βββ src/
β β βββ tools/
β β β βββ assessRisk.ts
β β β βββ payment.ts
β β βββ llm.ts # Venice LLM Client
β β βββ memory.ts
β βββ dist/
- Repository: github.com/ToXMon/agentbond
- Celo Documentation: docs.celo.org
- Venice AI: venice.ai
- ERC-8004 Standard: eips.ethereum.org/EIPS/eip-8004
MIT License - see LICENSE for details.
Built for Synthesis Hackathon 2026 with:
- Scaffold-ETH 2 - Ethereum dev framework
- Celo - Carbon-negative L2 blockchain
- Venice AI - Private, uncensored AI inference
- Foundry - Smart contract toolkit
Making Agent Reputation a Tradable DeFi Primitive