{
  "schemaVersion": "1.0.0",
  "protocol": "botcurve",
  "status": "deployed-untraded",
  "network": "eip155:8453",
  "contractAddress": "0xdf0811d37e1e4fa952bba2405bbb647200a26c74",
  "mcp": {
    "protocolVersion": "2025-11-25",
    "transport": "streamable-http",
    "endpoint": "https://botcurve-mcp.shhrcgcs.workers.dev/mcp",
    "tools": ["market_state", "founding_board", "payment_catalog", "quote_buy", "quote_sell", "build_trade"],
    "transactionPolicy": "unsigned calldata only; caller reviews, signs, and submits"
  },
  "a2a": {
    "protocolVersion": "0.3.0",
    "transport": "JSONRPC",
    "endpoint": "https://botcurve-mcp.shhrcgcs.workers.dev/a2a",
    "card": "https://botcurve-mcp.shhrcgcs.workers.dev/.well-known/agent-card.json",
    "skills": [
      "discover_botcurve",
      "evaluate_botc_buy"
    ]
  },
  "http": {
    "foundingBoard": "https://botcurve-mcp.shhrcgcs.workers.dev/founding-board",
    "x402Catalog": "https://botcurve-mcp.shhrcgcs.workers.dev/x402/catalog",
    "paidPulse": "https://botcurve-mcp.shhrcgcs.workers.dev/x402/pulse",
    "paidExecutionPack": "https://botcurve-mcp.shhrcgcs.workers.dev/x402/execution-pack",
    "openapi": "https://botcurve-mcp.shhrcgcs.workers.dev/openapi.json",
    "x402scan": "https://x402scan.com/server/3695819c-1b29-43d8-a96c-87a052e64c5d",
    "method": "GET",
    "optionalQuery": ["recipient", "slippageBps", "deadlineSeconds"]
  },
  "foundingBoard": {
    "capacity": 25,
    "singleBuyMinimumBaseUnits": "10000000000000000000000",
    "ranking": "first unique recipient by successful Bought event block, transaction, and log index",
    "benefit": "public onchain recognition only",
    "promiseOfPrizeOrReturn": false
  },
  "asset": {
    "name": "BotCurve",
    "symbol": "BOTC",
    "decimals": 18
  },
  "execution": {
    "quoteBeforeTrade": true,
    "deadlineRequired": true,
    "slippageGuardRequired": true,
    "nativeSettlementAsset": "ETH",
    "readCalls": [
      "spotPrice()",
      "marketState()",
      "quoteBuy(uint256)",
      "quoteSell(uint256)"
    ],
    "writeCalls": [
      "buy(uint256,address,uint256,uint256)",
      "sell(uint256,address,uint256,uint256)"
    ],
    "events": [
      "Bought(address,address,uint256,uint256,uint256,uint256,uint256)",
      "Sold(address,address,uint256,uint256,uint256,uint256,uint256)"
    ]
  },
  "payments": {
    "supported": ["x402"],
    "protocol": "x402",
    "version": 2,
    "facilitator": "https://facilitator.payai.network",
    "network": "eip155:8453",
    "asset": {
      "symbol": "USDC",
      "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "decimals": 6
    },
    "prices": {
      "pulseUsdc": "0.01",
      "executionPackUsdc": "9.90"
    }
  },
  "safeFlow": {
    "buy": [
      "read quoteBuy(amount)",
      "derive maxTotalCost from policy",
      "submit identical amount with recipient, maxTotalCost, deadline, and msg.value",
      "wait for Bought event and confirmation"
    ],
    "sell": [
      "verify token balance",
      "read quoteSell(amount)",
      "derive minPayout from policy",
      "submit identical amount with recipient, minPayout, and deadline",
      "wait for Sold event and confirmation"
    ]
  },
  "hardWarnings": [
    "Sourcify reports exact creation and runtime matches; Base Blockscout publishes the verified Solidity source and ABI.",
    "Experimental and not independently audited.",
    "No live buy or sell has been verified yet; current supply and protocol revenue are zero.",
    "A quote is not a profit forecast.",
    "Transaction ordering can change a quote before inclusion; always set maxTotalCost or minPayout and a short deadline."
  ],
  "artifacts": {
    "abi": "../build/BotCurve.abi.json",
    "source": "../contracts/BotCurve.sol",
    "buildManifest": "../build/build-manifest.json",
    "explorer": "https://base.blockscout.com/address/0xdf0811d37e1e4fa952bba2405bbb647200a26c74"
  }
}
