IRIS is an end-to-end system for deploying verifiable, paid, and reputation-aware AI agents onchain.
It consists of two products in one monorepo:
Everything a developer needs to create, register, pay, and score onchain AI agents.
A fully working demo app that showcases how any builder can use the SDK in their own dApps.
IRIS is designed for builders, protocols, and AI-native applications looking to adopt ERC-8004 and bring agents onchain.
IRIS builds real onchain agent infrastructure, not just a UI demo.
Agents receive a provable, verifiable onchain identity.
Every agent is assigned a secure identity packet using crypto primitives.
Agent metadata, prompts, and reviews are persisted on decentralized storage.
Users can hire agents, receive invoices, and pay them using provable logs.
Submitting a review triggers a Chainlink Function that:
- Fetches review data from 0G
- Verifies the identity of the reviewer
- Normalizes scoring
- Aggregates reputation history
- Writes an updated trust score onchain
This gives AI agents a decentralized, tamper-resistant reputation system.
The SDK is the engine. The UI is the reference implementation.
Together they form a complete agent economy.
Most projects create interfaces for AI agents. IRIS creates infrastructure.
IRIS is:
Used by the demo app AND usable by any external developer.
Agents have identity → storage → registry → payments → reviews → reputation.
Uses ERC-8004, x402, 0G, Chainlink, and Ethereum together.
Reputation and scoring update with no human involvement.
IRIS is built to scale beyond the hackathon.
root/
│
├── iris-sdk/ # Full TypeScript SDK
│ ├── src/
│ │ ├── core/
│ │ ├── modules/
│ │ │ ├── identity/ # Identity packets: sign + hash
│ │ │ ├── storage/ # 0G upload/download
│ │ │ ├── registry/ # ERC-8004 agent registration
│ │ │ ├── payments/ # x402 invoices + payments + logs
│ │ │ ├── reputation/ # Chainlink reputation engine
│ │ │ │ ├── reputation.ts # Main scoring logic
│ │ │ │ ├── chainlink.ts # Chainlink Functions call
│ │ │ │ ├── identity.ts # Internal identity helpers
│ │ │ │ ├── storage.ts # Internal 0G helpers
│ │ │ │ └── types.ts
│ │ ├── utils/
│ │ └── types/
│ │
│ ├── tests/ # Unit + integration tests
│ └── scripts/ # Manual agent lifecycle runners
│
└── iris/ # Front-end app using the SDK
├── app/
├── components/
├── lib/iris-sdk/
└── package.json
identity.createPacket()
→ hashes + signs metadata
→ prepares ERC-8004 registration payload
→ stores metadata reference
storage.upload()
→ agent metadata / prompts uploaded
→ returns a permanent CID-like reference
registry.registerAgent()
→ combines identity packet + storage reference
→ stores agent identity onchain
→ emits registration events
x402.createInvoice() → invoice
x402.pay() → transaction log + proof
→ emits x402 payment events
reputation.submitReview()
→ stores review on 0G
→ calls Chainlink Function
→ Chainlink aggregates all scores
→ IRIS writes updated score onchain
This is a fully verifiable loop for agent trust and income.
User
│
▼
┌────────────────┐ create packet ┌────────────────┐
│ Identity Mod │ ─────────────────────► │ 0G Storage │
└────────────────┘ └────────────────┘
│ │
▼ │
┌────────────────┐ register (ERC-8004) ┌────────────────────────┐
│ Registry Mod │──────────────────────►│ Agent Registry (L2) │
└────────────────┘ └────────────────────────┘
│
▼
┌────────────────┐ create invoice/pay ┌────────────────────────┐
│ x402 Payments │──────────────────────►│ x402 Payment Logs │
└────────────────┘ └────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────┐
│ Reputation Module │
│ • identity validation │
│ • 0G review storage │
│ • Chainlink Functions scoring │
└──────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────┐
│ Updated Onchain Reputation │
└─────────────────────────────┘
import { IrisClient } from "iris-sdk";
const iris = new IrisClient({
chainId: 8453, // Base
});
// 1. Create identity packet
const packet = await iris.identity.createPacket({
name: "Research Agent",
capabilities: ["analysis", "search"],
});
// 2. Upload to 0G
const storageRef = await iris.storage.upload(packet);
// 3. Register agent
await iris.registry.registerAgent({
packet,
storageRef,
});
// 4. Create invoice + pay
const invoice = await iris.x402.createInvoice({ amount: "0.01" });
await iris.x402.pay(invoice);
// 5. Review agent → triggers Chainlink reputation update
await iris.reputation.submitReview({
agentId: packet.agentId,
rating: 5,
comment: "Exceptional work",
});cd iris
npm install
npm run devcd iris-sdk
npm test- IRIS integrates four protocols into a single seamless agent lifecycle
- The SDK is real and reusable by any team
- The UI is fully powered by the SDK, proving integration correctness
- Chainlink Functions provide trustless scoring automation
- x402 enables real agent payments
- 0G powers agent metadata and review storage
- ERC-8004 ensures verifiable identity
IRIS is built to accelerate the adoption of:
- Autonomous AI agents
- Onchain verification
- Decentralized payments
- Open reputation systems
- Modular agent infrastructure
We believe the future of AI will be onchain, transparent, and economically coordinated.
IRIS is our first step towards that future.