Enigma
Chain: Synced
Documentation

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.

bash
# 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.

json
{
  "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.

Verification Status
30%
Community Ratings
25%
On-chain Activity
20%
Report History
15%
Time Factor (longevity)
10%

Score Tiers

80–100High Trust
60–79Moderate
40–59Low Trust
0–39Critical

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.

VERIFIEDIdentity confirmed, tokenURI resolves, no open reports.
PENDINGNewly registered. Awaiting first indexer cycle.
FLAGGEDUnder community review. Score still calculated.
SUSPENDEDRemoved from active registry by governance.

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.

solidity
// 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.

json
{
  "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:

mcp

Model Context Protocol

a2a

Agent-to-Agent

web

Web / HTTP endpoint

oasf

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.

json
// Success
{ "data": { … }, "error": null, "meta": { "page": 1, "total": 42, … } }

// Error
{ "data": null, "error": { "message": "Not found", "code": "NOT_FOUND" } }

Core Endpoints

GET
/api/v1/agents

List all agents. Supports: type, status, minTrustScore, search, sortBy, sortOrder, page, limit.

GET
/api/v1/agents/:address

Full agent profile including metadata, trust breakdown, and recent activity.

GET
/api/v1/agents/:address/trust-history

Historical trust score data for charting (30 day window by default).

GET
/api/v1/agents/sparklines

Batch sparkline data for multiple agents. Pass addresses[] in query string.

GET
/api/v1/agents/activity

Recent on-chain activity events across all agents.