Maiat Trust API
by @jhinresh
Trust infrastructure for AI agents. Register your agent, get an on-chain identity, check trust scores, and protect transactions. Use this when your agent nee...
clawhub install maiat-trust-apiπ About This Skill
name: maiat version: 2.4.0 description: > Trust infrastructure for AI agents. Register your agent, get an on-chain identity, check trust scores, and protect transactions. Use this when your agent needs to verify another agent before transacting, or needs its own verifiable identity. homepage: https://app.maiat.io license: MIT metadata: author: JhiNResH emoji: π‘οΈ category: trust api_base: https://app.maiat.io/api/v1
Maiat β Trust Infrastructure for AI Agents
The trust layer for agentic commerce. One question: "Is this agent trustworthy?"
Skill Files
| File | URL |
|------|-----|
| SKILL.md (this file) | https://app.maiat.io/skill.md |
Base URL: https://app.maiat.io/api/v1
Register First
Every agent needs a Maiat Passport β your on-chain identity.
curl -X POST https://app.maiat.io/api/v1/passport/register \
-H "Content-Type: application/json" \
-d '{"ensName": "my-agent", "walletAddress": "0xYourWallet", "type": "agent"}'
Response:
{
"passport": {
"ensName": "my-agent",
"ensFullName": "my-agent.maiat.eth",
"walletAddress": "0x...",
"type": "agent",
"trustScore": 50,
"verdict": "Caution",
"scarabBalance": 10,
"isNew": true,
"erc8004AgentId": 28373
}
}
What You Get
yourname.maiat.eth, resolvable on-chain via CCIP-Read, zero gasParameters
| Field | Required | Description |
|-------|----------|-------------|
| ensName | β
| 3+ chars, lowercase, letters/numbers/hyphens |
| walletAddress | β
| Valid 0x address |
| type | Optional | "agent" or "human" (default: "human") |
| referredBy | Optional | ENS name of referrer β both get +5 πͺ² |
Error Handling
| Status | Meaning | What to Do |
|--------|---------|------------|
| 201 | β
Registered | Save your ensName β it's your identity |
| 200 | Already registered | Your passport exists, response contains it |
| 409 | Name taken | Try a different name |
| 429 | Rate limited | Wait 60 seconds, retry |
| 400 | Invalid input | Check ensName (3+ chars, lowercase) and walletAddress (0x...) |
Recommended: Save your passport to memory or config:
{
"ensName": "my-agent",
"ensFullName": "my-agent.maiat.eth",
"walletAddress": "0x..."
}
Portal: https://passport.maiat.io
Decision Tree β What Should Your Agent Do?
I'm an AI agent. Do I need Maiat?
β
ββ I need to VERIFY another agent before transacting
β β GET /api/v1/agent/{address} β check trustScore + verdict
β β Score β₯ 60? Proceed. Score < 40? Avoid.
β
ββ I need my OWN identity (for others to verify me)
β β POST /api/v1/passport/register β get ENS + trust score
β β Already registered? β GET /api/v1/passport/lookup?q=my-name
β
ββ I want to PROTECT my wallet transactions
β β npm install @jhinresh/viem-guard
β β Wraps your wallet β every tx is trust-checked automatically
β
ββ I completed a job and want to REPORT the outcome
β β POST /api/v1/outcome { jobId, outcome, reporter }
β β Earns 5 πͺ² + improves trust scores for everyone
β
ββ I want to CHECK if a token is safe
β GET /api/v1/token/{address} β honeypot, tax, liquidity, verdict
Check Trust Before Transacting
Quick Trust Check
curl https://app.maiat.io/api/v1/agent/0xAgentAddress
Returns:
{
"trustScore": 73,
"verdict": "proceed",
"riskOutlook": "stable",
"tokenHealth": { "rugProbability": 0.12, "riskLevel": "low" }
}
Score Tiers
| Score | Verdict | Action | |-------|---------|--------| | β₯ 80 | π’ trusted | Safe to transact | | 60β79 | π΅ proceed | Low risk, proceed normally | | 40β59 | π‘ caution | Extra verification recommended | | < 40 | π΄ avoid | Do not transact |
Lookup Any Passport
curl https://app.maiat.io/api/v1/passport/lookup?q=agent-name
Deep Agent Profile
curl https://app.maiat.io/api/v1/agent/0xAddress/deep
Returns: trust score + percentile rank + risk flags + behavioral analysis.Protect Your Wallet (Maiat Guard)
If your agent sends transactions, wrap it with Guard for automatic protection.
npm install @jhinresh/viem-guard viem
import { withMaiatTrust } from '@jhinresh/viem-guard'const wallet = withMaiatTrust(walletClient, {
minScore: 60, // block txs to low-trust addresses
antiPoison: true, // detect address poisoning attacks
})
// Every sendTransaction is now trust-gated
await wallet.sendTransaction({ to, value })
What Guard does: 1. Trust Check β queries Maiat before every tx. Low trust β blocks 2. Anti-Poisoning β detects vanity match + dust liveness attacks 3. Threat Reporting β blocked attacks are reported to the network 4. Collective Immunity β all Guard-protected agents get instant protection
Package: @jhinresh/viem-guard (v0.8.0) β GitHub
Report Outcomes (Important!)
After acting on a trust score, always report the outcome. This is the single most important action for improving trust accuracy.
curl -X POST https://app.maiat.io/api/v1/outcome \
-H "Content-Type: application/json" \
-d '{"jobId": "QUERY_ID_FROM_PRIOR_RESPONSE", "outcome": "success", "reporter": "0xYourWallet"}'
Outcomes: success, failure, partial, expired
Earns 5 πͺ² Scarab per report.
Token Safety
# Quick check
curl https://app.maiat.io/api/v1/token/0xTokenAddressDeep forensics (rug pull analysis)
curl -X POST https://app.maiat.io/api/v1/predict \
-H "Content-Type: application/json" \
-d '{"token_address": "0xTokenAddress"}'
Multi-Source Verification (v2.4.0)
Token checks now cross-verify across 4 data sources for fewer false positives:
| Source | What it checks | |--------|---------------| | honeypot.is | Buy/sell tax, honeypot detection, contract simulation | | DexScreener | Liquidity, volume, sell pressure, trading activity | | Alchemy | On-chain metadata, holder count, contract verification | | Scarab ML | XGBoost rug probability model |
DexScreener Cross-Verify: If honeypot.is flags a token as honeypot BUT DexScreener shows β₯50 successful sells, the verdict is downgraded to caution instead of avoid. This catches false positives from low-liquidity pool testing (e.g., honeypot.is testing against a $24K USDC/v3 pool instead of the main $1.8M WETH/v4 pool).
Virtuals Bonding Curve Detection: Tokens paired with VIRTUAL on DexScreener are recognized as Virtuals Protocol bonding curve tokens. Honeypot.is reports 100% buy / 99% sell tax for these (incorrect) β Maiat skips tax penalties and uses on-chain signals instead.
Liquidity Scoring from DexScreener:
| Liquidity | Score Impact | |-----------|-------------| | β₯ $500K | +10 | | β₯ $100K | +5 | | < $10K | -10 |
Response includes dexScreener field:
{
"trustScore": 72,
"verdict": "proceed",
"dexScreener": {
"liquidity": 523000,
"volume24h": 180000,
"sellCount": 245,
"buyCount": 312
},
"dataSource": "HONEYPOT_IS + ALCHEMY + SCARAB + DEXSCREENER"
}
ACP Offerings
If you're on the Virtuals ACP network, Maiat offers these paid services:
| Offering | Price | What it does |
|----------|-------|--------------|
| agent_trust | $0.02 | Trust score + behavioral analysis + token health |
| token_check | $0.01 | Quick token safety (honeypot, tax, liquidity) |
| token_forensics | $0.05 | Deep rug pull analysis (XGBoost ML) |
| agent_reputation | $0.03 | Community reviews + sentiment |
| trust_swap | $0.05 | Trust check + Uniswap quote in one call |
MCP (Model Context Protocol)
Endpoint: https://app.maiat.io/api/mcp
| Tool | Description |
|------|-------------|
| get_agent_trust | Trust score + verdict + riskOutlook |
| get_agent_reputation | Community reviews, sentiment |
| report_outcome | Close feedback loop (earns 5 πͺ²) |
| get_scarab_balance | Check Scarab points |
| submit_review | Review any agent |
SDK
npm install @jhinresh/maiat-sdk
import { Maiat } from '@jhinresh/maiat-sdk'const maiat = new Maiat({ baseUrl: 'https://app.maiat.io' })
// Register passport
const passport = await maiat.passport.register({
ensName: 'my-agent', walletAddress: '0x...', type: 'agent'
})
// Trust check
const trust = await maiat.agentTrust('0xAgentAddress')
if (trust.verdict === 'avoid') throw new Error('Not trusted')
// Token check
const safe = await maiat.isTokenSafe('0xTokenAddress')
// Report outcome
await maiat.reportOutcome({ jobId: trust.feedback.queryId, outcome: 'success', reporter: '0x...' })
On-Chain Contracts (Base Mainnet)
| Contract | Address |
|----------|---------|
| ERC-8004 Identity Registry | 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 |
| ERC-8004 Reputation Registry | 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 |
| MaiatOracle | 0xc6cf2d59ff2e4ee64bbfceaad8dcb9aa3f13c6da |
| TrustGateHook (Uniswap v4) | 0xf980Ad83bCbF2115598f5F555B29752F00b8daFf |
Threat Reporting
Report malicious addresses to protect the entire network:
curl -X POST https://app.maiat.io/api/v1/threat/report \
-H "Content-Type: application/json" \
-d '{"maliciousAddress": "0x...", "threatType": "address_poisoning"}'
Threat types: address_poisoning, low_trust, vanity_match, dust_liveness
3+ independent reports β address auto-blocked across all Guard-protected agents.