{
  "schema_version": "1.0",
  "name": "SSS Agent Kit",
  "project": "SSS DeFi",
  "network": "Internet Computer",
  "mode": "agent_ready_execution_layer_self_account_swap_v1_status_v1",
  "docs_url": "https://docs.sssdefi.ai/ai-agent-kit",
  "app_url": "https://app.sssdefi.ai",
  "core_canister_id": "dlhkk-raaaa-aaaak-qyl5a-cai",
  "core_candid_url": "https://a4gq6-oaaaa-aaaab-qaa4q-cai.raw.icp0.io/?id=dlhkk-raaaa-aaaak-qyl5a-cai",
  "hosted_ai_backend": false,
  "stores_user_llm_keys": false,
  "recommended_account_model": "dedicated_agent_principal_with_isolated_sss_balance",
  "actions": [
    {
      "name": "get_supported_actions",
      "method": "agent_get_supported_actions_v1",
      "kind": "query",
      "mutates_state": false,
      "available_v1": true
    },
    {
      "name": "get_market_context",
      "method": "agent_get_market_context_v1",
      "kind": "query",
      "mutates_state": false,
      "available_v1": true
    },
    {
      "name": "get_my_portfolio",
      "method": "agent_get_my_portfolio_v1",
      "kind": "query",
      "mutates_state": false,
      "available_v1": true
    },
    {
      "name": "get_action_status",
      "method": "agent_get_action_status_v1",
      "kind": "query",
      "mutates_state": false,
      "available_v1": true,
      "requires_client_tx_id": true,
      "account_scope": "caller_principal_only"
    },
    {
      "name": "list_my_actions",
      "method": "agent_list_my_actions_v1",
      "kind": "query",
      "mutates_state": false,
      "available_v1": true,
      "account_scope": "caller_principal_only",
      "supported_action_type_filters": [
        "swap",
        "all"
      ]
    },
    {
      "name": "preview_swap",
      "method": "agent_preview_swap_v1",
      "kind": "query",
      "mutates_state": false,
      "available_v1": true,
      "requires_preview_before_submit": false
    },
    {
      "name": "preview_limit_order",
      "method": "agent_preview_limit_order_v1",
      "kind": "query",
      "mutates_state": false,
      "available_v1": true,
      "requires_preview_before_submit": false
    },
    {
      "name": "submit_swap",
      "method": "agent_submit_swap_v1",
      "kind": "update",
      "mutates_state": true,
      "available_v1": true,
      "requires_preview_before_submit": true,
      "planned": false,
      "account_scope": "caller_principal_only",
      "requires_client_tx_id": true,
      "requires_amount_out_min": true
    },
    {
      "name": "submit_limit_order",
      "method": "agent_submit_limit_order_v1",
      "kind": "update",
      "mutates_state": true,
      "available_v1": false,
      "requires_preview_before_submit": true,
      "planned": true
    }
  ],
  "safety": {
    "withdrawals_enabled_for_agents_v1": false,
    "delegated_trading_enabled_v1": false,
    "requires_dedicated_agent_principal": true,
    "requires_client_tx_id_for_future_submit": false,
    "requires_slippage_limit_for_future_submit": true,
    "requires_user_or_policy_confirmation_for_future_submit": true,
    "requires_client_tx_id_for_swap_submit_v1": true,
    "requires_amount_out_min_for_swap_submit_v1": true,
    "supports_caller_owned_action_status_v1": true,
    "uses_existing_core_client_tx_for_status_v1": true
  },
  "agent_rules": [
    "Always call preview before agent_submit_swap_v1 and pass explicit amount_out_min.",
    "After submit, call agent_get_action_status_v1 or agent_list_my_actions_v1 to synchronize status/history.",
    "For cross-route plans involving ICP-route deposits or Ethereum withdrawal plans, use Intent Kit preview/build methods before any real wallet action.",
    "Do not withdraw through Agent Kit V1.2.",
    "Do not ask users for their main wallet PEM.",
    "Use a dedicated Agent Principal and isolated SSS balance.",
    "Explain fee, min-out, slippage, blocked_reason, and warnings before execution.",
    "Treat AI output as a draft. Core risk checks are the execution authority.",
    "agent_submit_swap_v1 can only trade the caller Agent Principal's own SSS internal balance."
  ],
  "examples": {
    "openclaw_quickstart_url": "https://docs.sssdefi.ai/ai/openclaw-skill/QUICKSTART.md",
    "openclaw_workflow_url": "https://docs.sssdefi.ai/ai/openclaw-skill/examples/openclaw-workflow.md",
    "swap_preview_candid_url": "https://docs.sssdefi.ai/ai/openclaw-skill/examples/swap-preview.candid",
    "swap_submit_candid_url": "https://docs.sssdefi.ai/ai/openclaw-skill/examples/swap-submit.candid",
    "repo_smoke_script": "scripts/ops/agent_kit/smoke_agent_kit_v1_2.sh",
    "intent_manifest_url": "https://docs.sssdefi.ai/intent-manifest.json",
    "intent_kit_docs_url": "https://docs.sssdefi.ai/intent-kit"
  },
  "related_manifests": {
    "intent_manifest_url": "https://docs.sssdefi.ai/intent-manifest.json",
    "intent_kit_docs_url": "https://docs.sssdefi.ai/intent-kit"
  }
}
