Enigma Docs
The trust and reputation layer for autonomous AI agents on Avalanche. Learn how scores are calculated, how the registry works, and how to use the API.
Introduction
Enigma is an on-chain reputation system for autonomous AI agents deployed on the Avalanche C-Chain. It indexes agents registered under the ERC-8004 standard, computes a deterministic trust score for each one, and exposes the data through a REST API and a visual scanner interface.
Every agent gets a score from 0 to 100 based on five weighted signals: on-chain verification, community ratings, activity history, report history, and longevity. Scores are recalculated automatically every 3 hours.
Live
Agents indexed
3 h
Score refresh
Avalanche C-Chain
Network
Quick Start
1. Browse the Scanner
Go to /scanner/agents to see all indexed agents. Use the filters on the right to narrow by type, status, or minimum trust score. Click any row to open the agent profile.
2. Read an Agent Profile
Each agent profile shows: identity (name, address, avatar), trust score with a trend sparkline, full metadata from the on-chain tokenURI, and a trust history chart. The Trust Graph tab shows relationships with other agents.
3. Use the API
All data is available via REST. No API key is needed for read-only access.
# List top agents by trust score
curl https://enigma.avax.network/api/v1/agents?sortBy=trust_score&sortOrder=desc&limit=10
# Get a specific agent
curl https://enigma.avax.network/api/v1/agents/0xABCDEF…The API base URL is /api/v1. All responses follow the shape { data, error, meta }. See the full API reference for all endpoints and parameters.
Register Your Agent
Ready to get your AI agent on-chain? Follow these steps to register your agent on the Enigma platform and start building trust with the community.
Step 1: Prepare Your Metadata
Create a JSON file with your agent's metadata. Host it on a publicly accessible URL (IPFS, your own server, or any CDN). This will be your tokenURI.
{
"name": "My Awesome Agent",
"description": "An AI agent that helps with trading strategies.",
"image": "https://your-domain.com/agent-avatar.png",
"type": "TRADING",
"services": [
{ "name": "mcp", "endpoint": "https://your-domain.com/mcp" },
{ "name": "a2a", "endpoint": "https://your-domain.com/a2a" }
]
}Step 2: Connect Your Wallet
Go to the Register page and connect your wallet. You'll need some AVAX for the transaction gas fee.
Step 3: Submit Registration
Enter your agent's contract address and metadata URI, select the agent type, and submit the transaction. The registration will be processed on-chain immediately.
Step 4: Wait for Indexing
Enigma's indexer runs every 3 hours. Once your agent is indexed, it will appear in the scanner with a PENDING status. The trust score will be calculated in the next cycle.
After registration, your agent will automatically receive trust score updates based on on-chain activity, community ratings, and verification status.
Trust Score System
The trust score is a weighted aggregate of five independent signals, each normalized to a 0–100 range before weighting. The final score is always an integer between 0 and 100.
Score Tiers
Agent Statuses
Status is separate from the numeric score. An agent can have a high score and still be FLAGGED if a manual review is pending.
ERC-8004 Agent Registry
ERC-8004 is a token standard for registering autonomous AI agents on EVM chains. Each agent is minted as an NFT on the Avalanche C-Chain registry contract. The token's tokenURI resolves to a JSON blob describing the agent's identity, services, and capabilities.
Enigma listens to Transfer events on the registry contract and automatically indexes any newly minted agent within the next indexer cycle (up to 3 hours).
Registering an Agent
Call register(tokenURI) on the ERC-8004 registry contract with your agent's metadata URI. The URI should point to a publicly accessible JSON document that follows the metadata schema described in the next section. Once indexed, your agent will appear in the scanner with a PENDING status until the trust score is calculated.
// Minimal ERC-8004 registration (Solidity)
IAgentRegistry registry = IAgentRegistry(0x...);
string memory uri = "https://your-agent.example.com/metadata.json";
uint256 tokenId = registry.register(uri);Agent Metadata
When the indexer fetches a tokenURI, it expects a JSON object with the following structure. All fields are optional except name.
{
"name": "My Agent",
"description": "Brief description of what this agent does.",
"image": "https://…/avatar.png",
"type": "TRADING",
"services": [
{ "name": "mcp", "endpoint": "https://…/mcp", "version": "1.0" },
{ "name": "a2a", "endpoint": "https://…/a2a" },
{ "name": "web", "endpoint": "https://…" },
{ "name": "oasf", "endpoint": "https://…/oasf" }
],
"x402Support": true,
"active": true,
"supportedTrust": ["eip-7702", "erc-8004"],
"registrations": [
{ "agentId": 1, "agentRegistry": "0x…" }
]
}Service Tags
The services[].name field drives the colored badges shown in the scanner. Recognized values:
Model Context Protocol
Agent-to-Agent
Web / HTTP endpoint
Open Agent Standard
The image URL must be publicly reachable. Enigma does not cache images — the browser fetches them directly from your server. Use HTTPS and CORS-permissive headers.
API Reference
The Enigma REST API is available at /api/v1. No authentication is required for read endpoints. All responses use the envelope format below.
// Success
{ "data": { … }, "error": null, "meta": { "page": 1, "total": 42, … } }
// Error
{ "data": null, "error": { "message": "Not found", "code": "NOT_FOUND" } }Core Endpoints
/api/v1/agentsList all agents. Supports: type, status, minTrustScore, search, sortBy, sortOrder, page, limit.
/api/v1/agents/:addressFull agent profile including metadata, trust breakdown, and recent activity.
/api/v1/agents/:address/trust-historyHistorical trust score data for charting (30 day window by default).
/api/v1/agents/sparklinesBatch sparkline data for multiple agents. Pass addresses[] in query string.
/api/v1/agents/activityRecent on-chain activity events across all agents.