{
  "protocolVersion": "0.3.0",
  "name": "Empire Builder",
  "description": "Agent interface for Empire Builder — community treasuries (ERC-4337 SmartVaults on Base 8453 and Arbitrum 42161) paired with an Empire ID identity. Agents can read empires, leaderboards, rewards, distributions, and airdrop totals over an MCP server or the documented REST API. Write operations (deploy, distribute, burn) are live on mainnet and require an API key plus an EIP-191 signature; see the documentationUrl skill for signing workflows.",
  "url": "https://www.empirebuilder.world/api/mcp",
  "preferredTransport": "JSONRPC",
  "additionalInterfaces": [
    {
      "transport": "JSONRPC",
      "url": "https://www.empirebuilder.world/api/mcp"
    },
    {
      "transport": "HTTP+JSON",
      "url": "https://www.empirebuilder.world/api"
    }
  ],
  "provider": {
    "organization": "Empire Builder",
    "url": "https://www.empirebuilder.world"
  },
  "version": "1.3.0",
  "documentationUrl": "https://www.empirebuilder.world/skill/SKILL.md",
  "iconUrl": "https://www.empirebuilder.world/eb.png",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": ["application/json", "text/plain"],
  "defaultOutputModes": ["application/json", "text/plain"],
  "securitySchemes": {
    "apiKey": {
      "type": "apiKey",
      "in": "header",
      "name": "x-api-key",
      "description": "Partner/read/write API key. Required for authenticated reads and all writes."
    }
  },
  "skills": [
    {
      "id": "read-empires",
      "name": "Read empires",
      "description": "List, search, and fetch empires by Empire ID or owner wallet, plus rankings. Resolves the on-chain SmartVault address (empire_address) from an Empire ID.",
      "tags": ["empires", "read", "treasury", "base", "arbitrum"],
      "examples": [
        "List the top empires by ranking.",
        "Get the empire for token 0x… and return its SmartVault address.",
        "Search empires for \"glanker\"."
      ]
    },
    {
      "id": "read-leaderboards",
      "name": "Read leaderboards",
      "description": "List the leaderboards configured for an empire and fetch a single leaderboard by id.",
      "tags": ["leaderboards", "read"],
      "examples": [
        "Show the leaderboards for empire 0x….",
        "Fetch leaderboard 42."
      ]
    },
    {
      "id": "read-rewards",
      "name": "Read rewards & distributions",
      "description": "Fetch reward totals, distribution records for a vault, recipients decoded from a distribution transaction, and the total airdropped across all empires.",
      "tags": ["rewards", "distributions", "airdrops", "read"],
      "examples": [
        "Get reward totals for empire 0x….",
        "List the recipients from distribution tx 0x….",
        "What is the total airdropped across all empires?"
      ]
    },
    {
      "id": "manage-empires",
      "name": "Deploy & operate empires (authenticated)",
      "description": "Deploy Clanker tokens and wire them to an Empire, create leaderboards and boosters, and run the prepare → owner-broadcast executeBatch → store distribution pipeline. Requires an API key and, for most writes, an EIP-191 signature from the vault owner(). Live on mainnet — documented in the skill, not exposed via the read-only MCP server.",
      "tags": ["write", "deploy", "distribute", "burn", "mainnet"],
      "examples": [
        "Walk the distribution prepare → executeBatch → store-distribution flow for leaderboard \"main\".",
        "Build curl skeletons for deploy-empire with an EIP-191 signature."
      ]
    }
  ]
}
