{
  "schemaVersion": "0.1",
  "name": "MindYield",
  "description": "No-loss yield protocol on Base. Principal is always returned; only DeFi-generated yield is distributed as contest prizes, lottery jackpots, and yield-prediction-market payouts.",
  "url": "https://mindyield.io",
  "documentationUrl": "https://mindyield.io/llms.txt",
  "termsOfServiceUrl": "https://mindyield.io/whitepaper",
  "contact": {
    "email": "support@mindyield.io"
  },
  "chains": [
    {
      "name": "Base",
      "chainId": 8453,
      "rpc": "https://base-rpc.publicnode.com",
      "rpcFallback": "https://base.llamarpc.com",
      "explorer": "https://basescan.org"
    }
  ],
  "products": [
    {
      "id": "auto-yield",
      "name": "Auto-Yield Vaults",
      "description": "ERC-4626-style vaults that auto-route deposits across Aave V3, Compound V3, and Morpho to chase the highest APY. 2% performance fee on yield only.",
      "url": "https://mindyield.io/earn",
      "contracts": {
        "AutoYieldVault_USDC": "0x20bCBDA9755512d46802174668b34DbC6f357a40",
        "AaveStrategy": "0xf8703c827AF900968e896b29D3550569E6dEae87",
        "CompoundV3Strategy": "0x989A62637e8D19Fbdf163369407048c1c0E5BD21",
        "MorphoStrategy": "0x83d5c4adc546697c9e7Dc74289fA95efb7BE6fD6",
        "YieldOptimizer": "0xc62CACA6402A1c698aCf4f9D1F4E8Cd7D4Ae50F5"
      }
    },
    {
      "id": "contests",
      "name": "No-Loss Contests",
      "description": "VOTE / RANK / RATE / PAIRWISE contests where deposits earn yield in a YieldVault; the yield becomes the prize pool. Principal is always refundable.",
      "url": "https://mindyield.io/explore",
      "contracts": {
        "ContestFactoryV2": "0x6e8fb429a6cf76d526e94bdf14e71eb6a54586a4"
      }
    },
    {
      "id": "lottery",
      "name": "No-Loss Lottery",
      "description": "Weekly + monthly jackpots backed by yield. Winners drawn via Chainlink VRF. Principal always returned.",
      "url": "https://mindyield.io/lottery",
      "contracts": {
        "NoLossLotteryV3_Weekly": "0xD3049097FB5653129abD83D6c890F3e2Cea45be7",
        "NoLossLotteryV3_Monthly": "0x8Caa6D5082Ed0694d69dcb9aE60D4DE43D164ad4"
      }
    },
    {
      "id": "markets",
      "name": "Yield Prediction Markets",
      "description": "AMM-style YES/NO pools mirroring Polymarket events. Yield routed through PVAutoYieldAdapter; outcomes posted by PolymarketRelayResolver.",
      "url": "https://mindyield.io/markets",
      "contracts": {
        "ProbabilityVaultFactory": "0xB2af26B889618a4Dd2A8c608c05D7f09d7492b7a",
        "ProbabilityVaultImpl": "0xC21c19853b956562df00414c4D35c5d037b675c3",
        "PVAutoYieldAdapter": "0xAAA44960432981d6F41FAf7356a0c383F9232913",
        "PolymarketRelayResolver": "0x81dd14c91fa7bff898070eaf0afc6323f5a1823c"
      }
    }
  ],
  "governance": {
    "model": "TimelockController + pause-only Guardian",
    "delaySeconds": 172800,
    "contracts": {
      "Timelock": "0x03DA5EEdDCf6364Aaa20dc07c51687a9591d9d53",
      "Guardian": "0x807AE17d48699861e678259d391255f68Fe176a5",
      "GuardianMultisig": "0x6D4c7B73cF66E2e161de0fa5117b8DA21b3a1F68"
    }
  },
  "api": {
    "baseUrl": "https://mindyield.io/api",
    "openapi": null,
    "openapiNote": "OpenAPI spec is not currently exposed in production. Contact support@mindyield.io for integration support.",
    "auth": [
      {
        "type": "none",
        "description": "Public read endpoints listed under endpoints.public require no auth."
      },
      {
        "type": "apiKey",
        "header": "X-API-Key",
        "description": "Scoped agent API keys grant access to /api/agent/* with relaxed rate limits. Issued in-app once SIWE-authenticated, or via support@mindyield.io."
      },
      {
        "type": "siwe",
        "description": "Sign-In With Ethereum for user-authenticated routes. Token issued as a 7-day JWT."
      }
    ],
    "endpoints": {
      "public": [
        { "method": "GET", "path": "/api/contests", "description": "List active and historical contests." },
        { "method": "GET", "path": "/api/contests/:id", "description": "Contest detail." },
        { "method": "GET", "path": "/api/contests/address/:address", "description": "Contest by on-chain address." },
        { "method": "GET", "path": "/api/contests/:id/participants", "description": "Active depositor list." },
        { "method": "GET", "path": "/api/contests/:id/winners", "description": "Winners + payouts (after finalization)." },
        { "method": "GET", "path": "/api/probability-vaults", "description": "List yield prediction markets." },
        { "method": "GET", "path": "/api/probability-vaults/:id", "description": "Market detail." },
        { "method": "GET", "path": "/api/probability-vaults/:id/swaps", "description": "Swap activity for a market." },
        { "method": "GET", "path": "/api/stats", "description": "Protocol-wide aggregate stats." },
        { "method": "GET", "path": "/api/activity", "description": "Recent on-chain activity feed." },
        { "method": "GET", "path": "/api/profiles/:address", "description": "Public profile by EVM address." },
        { "method": "GET", "path": "/api/profiles/leaderboard", "description": "Leaderboard." }
      ],
      "agentScoped": [
        { "method": "GET", "path": "/api/agent/probability-vaults", "scope": "agent:markets:read" },
        { "method": "GET", "path": "/api/agent/mirror-contests", "scope": "agent:contests:read" },
        { "method": "GET", "path": "/api/agent/verification", "scope": "agent:verification:read" }
      ]
    }
  },
  "interop": {
    "x402": {
      "role": "buyer",
      "description": "MindYield consumes Anthropic's reference Einstein agent over x402 for AI-judged contests and integrity scans. Selling-side x402 endpoints are not yet exposed."
    },
    "erc8004": {
      "supported": false,
      "rationale": "x402 + ElizaOS covers the current agent commerce surface. ERC-8004 trustless agent identity is on the roadmap; see docs/AGENT_STANDARDS.md."
    },
    "farcasterFrames": {
      "supported": false,
      "status": "planned"
    }
  },
  "fees": {
    "model": "yield-only",
    "defaultBps": 200,
    "caps": {
      "contestsBps": 500,
      "lotteryBps": 500,
      "predictionMarketsBps": 500,
      "autoYieldPerformanceBps": 1000,
      "autoYieldManagementBps": 0
    },
    "principalFee": false
  },
  "tiers": [
    { "level": 0, "name": "Anon", "description": "Default for unauthenticated and on-chain-only users." },
    { "level": 1, "name": "Verified" },
    { "level": 2, "name": "Trusted", "description": "Required to generate referral codes." },
    { "level": 3, "name": "Established" },
    { "level": 4, "name": "Elite" },
    { "level": 5, "name": "Legendary" }
  ],
  "rateLimits": {
    "anonymous": "60 requests/minute",
    "agentApiKey": "600 requests/minute (default — varies by scope)"
  }
}
