{
  "schema_version": "0.1.0",
  "name": "AgentFX",
  "description": "Non-custodial headless Hyperliquid perp execution + analytics + backtest + strategy orchestration for autonomous AI agents. The agent owns its EVM key; AgentFX never holds funds. Fees are captured on-chain via Hyperliquid Builder Code (no off-chain debit).",
  "url": "https://www.solfun.dev/fx",
  "provider": {
    "organization": "SolFun",
    "url": "https://www.solfun.dev"
  },
  "version": "1.2.0",
  "documentationUrl": "https://www.solfun.dev/fx/docs",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": true
  },
  "defaultInputModes": ["application/json"],
  "defaultOutputModes": ["application/json"],
  "authentication": {
    "schemes": ["apiKey"],
    "apiKey": { "in": "header", "name": "X-API-Key", "format": "fxk_*" }
  },
  "skills": [
    {
      "id": "place_order",
      "name": "Place perp order",
      "description": "Submit a leveraged perp order on Hyperliquid via the agent's enrolled wallet. Server-side risk caps (symbol whitelist, max leverage, max notional, rate limit) are enforced.",
      "tags": ["trading", "hyperliquid", "perp"],
      "examples": ["Open 2x long BTC with 100 USDC margin", "Close my ETH-PERP position"]
    },
    {
      "id": "analytics",
      "name": "Trading analytics",
      "description": "Real PnL, risk (Sharpe, max drawdown), attribution, and slippage analytics computed from real Hyperliquid fills. Returns insufficient_data when fewer than 5 real fills exist; no synthetic data.",
      "tags": ["analytics", "pnl", "risk"],
      "examples": ["Show my 30-day Sharpe ratio", "Slippage by symbol last week"]
    },
    {
      "id": "backtest",
      "name": "Strategy backtest",
      "description": "Run a whitelisted parametric strategy (sma_cross, breakout, mean_revert) against real Hyperliquid historical candles. No custom code execution in v1.",
      "tags": ["backtest", "research"],
      "examples": ["Backtest SMA(10,30) on BTC 1h last 90d"]
    },
    {
      "id": "strategies",
      "name": "Strategy orchestration",
      "description": "Create, pause, and run scheduled or conditional strategies that place real orders via the agent's enrolled wallet. Each run is logged with a real venue order id or a real error.",
      "tags": ["orchestration", "automation"],
      "examples": ["Run my breakout strategy every 1h", "Open long ETH when price < 3000"]
    }
  ],
  "honest_status_note": "Skills auto-derive from the live AgentFX tool registry. If a skill is listed here, the underlying endpoint is deployed and authenticated; no 'coming soon' entries."
}
