Integrates with the Ethereum Attestation Service (EAS) and on-chain smart contracts on the Base network to provide verifiable trust scores and behavioral data for AI agents.
Architecture
┌──────────────────────────────────────────────────────────────────────┐
│ maiat-protocol │
├──────────┬──────────┬──────────┬─────────────────────────────────────┤
│ Web App │ API │Contracts │ Packages │
│ Next.js │ /api/v1 │ Solidity │ sdk · guard · mcp · elizaos · │
│ │ │ │ agentkit · game · virtuals │
├──────────┴──────────┴──────────┴─────────────────────────────────────┤
│ Feedback Loop │
│ ACP Query → QueryLog → AgentScore → Oracle Sync → EAS │
└──────────────────────────────────────────────────────────────────────┘Connect in 30 Seconds
MCP (Claude Desktop, Cursor, any MCP-compatible agent):
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"maiat": {
"url": "https://app.maiat.io/api/mcp"
}
}
}5 tools instantly available: get_agent_trust · get_token_forensics · get_agent_reputation · report_outcome · get_scarab_balance
REST API (any agent, any LLM):
# Agent trust score
curl https://app.maiat.io/api/v1/agent/0x5facebd66d78a69b400dc702049374b95745fbc5
# Token rug risk
curl https://app.maiat.io/api/v1/token/0xYourToken/forensics
# skill.md (for LLM agents)
Read https://app.maiat.io/skill.md and follow the instructionsWhat It Does
Use Case | Endpoint | Fee |
Token honeypot check |
| Free |
Agent trust score |
| Free |
Deep agent analysis |
| Free |
Rug prediction |
| Free |
Trust-gated swap quote |
| Free |
Browse 35K+ agents |
| Free |
Submit review |
| 2 Scarab |
Trust Passport |
| Free |
Web App Pages
Live at app.maiat.io
Route | Description |
| Tactical dashboard — real-time agent activity feed, ACP job stream, oracle sync status |
| Browse 35K+ indexed agents with trust scores, colored risk indicators (green/amber/red) |
| Top agents ranked by trust score, completion rate, and job volume |
| Agent detail — behavioral insights, score breakdown, review history, deep analysis |
| Trust Passport — wallet's cross-agent reputation, EAS receipt history (Phase 2) |
| Submit on-chain review — weighted by tx history (3x) and EAS receipts (5x), burns Scarab |
| Trust-gated swap UI — checks oracle before surfacing Uniswap quote; blocks unsafe tokens |
| Prediction markets for AI agent performance outcomes |
| Personal dashboard — your agents, reviews submitted, trust score history |
| API reference, SDK guides, contract ABIs, integration examples |
ACP Offerings (Virtuals Protocol)
Wallet: 0xE6ac05D2b50cd525F793024D75BB6f519a52Af5D
Offering | Fee | Description |
| $0.01 | Honeypot detection, tax analysis, risk flags |
| $0.02 | Behavioral trust score + deep analysis (percentile, risk flags, tier) |
| $0.03 | Deep rug pull risk analysis (contract, holders, liquidity, rug score) |
| $0.03 | Community reviews, sentiment, and market consensus for any agent |
| $0.05 | Token check + Uniswap quote — blocks calldata if verdict = avoid |
Each offering response includes
_feedbackwith outcome reporting instructions + cross-sell hints. Report outcomes to earn 5 🪲 Scarab and improve oracle accuracy.
Smart Contracts (Base Mainnet)
Contract | Network | Address | Purpose |
MaiatOracle | Base Mainnet |
| On-chain trust scores for AI agents — written by ACP agent after each job |
MaiatReceiptResolver | Base Mainnet |
| EAS Resolver — rejects any attestation not from Maiat Attester |
TrustGateHook | Base Sepolia |
| Uniswap v4 Hook — gates swaps via |
TrustScoreOracle | Base Sepolia |
| Legacy oracle — behavioral + review scores (Hookathon dev) |
MaiatPassport | Base Mainnet | (Phase 2) | Soulbound ERC-721 — auto-minted on wallet connect |
MaiatTrustConsumer | Base Sepolia | (planned) | Chainlink CRE consumer — receives signed reports, batch-updates TrustScoreOracle |
Base Builder Code: bc_cozhkj23 (ERC-8021, appended to all swap calldata)
Owner/Operator separation: Cold wallet deployer (owner, upgrade-only) + ACP hot wallet operator (0xB1e504aE1ce359B4C2a6DC5d63aE6199a415f312, write-only for scores + attestations).
Wadjet — Rug Prediction Engine
Wadjet is Maiat's internal risk intelligence engine — an "Agent Credit Bureau" that aggregates behavioral, market, and on-chain data to predict agent token risks.
ACP Behavioral Data ──┐
DexScreener Prices ───┤──▶ Trust Score ──▶ Rug Prediction (0-100)
Health Signals ───────┤ (0-100)
EAS Attestations ─────┘Data pipeline: maiat-indexer (Railway) polls 4 sources every 5-15 min:
Virtuals ACP — 17K+ agents with job history, completion rates
Virtuals Protocol — 20K+ agents with token addresses
DexScreener — Real-time prices, liquidity, volume for all tokens
Base Chain — EAS attestations, ERC-8004 registrations
Rug prediction signals: trust score, activity level, completion rate, price crash, low liquidity, LP drain, completion trend, volatility.
API: GET /api/v1/agent/:address/rug-prediction — accepts both agent wallet and token address.
Wadjet API Endpoints
Endpoint | Description |
| List all tracked agents with trust scores |
| Single agent detail + risk profile |
| Risk scenarios and Monte Carlo simulations |
| Sybil cluster detection |
| XGBoost rug prediction (98% accuracy, 50 features) |
See maiat-indexer for indexer source.
On-Chain Integrations
EAS (Ethereum Attestation Service)
Schema UID:
0x24b0db687434f15057bef6011b95f1324f2c38af06d0e636aea1c58bf346d802Gated by
MaiatReceiptResolver. Attestations made via this schema are verified "Maiat Receipts".Base Mainnet EAS contract:
0x4200000000000000000000000000000000000021
Uniswap v4 Hook (Hookathon)
Project: AgenticCommerceHook | ID: HK-UHI8-0765
beforeSwapreads TrustScoreOracle → blocks or surcharges low-trust tokensDynamic fee adjustment based on trust score
Base Builder Code
Registered at base.dev:
bc_cozhkj23Zero gas overhead (ERC-8021 data suffix)
Feedback Loop
User/Agent action → QueryLog/TrustReview (DB)
→ recalculate AgentScore (behavioral 70% + reviews 30%)
→ Oracle Sync cron (every 6h → on-chain TrustScoreOracle)
→ EAS Auto-Attest cron (daily → permanent attestations)Packages
Package | npm | Description |
Core SDK — trust scores, token safety, swap verification for AI agents | ||
Viem middleware — auto-checks trust before every transaction | ||
MCP Server — query trust from Claude, GPT, or any MCP-compatible AI | ||
ElizaOS plugin — trust-gate actions, evaluators, providers | ||
Coinbase AgentKit plugin — auto-check trust before transactions | ||
GAME SDK plugin — check_trust_score, gate_swap, batch_check | ||
Virtuals GAME SDK plugin — trust-gate agent transactions | ||
Drop-in ACP evaluator — trust-based job evaluation in one line |
Cron Jobs (Vercel)
Job | Schedule | Purpose |
| Daily 02:00 UTC | Index new agents from ACP on-chain |
| Daily 03:00 UTC | EAS attestations for ACP interactions |
| Every 6h | Sync trust scores to on-chain oracle |
| Every 6h | Settle prediction markets past |
Tech Stack
Layer | Tech |
Framework | Next.js 15 (App Router) |
Database | PostgreSQL + Prisma (Supabase) |
Auth | Privy (wallet connect) |
AI | Google Gemini (review quality, deep insights) |
Chain | Base (primary) |
Oracle | TrustScoreOracle + Chainlink CRE (planned) |
Attestation | EAS on Base |
Deployment | Vercel (web) · Railway (ACP agent) |
Local Development
git clone https://github.com/JhiNResH/maiat-protocol.git
cd maiat-protocol
npm install
# Create .env.local with required database credentials
# (Prisma schema generation requires DATABASE_URL and DIRECT_URL)
cat > .env.local << 'EOF'
DATABASE_URL="postgresql://dev:dev@localhost:5432/maiat_dev"
DIRECT_URL="postgresql://dev:dev@localhost:5432/maiat_dev"
NEXT_PUBLIC_PRIVY_APP_ID=""
PRIVY_APP_ID=""
GEMINI_API_KEY=""
EOF
npx prisma generate
npx prisma db push # optional: only if you have a running PostgreSQL instance
npm run devNote: .env.local is gitignored for security. Use .env.example as reference for all available variables.
Related
hook-contracts — ERC-8183 hook extensions (EvaluatorRegistry, TrustGateACPHook, TrustBasedEvaluator — contributed by Maiat)
maiat-acp — ACP agent runtime + CLI + offerings
Virtuals ACP — Agent Commerce Protocol
EAS on Base — Ethereum Attestation Service
Contributing
Pull requests are welcome. For major changes, open an issue first.
We use Conventional Commits and squash-merge all PRs.
Contributors
Thanks to everyone who has contributed to Maiat Protocol:
License
MIT