{"id":"cdc1a779-bfd8-40fc-b376-3c4386b77845","entityType":"agent","slug":"clawhub-parmasanandgarlic-farmdash-autonomous-operator","name":"FarmDash Autonomous Operator","canonicalUrl":"https://www.xpersona.co/agent/clawhub-parmasanandgarlic-farmdash-autonomous-operator","canonicalPath":"/agent/clawhub-parmasanandgarlic-farmdash-autonomous-operator","generatedAt":"2026-10-10T10:45:00.154Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T06:37:00.809Z","emptyReason":null},"description":"Use to run supervised autopilot cycles under a bounded, revocable session grant: intents, policy checks, approvals, receipts. Execution stays preview-gated. Skill: FarmDash Autonomous Operator Owner: parmasanandgarlic Summary: Use to run supervised autopilot cycles under a bounded, revocable session grant: intents, policy checks, approvals, receipts. Execution stays preview-gated. Tags: agent-memory:1.0.11, agent-orchestration:1.0.12, agent-recovery:1.0.11, agent-session:1.0.9, agent-sessions:1.0.13, agent-workflows:1.0.13, ai-agent:1.0.11, ai-agent-workflows:1.0.12, air","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.6K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s177a1xxprmvcbyygraxwvbf5s83qzs6:farmdash-autonomous-operator","sourceUrl":"https://clawhub.ai/parmasanandgarlic/farmdash-autonomous-operator","homepage":"https://clawhub.ai/parmasanandgarlic/skills/farmdash-autonomous-operator","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/parmasanandgarlic/farmdash-autonomous-operator","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/parmasanandgarlic/skills/farmdash-autonomous-operator","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":64,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Use to run supervised autopilot cycles under a bounded, revocable session grant: intents, policy checks, approvals, receipts. Execution stays preview-gated. Ski"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T06:37:00.809Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T06:37:00.809Z","emptyReason":null},"stars":null,"forks":null,"downloads":1614,"packageName":null,"latestVersion":"1.0.13","tractionLabel":"1.6K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T06:37:00.808Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T06:37:00.809Z","lastCrawledAt":"2026-10-10T06:37:00.808Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T06:37:00.808Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.13","createdAt":"2026-10-05T00:52:43.499Z","changelog":"FarmDash Autonomous Operator v1.0.13 - Removed the sample skill-card.md file for cleanup. - No feature or logic changes in this version.","fileCount":4,"zipByteSize":18890},{"version":"1.0.12","createdAt":"2026-09-26T08:51:57.392Z","changelog":"- Updated description for clarity and conciseness, emphasizing supervised autopilot cycles and execution gating. - Expanded tags for improved discoverability and thematic accuracy. - Incremented version from 2.1.1 to 2.1.2. - Removed the extraneous skill-card.md file. - No functional/endpoint changes; documentation was streamlined and some sections condensed.","fileCount":4,"zipByteSize":15484},{"version":"1.0.11","createdAt":"2026-09-06T11:01:07.780Z","changelog":"- Removed the skill-card.md file. - SKILL.md: Clarified distinctions between configuration, session tokens, and execution grants. - Updated documentation sections to further emphasize strict zero-custody boundaries and approval requirements. - Adjusted language to reduce possible confusion around capability enablement versus pricing. - Added explicit guidance for session heartbeat, data freshness, and safety checks before autonomous decisions.","fileCount":4,"zipByteSize":13160},{"version":"1.0.10","createdAt":"2026-08-04T04:27:12.558Z","changelog":"- Clarified zero-custody execution boundaries and added explicit session-key grant model for autonomous execution. - Updated tags and description to focus on autonomous DeFi agents, intent management, OODA loops, and risk controls. - Improved documentation of observed vs. inferred execution evidence; removed references to forensic/11-field receipt guarantees. - Revised agent activity and receipt documentation to avoid overstating fill, drift, or realized P&L if not present in returned data. - Removed the sample file skill-card.md for a cleaner repository structure.","fileCount":4,"zipByteSize":11221},{"version":"1.0.9","createdAt":"2026-06-28T01:18:20.147Z","changelog":"- Removed documentation file: skill-card.md. - No functional or code changes introduced; documentation only. - SKILL.md updated (minor metadata and wording tweaks, e.g., \"Forensic receipts\" capitalization). - No user-facing changes to APIs, behavior, or requirements.","fileCount":4,"zipByteSize":10042},{"version":"1.0.8","createdAt":"2026-06-26T04:24:31.017Z","changelog":"- Removed the file: skill-card.md - No changes to core functionality or features. - Documentation or presentation elements streamlined.","fileCount":4,"zipByteSize":10101},{"version":"1.0.7","createdAt":"2026-06-26T02:22:42.728Z","changelog":"Major v2.0 upgrade with OODA control loop, circuit breakers, and new monetization model. - Introduced OODA (Observe-Orient-Decide-Act) control loop for adaptive, responsive autonomous operation. - Added circuit breakers, crash recovery, dynamic risk autotuning, and Botlok forensic receipts for session security and auditability. - `autopilot_cycle` and advanced control tooling now gated for Syndicate ($199/mo) tier; manual orchestration remains available to all. - Expanded documentation with structured lifecycle, new advanced tools, and value-aligned monetization policies. - Removed obsolete docs file (skill-card.md).","fileCount":4,"zipByteSize":9907},{"version":"1.0.6","createdAt":"2026-06-01T05:47:37.258Z","changelog":"- Added explicit clarification that all state-changing executions require a separate approval and must be performed by dedicated skills (e.g., Signal Architect, Futures Strategist) using user-local signing. - Updated tool descriptions to specify that `resolve_defi_intent` and related actions only coordinate intent and session state, not direct on-chain execution. - Strengthened documentation of security and execution boundaries for all tools, emphasizing zero private key custody. - Removed the redundant skill-card.md file.","fileCount":4,"zipByteSize":5940}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s177a1xxprmvcbyygraxwvbf5s83qzs6:farmdash-autonomous-operator","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-autonomous-operator/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-autonomous-operator/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-autonomous-operator/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-autonomous-operator/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-autonomous-operator/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-autonomous-operator/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T10:45:00.150Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-autonomous-operator/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-autonomous-operator/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-autonomous-operator/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-autonomous-operator/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T06:37:00.809Z","emptyReason":null},"readme":"Skill: FarmDash Autonomous Operator\n\nOwner: parmasanandgarlic\n\nSummary: Use to run supervised autopilot cycles under a bounded, revocable session grant: intents, policy checks, approvals, receipts. Execution stays preview-gated.\n\nTags: agent-memory:1.0.11, agent-orchestration:1.0.12, agent-recovery:1.0.11, agent-session:1.0.9, agent-sessions:1.0.13, agent-workflows:1.0.13, ai-agent:1.0.11, ai-agent-workflows:1.0.12, airdrop-workflow:1.0.12, approval-workflows:1.0.13, asset-allowlists:1.0.13, automation:1.0.3, autonomous-agent:1.0.9, autonomous-agents:1.0.13, autonomous-defi-agent:1.0.11, autonomous-operator:1.0.9, autonomous-trading:1.0.11, autopilot:1.0.9, bounded-authority:1.0.13, bounded-delegation:1.0.13, circuit-breaker:1.0.11, clawhub:1.0.9, context:1.0.9, control-loop:1.0.9, crash-recovery:1.0.9, crypto:1.0.9, crypto-trading-bot:1.0.11, defi:1.0.12, defi ai-agent farmdash session-management mcp:1.0.1, defi-agents:1.0.13, defi-automation:1.0.11, defi-playbooks:1.0.12, defi-workflows:1.0.12, delegated-execution:1.0.11, delegation:1.0.9, erc-4337:1.0.6, event-stream:1.0.9, execution-preview:1.0.13, execution-receipts:1.0.13, farmdash:1.0.13, farming-context:1.0.9, forensics:1.0.9, gas-controls:1.0.13, heartbeat:1.0.6, intent-management:1.0.11, latest:1.0.13, local-signing:1.0.13, mcp:1.0.13, monetization:1.0.9, multi-agent-system:1.0.12, onchain:1.0.9, ooda-loop:1.0.11, openclaw:1.0.12, policy-enforcement:1.0.13, policy-gated:1.0.12, portfolio:1.0.3, preparation-only:1.0.13, quality-gates:1.0.12, redis-locks:1.0.6, revocable-authority:1.0.13, risk-controls:1.0.11, risk-guardrails:1.0.13, risk-management:1.0.12, router-allowlists:1.0.13, serverless-timeout:1.0.6, session:1.0.9, session-budgets:1.0.13, session-key:1.0.11, session-management:1.0.12, session-policy:1.0.13, shadow-mode:1.0.9, slippage-controls:1.0.13, state-machine:1.0.9, supervised-automation:1.0.12, supervised-autonomy:1.0.13, syndicate-tier:1.0.9, trading-session-manager:1.0.11, transaction-limits:1.0.13, transaction-preparation:1.0.13, unattended-defi:1.0.11, upstash:1.0.6, web3:1.0.12, workflow-automation:1.0.12, workflow-status:1.0.12, yield-farming:1.0.3, yield-farming-workflow:1.0.12, zero-custody:1.0.13\n\nVersion history:\n\nv1.0.13 | 2026-10-05T00:52:43.499Z | user\n\nFarmDash Autonomous Operator v1.0.13\n\n- Removed the sample skill-card.md file for cleanup.\n- No feature or logic changes in this version.\n\nv1.0.12 | 2026-09-26T08:51:57.392Z | user\n\n- Updated description for clarity and conciseness, emphasizing supervised autopilot cycles and execution gating.\n- Expanded tags for improved discoverability and thematic accuracy.\n- Incremented version from 2.1.1 to 2.1.2.\n- Removed the extraneous skill-card.md file. \n- No functional/endpoint changes; documentation was streamlined and some sections condensed.\n\nv1.0.11 | 2026-09-06T11:01:07.780Z | user\n\n- Removed the skill-card.md file.\n- SKILL.md: Clarified distinctions between configuration, session tokens, and execution grants.\n- Updated documentation sections to further emphasize strict zero-custody boundaries and approval requirements.\n- Adjusted language to reduce possible confusion around capability enablement versus pricing.\n- Added explicit guidance for session heartbeat, data freshness, and safety checks before autonomous decisions.\n\nv1.0.10 | 2026-08-04T04:27:12.558Z | user\n\n- Clarified zero-custody execution boundaries and added explicit session-key grant model for autonomous execution.\n- Updated tags and description to focus on autonomous DeFi agents, intent management, OODA loops, and risk controls.\n- Improved documentation of observed vs. inferred execution evidence; removed references to forensic/11-field receipt guarantees.\n- Revised agent activity and receipt documentation to avoid overstating fill, drift, or realized P&L if not present in returned data.\n- Removed the sample file skill-card.md for a cleaner repository structure.\n\nv1.0.9 | 2026-06-28T01:18:20.147Z | user\n\n- Removed documentation file: skill-card.md.\n- No functional or code changes introduced; documentation only.\n- SKILL.md updated (minor metadata and wording tweaks, e.g., \"Forensic receipts\" capitalization).\n- No user-facing changes to APIs, behavior, or requirements.\n\nv1.0.8 | 2026-06-26T04:24:31.017Z | user\n\n- Removed the file: skill-card.md\n- No changes to core functionality or features.\n- Documentation or presentation elements streamlined.\n\nv1.0.7 | 2026-06-26T02:22:42.728Z | user\n\nMajor v2.0 upgrade with OODA control loop, circuit breakers, and new monetization model.\n\n- Introduced OODA (Observe-Orient-Decide-Act) control loop for adaptive, responsive autonomous operation.\n- Added circuit breakers, crash recovery, dynamic risk autotuning, and Botlok forensic receipts for session security and auditability.\n- `autopilot_cycle` and advanced control tooling now gated for Syndicate ($199/mo) tier; manual orchestration remains available to all.\n- Expanded documentation with structured lifecycle, new advanced tools, and value-aligned monetization policies.\n- Removed obsolete docs file (skill-card.md).\n\nv1.0.6 | 2026-06-01T05:47:37.258Z | user\n\n- Added explicit clarification that all state-changing executions require a separate approval and must be performed by dedicated skills (e.g., Signal Architect, Futures Strategist) using user-local signing.\n- Updated tool descriptions to specify that `resolve_defi_intent` and related actions only coordinate intent and session state, not direct on-chain execution.\n- Strengthened documentation of security and execution boundaries for all tools, emphasizing zero private key custody.\n- Removed the redundant skill-card.md file.\n\nv1.0.5 | 2026-06-01T02:19:59.257Z | user\n\n- Removed the file: skill-card.md.\n- SKILL.md updated with new prominent disclaimers about FarmDash’s thematic metaphor and zero-custody model.\n- No changes to toolset or skill behavior. Core functionality and usage remain unchanged.\n\nv1.0.4 | 2026-05-30T23:49:50.154Z | user\n\n- Added SKILL.json for metadata and compatibility.\n- Removed deprecated skill-card.md.\n- Expanded SKILL.md with three new tools: agent_onboard, get_agent_activity, resolve_defi_intent.\n- Updated tool documentation for configure_autopilot and autopilot_cycle for clarity and separation.\n- No breaking changes to environment variables or usage.\n\nv1.0.3 | 2026-05-25T05:35:51.866Z | user\n\n- Updated environment variable description for FARMDASH_API_KEY to clarify it is optional and that Scout session checks can work without a key or with the public fd_scout_free token.\n- Added metadata fields indicating apiKeyRequired is false, freeScoutKeyless is true, and specifying the freeScoutKey value.\n- Bumped documented version from 1.0.0 to 1.0.1 in SKILL.md. No functional or code changes detected.\n\nv1.0.2 | 2026-05-22T17:18:10.567Z | user\n\n- Expanded and refined skill tags for greater discoverability, adding terms like \"crypto\", \"web3\", \"onchain\", \"risk-management\", \"zero-custody\", and more.\n- No changes to skill functionality, usage, or documentation content.\n\nv1.0.1 | 2026-05-21T00:22:17.503Z | user\n\n- No changes detected in code or documentation for version 1.0.1.\n- The SKILL.md file remains unchanged from the previous version.\n\nv1.0.0 | 2026-05-21T00:20:08.480Z | user\n\nInitial release of FarmDash Autonomous Operator.\n\n- Provides session state and control-loop management for OpenClaw DeFi agents.\n- Manages persistent sessions, shared FarmingContext, event stream snapshots, heartbeats, delegation checks, and autopilot configuration.\n- Ensures no private key custody; does not perform direct swaps or perps.\n- Includes tools for session creation, heartbeat extension, context management, event snapshots, delegation verification, and safe autopilot cycles.\n- Designed for safety: respects user confirmation, bounded risk, and strict session rules.\n\nArchive index:\n\nArchive v1.0.13: 4 files, 18890 bytes\n\nFiles: skill-card.md (2319b), SKILL.json (60940b), SKILL.md (24963b), _meta.json (148b)\n\nFile v1.0.13:SKILL.md\n\n---\r\nname: FarmDash Autonomous Operator\r\ndescription: \"Use to run supervised autopilot cycles under a bounded, revocable session grant: intents, policy checks, approvals, receipts. Execution stays preview-gated.\"\r\ntags: [\"defi\",\"autonomous-defi-agent\",\"ai-agent\",\"defi-automation\",\"bounded-autonomy\",\"human-in-the-loop\",\"defi-guardrails\",\"openclaw\",\"agent-orchestration\",\"session-key\",\"delegated-execution\",\"ooda-loop\",\"intent-management\",\"risk-controls\",\"circuit-breaker\",\"agent-recovery\",\"zero-custody\",\"mcp\",\"web3\",\"farmdash\"]\r\nauthor: FarmDash Pioneers (@Parmasanandgarlic)\r\nhomepage: https://www.farmdash.one/agents\r\nversion: \"2.1.2\"\r\nicon: operator\r\nenv:\r\n  FARMDASH_API_KEY:\r\n    description: \"Optional Bearer token for Pioneer or Syndicate tier. Scout session status checks work without any key or with the public fd_scout_free token. Syndicate is $199/mo for teams, serious agents, 50k req/day, webhooks, unrestricted CORS, and advanced session/control tooling (including autonomous autopilot cycles).\"\r\n    required: false\r\nmetadata: {\"openclaw\":{\"homepage\":\"https://www.farmdash.one/agents\",\"skillKey\":\"farmdash-autonomous-operator\",\"primaryEnv\":\"FARMDASH_API_KEY\",\"apiKeyRequired\":false,\"freeScoutKeyless\":true,\"freeScoutKey\":\"fd_scout_free\",\"execution\":\"session-context-control\"}}\r\n---\r\n\r\n# FarmDash Autonomous Operator\r\n\r\n> Use this skill when running supervised sessions: persistent multi-skill context, bounded autopilot loops, circuit breakers, and recovery — never key custody.\r\n\r\n> [!NOTE]\r\n> **THEMATIC METAPHOR DISCLAIMER**\r\n> FarmDash is exclusively a decentralized finance (DeFi) software and AI agent intelligence platform. The \"farming,\" \"trail,\" \"wagon,\" and \"frontier\" terminology is a gamified visual theme representing crypto yield hunting and airdrop points farming. It does not relate to physical agriculture or agrifood industries.\r\n\r\n> [!IMPORTANT]\r\n> **ZERO-CUSTODY CRITICAL BOUNDARY & EXECUTION GATING**\r\n> This skill manages persistent agent sessions, control loops, intent routing, and optional bounded autonomy. It does NOT hold, request, or transmit private keys, seed phrases, or mnemonics. A session token alone is not execution authority. `autopilot_cycle` does not prove submission or settlement. BOUNDED_AUTONOMOUS is currently `preparation_only`: an active, scoped, time-limited, revocable session-key grant does not enable a disabled execution mode. Use USER_SIGNED for current wallet-changing execution.\r\n> \r\n> **Separate Approval Step Requirement:**\r\n> Without an active execution grant, state-changing actions require a separate user-signed execution step. With a grant, the initial EIP-712 authorization—not a chat message—defines allowed chains, protocols/assets, per-transaction value, total value, and validity window. Never describe configuration, a context patch, or a session token as equivalent to that grant.\r\n\r\nAutonomous Operator keeps a multi-skill agent coherent across turns. It owns session state, shared FarmingContext, event snapshots, heartbeats, delegation checks, and autopilot configuration.\r\n\r\nIt does not hold private keys. It may coordinate supervised actions. Invoking a bounded executor requires both an independently verified active grant and an operational execution-mode gate; BOUNDED_AUTONOMOUS currently remains `preparation_only`.\r\n\r\nSyndicate is the intended operator tier for production control loops: 50k requests/day, webhooks through Signal Architect, unrestricted CORS, and advanced session/control tooling for teams and serious agents.\r\n\r\n## Value-Aligned Monetization Protocol (v2.0 Upgrade)\r\nSustaining a persistent, stateful agent control loop requires high-availability infrastructure. This skill employs a strict, non-predatory monetization model:\r\n\r\n### 1. Syndicate-Tier Autopilot Gating\r\nIntent planning and review are available where the live status contract enables their dependencies. `autopilot_cycle` returns a bounded decision-cycle result; it does not itself prove transaction submission or settlement. Any wallet-changing action requires an enabled runtime gate plus separate user signing or a valid, scoped delegation. Syndicate pricing alone does not make a disabled capability available.\r\n\r\n* If Scout/Pioneer user requests `autopilot_cycle`: \"Continuous autopilot loops require Syndicate-tier infrastructure to maintain high-availability state and webhooks. You can manually orchestrate intents, or upgrade at farmdash.one/agents to unlock autonomous loops.\"\r\n\r\n## OODA-Inspired Control Loop (v2.0 Upgrade)\r\nThe Autonomous Operator is no longer a simple linear state machine. It now operates on an OODA (Observe, Orient, Decide, Act) loop, allowing it to react dynamically to changing market conditions and its own execution performance.\r\n\r\n### 1. Observe (Sense)\r\n* `get_event_stream_snapshot`: Pulls recent macro and protocol events.\r\n* `get_farming_context`: Reads current portfolio state, risk limits, and data freshness.\r\n* `get_agent_activity`: Reviews durable execution receipts and their statuses. It does not imply fill-quality or shadow-book metrics exist.\r\n\r\n### 2. Orient (Context & Risk Autotuning)\r\n* **Risk state:** Use only returned, source-labeled risk and execution evidence. Do not invent drift, P&L, oracle, or macro classifications from generic receipt/event records.\r\n* **Circuit breaker check:** Halt when an enforced bound, explicit context risk flag, stale required input, grant limit, or authoritative account guardrail is breached. Record the exact evidence and revision.\r\n\r\n### 3. Decide (Plan)\r\n* Use Trail Marshal to plan a workflow based on the oriented context.\r\n* `create_intent`: Formalize the exact parameters of the action.\r\n* `policy_check_intent`: Ensure the intent complies with user allowlists and global guardrails.\r\n\r\n### 4. Act (Execute & Observe)\r\n* Route the intent to Signal Architect (spot) or Futures Strategist (perps).\r\n* Wait for the user's local EIP-191/EIP-712 signature.\r\n* `execute_approved_intent`: Record the broadcast.\r\n* `get_receipt`: Observe the durable lifecycle receipt. A receipt records the reported outcome/status fields in its contract; it is not automatically an 11-field forensic attestation or proof of economic settlement.\r\n\r\n## Tools\r\n\r\n### `create_session`\r\nCreates a persistent agent session and returns a one-time `sessionToken`. Store it securely in the agent runtime. FarmDash stores only a hash.\r\n\r\n### `session_heartbeat`\r\n\r\n### Heartbeat and Freshness Discipline\r\nCall `session_heartbeat` during every active autonomous loop to extend expiry; on expiry enter Crash Recovery. Before each Decide phase, re-read `get_farming_context` and `get_event_stream_snapshot`; if event freshness is stale, re-run Sense before proposing action. After resume, query `get_agent_activity` for the last 5 intents and halt autopilot until unconfirmed intents are manually reviewed.\r\nExtends the session expiry. Use it during active autonomous loops. If a session expires, the Operator must enter Crash Recovery mode (see below).\r\n\r\n### `get_farming_context`\r\nReads shared context for the session:\r\n* objective.\r\n* portfolio scope.\r\n* risk settings (including dynamically tuned `riskMultiplier`).\r\n* workflow state (ACTIVE, HALTED, RECOVERING).\r\n* ledger summary.\r\n* data freshness timestamps.\r\n\r\n### `patch_farming_context`\r\nPatches shared context. The server controls `sessionId`, `agentAddress`, `revision`, and `updatedAt`; do not try to override them. Used for Dynamic Risk Autotuning and Circuit Breakers.\r\n\r\n### `get_event_stream_snapshot`\r\nReads recent agent events as a JSON snapshot. Use this before planning and after execution.\r\n\r\n### `verify_delegation`\r\nChecks whether the user's Hyperliquid API wallet delegation is in place for autonomous perps.\r\n\r\n### `configure_autopilot`\r\nConfigure bounded autonomous cycles. Respect user allowlists, risk limits, and execution confirmations. Syndicate tier and configuration do not enable BOUNDED_AUTONOMOUS execution, which is currently `preparation_only`.\r\n\r\n### `autopilot_cycle`\r\nRun a bounded decision cycle subject to Syndicate tier and runtime gates. A cycle result is not submission or settlement. BOUNDED_AUTONOMOUS is currently `preparation_only`; a grant or paid tier does not enable automated execution.\r\n\r\n### `agent_onboard`\r\nOne-call setup guide and capability map for autonomous operation.\r\n\r\n### Dual Execution Authority (USER_SIGNED vs BOUNDED_AUTONOMOUS)\r\n\r\nFarmDash exposes two explicit execution modes across all machine surfaces:\r\n1. **USER_SIGNED**: FarmDash prepares the transaction; the user's wallet approves and signs each transaction individually.\r\n2. **BOUNDED_AUTONOMOUS (`preparation_only`)**: The agent-local architecture uses one scoped, revocable EIP-712 delegation and a local signer. Registration and preparation do not make automated execution operational. Read `execution_capabilities.execution_modes.BOUNDED_AUTONOMOUS.status` from `/api/v1/agent/status` and fail closed unless it is operational; use USER_SIGNED for current execution.\r\n\r\n**Zero Key Custody Invariant**: FarmDash NEVER receives, holds, transmits, or persists user private keys, seed phrases, or mnemonics. The agent runtime retains local signer authority. FarmDash acts purely as the intelligence, policy check, simulation, and transaction preparation control plane.\r\n\r\n#### Bounded Autonomy Execution Lifecycle & Safety Boundaries\r\n\r\nThis is the architectural lifecycle, not current execution readiness. Do not proceed to agent-local signing or broadcast while BOUNDED_AUTONOMOUS is `preparation_only`; a valid grant, discovered tool, or paid tier cannot override that gate.\r\n\r\n1. **Delegation Registration**: The user signs an EIP-712 / ERC-8196 bounded delegation grant defining allowed chains, protocols, tokens, max per-tx spend, total budget, expiry, and cooldowns (`register_execution_delegation`).\r\n2. **Authority Discovery**: The agent discovers its active delegation and policy limits via `get_execution_authority`.\r\n3. **Autonomous Preparation**: The agent invokes `prepare_autonomous_swap`. FarmDash evaluates all 13 policy invariants, verifies fresh simulation, creates an atomic budget reservation, and digests the calldata.\r\n4. **Agent-Local Signing & Broadcast**: The agent signs the transaction locally using its private key (zero-custody). The agent broadcasts the raw signed transaction to the blockchain RPC.\r\n5. **Ambiguous Broadcast Handling (`held_ambiguous`)**: If network error or RPC timeout occurs during broadcast, the state transitions to `held_ambiguous`. The reserved budget remains held and unreleased until on-chain receipt confirmation or explicit timeout reconciliation. The agent MUST NOT re-broadcast or duplicate the transaction while held.\r\n6. **Confirmation & Receipt**: Upon successful broadcast, the agent calls `confirm_autonomous_swap` with the transaction hash to commit budget and emit a durable receipt.\r\n\r\n**Distinction from ERC-4337 Server Submission**: Bounded autonomy is an agent-local-signer architecture. It is NOT ERC-4337 server-side bundler submission. Both agent-local BOUNDED_AUTONOMOUS and server-side UserOperation execution remain `preparation_only` and are not automated execution routes.\r\n\r\n### `get_execution_authority`\r\nQuery execution authority mode (USER_SIGNED vs BOUNDED_AUTONOMOUS), zero-custody confirmation, and active delegation status.\r\n\r\n### `request_execution_delegation`\r\nRequest an exact EIP-712 / ERC-8196 bounded delegation payload for user wallet approval. Binds owner, session, signer key, chains, protocols, assets, actions, per-transaction limits, total budget, gas bounds, and expiration.\r\n\r\n### `register_execution_delegation`\r\nRegister a user-signed bounded delegation grant within signed policy limits. Registration is not runtime readiness: BOUNDED_AUTONOMOUS remains `preparation_only` and does not authorize automated signing or broadcast while that gate is closed.\r\n\r\n### `revoke_execution_authority`\r\nRevoke active bounded execution authority immediately across all serverless instances.\r\n\r\n### `prepare_autonomous_swap`\r\nPrepare an autonomous spot swap within signed delegation bounds. FarmDash checks 13 policy invariants, runs a fresh simulation, locks an atomic budget reservation, and computes the calldata digest. Agent-local signing and broadcast describe the architecture only and remain blocked while BOUNDED_AUTONOMOUS is `preparation_only`.\r\n\r\n### `confirm_autonomous_swap`\r\nSubmit execution confirmation and on-chain transaction hash for economic reconciliation and receipt generation.\r\n\r\n### ClawHub attribution\r\nThis skill's canonical ClawHub slug is `farmdash-autonomous-operator`. On every FarmDash API request (REST, OpenAPI, or MCP transport where headers are supported), send `X-ClawHub-Skill: farmdash-autonomous-operator`. Analytics-only and optional; requests without it still work. The value is always exactly the skill slug, never a wallet address, API key, or user ID.\r\n\r\n### `get_agent_activity`\r\nLists durable FarmDash receipts, optionally filtered by intent and status. Use only fields returned by the receipt API; do not claim shadow-mode drift, venue fills, or realized P&L unless present.\r\n\r\n### `resolve_defi_intent`\r\nResolves a high-level natural language DeFi intent into structured parameters for policy/simulation/approval. Supervised execution uses local EIP-191/EIP-712 signing; bounded autonomy requires the separate grant described above. Autonomous Operator never receives private keys.\r\n\r\n**Intent Lifecycle — Plan → Approve → Execute → Observe**\r\nThe FarmDashIntent lifecycle enforces a strict pipeline. Every state-changing action must pass through policy, simulation, and approval gates before execution is allowed. These tools never hold private keys or broadcast transactions directly.\r\n\r\n### Plan Phase\r\n\r\n### `create_intent`\r\nCreate a durable FarmDashIntent. This records what an agent wants to do — it never prepares, signs, broadcasts, or executes. The intent must include actor, action, chain, protocol, wallet, params, constraints, evidence, and `research_evidence_hash` (passed from Trail Intelligence).\r\n\r\n### `policy_check_intent`\r\nRun the explicit FarmDash policy gate for an intent. Execution remains blocked unless the latest policy check passes. Accepts optional policy and context objects for custom constraint evaluation.\r\n\r\n### `simulate_intent`\r\nRecord a mandatory simulation result for an intent. Prepare and execute are blocked until a successful, unexpired simulation exists. This ensures every execution has been dry-run first.\r\n\r\n### Approve Phase\r\n\r\n### `request_approval_payload`\r\nBuild the EIP-712 IntentApproval payload that the human approver signs. This does not record approval or execute — it only constructs the typed data for the approver's wallet to sign.\r\n\r\n### `request_human_approval`\r\nCompatibility wrapper for submitting a signed EIP-712 IntentApproval. Use `request_approval_payload` first to build the exact typed data, then submit the signature through this tool.\r\n\r\n### `submit_signed_approval`\r\nSubmit a signed EIP-712 IntentApproval payload to approve or reject an intent. This does not prepare or execute the intent — it only records the cryptographic approval decision.\r\n\r\n### `get_approval_status`\r\nInspect whether an intent is awaiting approval, has been approved, was rejected, or is already executed. Returns the current lifecycle status and approval metadata.\r\n\r\n### Execute Phase\r\n\r\n### `prepare_intent`\r\nValidate typed adapter support and prepare an intent after policy, simulation, and approval gates pass. Registered adapters provide allowlisted validation. This does not broadcast a transaction.\r\n\r\n### `execute_approved_intent`\r\nRecord the submitted, confirmed, failed, or rejected receipt for a prepared typed-adapter intent. Raw arbitrary calldata is rejected by the lifecycle API. Use this after the signing wallet has broadcast the transaction.\r\n\r\n### `confirm_execution`\r\nRecord a confirmed receipt for a prepared or signed intent with a transaction hash. Use `get_receipt` for follow-up observation after submission.\r\n\r\n### Observe Phase\r\n\r\n### `get_receipt`\r\n\r\n### Receipt-Grade Profit Reporting\r\nReport profit only from fields actually present in `get_receipt` or the reconciled ledger summary in `get_farming_context`. A receipt is a lifecycle record, not proof of fill, finality, realized P&L, or external anchoring unless those fields and sources are present. Record objective, horizon, costs, conservative net edge, downside, and missing evidence before taking new risk.\r\nFetch one durable FarmDash receipt by receipt ID (`fdrcpt_*`). Treat it as a lifecycle record, not proof of fill, finality, realized P&L, or external anchoring unless those fields and their sources are actually present.\r\n\r\n### `hire_virtuals_specialist`\r\nPrepare a non-spendable, tenant-owned Virtuals ACP tender and return the exact EIP-712 approval payload. The customer's registered ACP wallet must sign that payload locally. Its local FarmDash ACP connector then creates and funds the three specialist jobs after explicit per-action approval. FarmDash is only the separately registered evaluator: it verifies the client, provider, evaluator, budget cap, deliverables, simulation, and Base receipts before completing or rejecting already customer-funded escrow jobs. Never provide a private key or RPC URL to this tool.\r\n\r\n## Global Circuit Breakers & Crash Recovery (v2.0 Upgrade)\r\n\r\n### Profit Never Overrides a Halt\r\nWhen context is patched to `HALTED`, stop all new-risk actions and preserve only reduce/revoke/reconcile paths. Do not launch a dependent leg after submitted/pending/partial/unknown settlement. Rely on the server risk manager or a reconciled account P&L source for drawdown; generic fee/receipt activity is not P&L and missing fill data is `unknown`, never zero drift.\r\n\r\n### Circuit Breakers\r\nThe Operator monitors returned context, event, grant, receipt, and authoritative account state. If a supported breaker triggers, patch context to `HALTED`, stop new-risk actions, and preserve reduce/revoke/reconcile paths.\r\n\r\n* **Execution-quality breaker:** only when at least three authoritative fills permit side-adjusted implementation-shortfall calculation. Missing fill data is `unknown`, not zero drift.\r\n* **Market-data breaker:** only when the live tool actually supplies the cited mark/oracle/book timestamps and values. Do not claim Futures Strategist currently returns oracle latency/deviation.\r\n* **Drawdown breaker:** rely on the server risk manager or a reconciled account P&L source. Generic fee/receipt activity is not P&L.\r\n* **Grant breaker:** halt if the session-key grant is absent, expired, revoked, out of allowlist, over per-action/total value, or the bounded executor is unavailable.\r\n* **Dependency breaker:** after submitted/pending/partial/unknown settlement, do not launch a dependent leg.\r\n\r\n### Crash Recovery Protocol\r\nIf the Operator resumes a session (`create_session` or `session_heartbeat`) and detects the previous session timed out or crashed:\r\n1. Query `get_agent_activity` for the last 5 intents.\r\n2. Check `get_approval_status` for any intents stuck in `awaiting_approval`.\r\n3. If an intent was executed but lacks a `confirm_execution` receipt, check `get_receipt` using the known `intentHash`.\r\n4. Alert the user: \"Session recovered. Found 1 unconfirmed intent. Halting autopilot until manually reviewed.\"\r\n\r\n## Agent Rules\r\n* The session token is a capability. Never display it in normal user-facing prose.\r\n* A context patch is state, not permission.\r\n* A workflow plan is not a user confirmation.\r\n* If risk status is halted, do not call execution tools.\r\n* If event freshness is stale, re-run the sense phase before proposing action.\r\n* Never bypass the OODA loop. Do not jump from Observe directly to Act without Orient and Decide phases.\r\n* Never multiply heterogeneous heuristic scores into a synthetic confidence or execution permission.\r\n* Record objective/horizon, data provenance/freshness, full costs, conservative net edge, downside/invalidation, portfolio impact, and missing evidence before new risk.\r\n* Observe authoritative settlement before dependent actions. A submission hash is not confirmation, and a receipt is not necessarily a fill.\r\n* Use the smallest authority and budget required. Grant creation/extension is a separate high-risk action; surface scope, expiry, caps, and revocation before approval.\r\n\r\n### Session-Profit Grant Hygiene\r\nSize every `grant_session_key` to the smallest chains, protocols/assets, per-transaction value, total value, and validity window the plan needs. Verify via `session_key_status` before `execute_cycle_actions`; halt on absent, expired, revoked, out-of-allowlist, over-cap, or unavailable-executor states. Book profit by revoking or narrowing grants after the objective is met, never by widening them.\r\n\r\n## Disclaimers\r\nAutonomous operation can compound mistakes if risk limits are weak. Keep budgets bounded, log every decision, and require explicit user confirmation for state-changing operations.\r\n\r\n## FarmDash Resources\r\n\r\n- [FarmDash autonomous DeFi agent platform](https://www.farmdash.one/agents)\r\n- [FarmDash DeFi intelligence homepage](https://www.farmdash.one/)\r\n- [Canonical Autonomous Operator skill manual](https://www.farmdash.one/openclaw-skills/farmdash-autonomous-operator/SKILL.md)\r\n\r\n**Companion skills:** FarmDash Trail Marshal, FarmDash Signal Architect, FarmDash Futures Strategist, FarmDash Trail Intelligence, FarmDash Wagon Steward.\r\n\r\n**Why FarmDash:** Unlike 'autonomous' agents that hold keys, a FarmDash session token alone is not execution authority — actions move only under a scoped, time-limited, revocable EIP-712 grant, or a fresh user signature.\r\n\r\n<!-- farmdash-canonical-links:start -->\r\n\r\n## Official FarmDash Links\r\n\r\n- [FarmDash DeFi intelligence website](https://www.farmdash.one/)\r\n- [FarmDash Agent Hub](https://www.farmdash.one/agents)\r\n- [Canonical FarmDash Autonomous Operator skill manual](https://www.farmdash.one/openclaw-skills/farmdash-autonomous-operator/SKILL.md)\r\n- [Agent integration documentation](https://www.farmdash.one/docs)\r\n- [Live agent capability status](https://www.farmdash.one/api/v1/agent/status)\r\n- [OpenAPI contract](https://www.farmdash.one/agents/openapi.yaml)\r\n- [MCP discovery manifest](https://www.farmdash.one/.well-known/mcp.json)\r\n- [Fees and commercial terms](https://www.farmdash.one/fees)\r\n- [Security and authority boundaries](https://www.farmdash.one/security)\r\n\r\n### Capability tools represented by this skill\r\n\r\n- `pause_autopilot`: Pause an available bounded-autopilot session. Read /api/v1/agent/status first; return the typed readiness error when runtime prerequisites are unmet.\r\n- `resume_autopilot`: Resume an available bounded-autopilot session after rechecking policy, grant, and runtime readiness.\r\n- `grant_session_key`: Create a separately authorized, scoped, expiring session-key grant. A session token or chat instruction is never a substitute for this grant.\r\n- `revoke_session_key`: Revoke a session-key grant and verify the returned backend state before representing authority as removed.\r\n- `session_key_status`: Read authoritative grant status, limits, expiry, and revocation state.\r\n- `get_cycle_status`: Read one bounded-autopilot cycle and its evidence-backed status.\r\n- `execute_cycle_actions`: Request execution of eligible cycle actions only when the live status contract and active grant permit it; never infer enablement from tool discovery.\r\n- `create_mee_intent`: Create a Biconomy MEE cross-chain intent record. Creation is not simulation, authorization, submission, or settlement.\r\n- `simulate_mee_intent`: Simulate a created MEE intent and stop when costs, risk, or net edge fail policy.\r\n- `submit_mee_intent`: Submit a separately signed, successfully simulated MEE intent only when the live capability gate is available.\r\n- `get_mee_intent_status`: Read authoritative MEE intent status; pending or submitted is not settled.\r\n- `get_execution_authority`: Query execution authority mode (USER_SIGNED vs BOUNDED_AUTONOMOUS), zero-custody confirmation, and active delegation status.\r\n- `request_execution_delegation`: Request an exact EIP-712 / ERC-8196 bounded delegation payload for user wallet approval.\r\n- `register_execution_delegation`: Register a user-signed bounded delegation grant for autonomous execution inside policy bounds.\r\n- `revoke_execution_authority`: Revoke active bounded execution authority for an owner or agent session.\r\n- `prepare_autonomous_swap`: Prepare an autonomous spot swap within signed delegation bounds with atomic budget reservation.\r\n- `confirm_autonomous_swap`: Submit execution confirmation and transaction hash for economic reconciliation and receipt generation.\r\n- `release_autonomous_reservation`: Safely release an autonomous budget reservation prior to broadcast when local signing or submission is aborted.\r\n\r\n<!-- farmdash-canonical-links:end -->\n\nFile v1.0.13:_meta.json\n\n{\n  \"ownerId\": \"kn753be85erp4cey7vbq9aq9sd826p37\",\n  \"slug\": \"farmdash-autonomous-operator\",\n  \"version\": \"1.0.13\",\n  \"publishedAt\": 1791161563499\n}\n\nFile v1.0.13:skill-card.md\n\n## Description:\n\nCoordinates supervised DeFi agent sessions, policy checks, approvals, and receipts while keeping execution preview-gated.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[parmasanandgarlic](https://clawhub.ai/user/parmasanandgarlic)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDeFi agent operators use this skill to coordinate supervised intent planning, policy checks, user approvals, and receipt tracking across persistent sessions. Wallet-changing actions require separate signing and an enabled execution mode.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: DeFi automation can cause financial loss if grant scopes or budgets are too broad.\n\nMitigation: Limit allowlists, spending caps, and expiry; verify grant state and revoke access when no longer needed.\n\nRisk: A proposed or prepared action may be mistaken for an executed and settled transaction.\n\nMitigation: Use USER_SIGNED execution unless a bounded grant and operational execution gate are deliberately approved; check authoritative receipts before dependent actions.\n\nRisk: Exposing wallet secrets would compromise signing authority.\n\nMitigation: Never provide private keys, seed phrases, or RPC credentials to the skill.\n\n## Reference(s):\n\n- [FarmDash Autonomous Operator on ClawHub](https://clawhub.ai/parmasanandgarlic/skills/farmdash-autonomous-operator)\n- [FarmDash Agent Hub](https://www.farmdash.one/agents)\n- [FarmDash agent integration documentation](https://www.farmdash.one/docs)\n- [FarmDash live capability status](https://www.farmdash.one/api/v1/agent/status)\n- [FarmDash security and authority boundaries](https://www.farmdash.one/security)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Text, API calls]\n\n**Output Format:** [Text and structured API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Intent, approval, session, and receipt status; a cycle result is not proof of settlement.]\n\n## Skill Version(s):\n\n1.0.13 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.13:SKILL.json\n\n{\r\n  \"name\": \"FarmDash Autonomous Operator\",\r\n  \"version\": \"2.1.2\",\r\n  \"description\": \"Use to run supervised autopilot cycles under a bounded, revocable session grant: intents, policy checks, approvals, receipts. Execution stays preview-gated.\",\r\n  \"tags\": [\r\n    \"defi\",\r\n    \"autonomous-defi-agent\",\r\n    \"ai-agent\",\r\n    \"defi-automation\",\r\n    \"bounded-autonomy\",\r\n    \"human-in-the-loop\",\r\n    \"defi-guardrails\",\r\n    \"openclaw\",\r\n    \"agent-orchestration\",\r\n    \"session-key\",\r\n    \"delegated-execution\",\r\n    \"ooda-loop\",\r\n    \"intent-management\",\r\n    \"risk-controls\",\r\n    \"circuit-breaker\",\r\n    \"agent-recovery\",\r\n    \"zero-custody\",\r\n    \"mcp\",\r\n    \"web3\",\r\n    \"farmdash\"\r\n  ],\r\n  \"author\": \"FarmDash Pioneers (@Parmasanandgarlic)\",\r\n  \"homepage\": \"https://www.farmdash.one/agents\",\r\n  \"icon\": \"operator\",\r\n  \"tools\": [\r\n    {\r\n      \"name\": \"create_session\",\r\n      \"description\": \"Creates a persistent agent session and returns a one-time `sessionToken`. Store it securely in the agent runtime. FarmDash stores only a hash.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"agentName\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"signature\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 1\r\n          },\r\n          \"nonce\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 1\r\n          },\r\n          \"issuedAt\": {\r\n            \"type\": \"string\",\r\n            \"format\": \"date-time\"\r\n          },\r\n          \"signatureType\": {\r\n            \"type\": \"string\",\r\n            \"enum\": [\r\n              \"eip712\",\r\n              \"eip191\"\r\n            ]\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"agentAddress\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"write\"\r\n    },\r\n    {\r\n      \"name\": \"session_heartbeat\",\r\n      \"description\": \"Extends the session expiry. Use it during active autonomous loops. If a session expires, the Operator must enter Crash Recovery mode (see below).\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"sessionId\",\r\n          \"agentAddress\",\r\n          \"sessionToken\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"write\"\r\n    },\r\n    {\r\n      \"name\": \"get_farming_context\",\r\n      \"description\": \"Reads shared context for the session:\\r\\n* objective.\\r\\n* portfolio scope.\\r\\n* risk settings (including dynamically tuned `riskMultiplier`).\\r\\n* workflow state (ACTIVE, HALTED, RECOVERING).\\r\\n* ledger summary.\\r\\n* data freshness timestamps.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"sessionId\",\r\n          \"agentAddress\",\r\n          \"sessionToken\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"read\"\r\n    },\r\n    {\r\n      \"name\": \"patch_farming_context\",\r\n      \"description\": \"Patches shared context. The server controls `sessionId`, `agentAddress`, `revision`, and `updatedAt`; do not try to override them. Used for Dynamic Risk Autotuning and Circuit Breakers.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"patch\": {\r\n            \"type\": \"object\",\r\n            \"additionalProperties\": {}\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"sessionId\",\r\n          \"agentAddress\",\r\n          \"sessionToken\",\r\n          \"patch\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"write\"\r\n    },\r\n    {\r\n      \"name\": \"get_event_stream_snapshot\",\r\n      \"description\": \"Reads recent agent events as a JSON snapshot. Use this before planning and after execution.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"since\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"types\": {\r\n            \"type\": \"array\",\r\n            \"items\": {\r\n              \"type\": \"string\"\r\n            }\r\n          },\r\n          \"limit\": {\r\n            \"type\": \"integer\",\r\n            \"minimum\": 1,\r\n            \"maximum\": 200\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"sessionId\",\r\n          \"agentAddress\",\r\n          \"sessionToken\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"read\"\r\n    },\r\n    {\r\n      \"name\": \"verify_delegation\",\r\n      \"description\": \"Checks whether the user's Hyperliquid API wallet delegation is in place for autonomous perps.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"apiWalletAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"ownerAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"agentAddress\",\r\n          \"apiWalletAddress\",\r\n          \"ownerAddress\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"read\"\r\n    },\r\n    {\r\n      \"name\": \"configure_autopilot\",\r\n      \"description\": \"Configure bounded autonomous cycles. Respect user allowlists, risk limits, and execution confirmations. Syndicate tier and configuration do not enable BOUNDED_AUTONOMOUS execution, which is currently preparation_only.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"strategies\": {\r\n            \"type\": \"array\",\r\n            \"items\": {\r\n              \"type\": \"string\"\r\n            }\r\n          },\r\n          \"assets\": {\r\n            \"type\": \"array\",\r\n            \"items\": {\r\n              \"type\": \"string\"\r\n            }\r\n          },\r\n          \"riskPreference\": {\r\n            \"type\": \"string\",\r\n            \"enum\": [\r\n              \"conservative\",\r\n              \"balanced\",\r\n              \"aggressive\"\r\n            ]\r\n          },\r\n          \"maxEquityPct\": {\r\n            \"type\": \"number\",\r\n            \"exclusiveMinimum\": 0,\r\n            \"maximum\": 0.8\r\n          },\r\n          \"rebalanceIntervalMin\": {\r\n            \"type\": \"integer\",\r\n            \"exclusiveMinimum\": 0\r\n          },\r\n          \"autoCompound\": {\r\n            \"type\": \"boolean\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"sessionId\",\r\n          \"agentAddress\",\r\n          \"sessionToken\",\r\n          \"strategies\",\r\n          \"assets\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"write\"\r\n    },\r\n    {\r\n      \"name\": \"autopilot_cycle\",\r\n      \"description\": \"Run a bounded decision cycle subject to Syndicate tier and runtime gates. A cycle result is not submission or settlement. BOUNDED_AUTONOMOUS is currently preparation_only; a grant or paid tier does not enable automated execution.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"accountState\": {}\r\n        },\r\n        \"required\": [\r\n          \"sessionId\",\r\n          \"agentAddress\",\r\n          \"sessionToken\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"write\"\r\n    },\r\n    {\r\n      \"name\": \"agent_onboard\",\r\n      \"description\": \"One-call setup guide and capability map for autonomous operation. Takes no parameters.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {},\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"read\"\r\n    },\r\n    {\r\n      \"name\": \"get_execution_authority\",\r\n      \"description\": \"Query execution authority mode (USER_SIGNED vs BOUNDED_AUTONOMOUS), zero-custody confirmation, and active delegation status. BOUNDED_AUTONOMOUS is currently preparation_only; check /api/v1/agent/status and never infer operational readiness from a registered grant.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"ownerAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\",\r\n            \"description\": \"Wallet owner EVM address\"\r\n          },\r\n          \"sessionId\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Agent session identifier\"\r\n          }\r\n        },\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"read\"\r\n    },\r\n    {\r\n      \"name\": \"request_execution_delegation\",\r\n      \"description\": \"Request an exact EIP-712 / ERC-8196 bounded delegation payload for user wallet approval.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"ownerAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\",\r\n            \"description\": \"User wallet owner address\"\r\n          },\r\n          \"agentSessionId\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Agent session identifier\"\r\n          },\r\n          \"sessionPublicKey\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Public key / address of the agent local signer\"\r\n          },\r\n          \"chainId\": {\r\n            \"type\": \"integer\",\r\n            \"exclusiveMinimum\": 0,\r\n            \"description\": \"EVM Chain ID\"\r\n          },\r\n          \"allowedProtocols\": {\r\n            \"type\": \"array\",\r\n            \"items\": {\r\n              \"type\": \"string\"\r\n            },\r\n            \"description\": \"Allowlisted protocol router addresses\"\r\n          },\r\n          \"allowedAssets\": {\r\n            \"type\": \"array\",\r\n            \"items\": {\r\n              \"type\": \"string\"\r\n            },\r\n            \"description\": \"Allowlisted token addresses\"\r\n          },\r\n          \"allowedActions\": {\r\n            \"type\": \"array\",\r\n            \"items\": {\r\n              \"type\": \"string\"\r\n            },\r\n            \"description\": \"Allowed action types, e.g. [\\\"SWAP\\\"]\"\r\n          },\r\n          \"maxValuePerTx\": {\r\n            \"type\": \"number\",\r\n            \"exclusiveMinimum\": 0,\r\n            \"description\": \"Maximum value per transaction in USD\"\r\n          },\r\n          \"maxTotalValue\": {\r\n            \"type\": \"number\",\r\n            \"exclusiveMinimum\": 0,\r\n            \"description\": \"Maximum total cumulative spend in USD\"\r\n          },\r\n          \"maxGasUsd\": {\r\n            \"type\": \"number\",\r\n            \"exclusiveMinimum\": 0,\r\n            \"description\": \"Maximum gas in USD\"\r\n          },\r\n          \"maxValuePerTxCents\": {\r\n            \"type\": \"integer\",\r\n            \"exclusiveMinimum\": 0,\r\n            \"description\": \"Deprecated legacy alias: Maximum value per transaction in cents\"\r\n          },\r\n          \"maxTotalValueCents\": {\r\n            \"type\": \"integer\",\r\n            \"exclusiveMinimum\": 0,\r\n            \"description\": \"Deprecated legacy alias: Maximum total cumulative spend in cents\"\r\n          },\r\n          \"maxGasUsdCents\": {\r\n            \"type\": \"integer\",\r\n            \"exclusiveMinimum\": 0,\r\n            \"description\": \"Deprecated legacy alias: Maximum gas in cents\"\r\n          },\r\n          \"maxSlippageBps\": {\r\n            \"type\": \"integer\",\r\n            \"exclusiveMinimum\": 0,\r\n            \"description\": \"Maximum allowed slippage in basis points\"\r\n          },\r\n          \"validAfter\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"ISO timestamp for grant validity start\"\r\n          },\r\n          \"validUntil\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"ISO timestamp for grant validity expiration\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"ownerAddress\",\r\n          \"agentSessionId\",\r\n          \"sessionPublicKey\",\r\n          \"chainId\",\r\n          \"allowedProtocols\",\r\n          \"allowedAssets\",\r\n          \"allowedActions\",\r\n          \"validAfter\",\r\n          \"validUntil\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"read\"\r\n    },\r\n    {\r\n      \"name\": \"register_execution_delegation\",\r\n      \"description\": \"Register a user-signed bounded delegation grant within signed policy limits. Registration is not runtime readiness: BOUNDED_AUTONOMOUS remains preparation_only and does not enable automated signing or broadcast.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"ownerAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\",\r\n            \"description\": \"User wallet owner address\"\r\n          },\r\n          \"signature\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{130}$\",\r\n            \"description\": \"EIP-712 signature over bounded delegation typed data\"\r\n          },\r\n          \"delegation\": {\r\n            \"type\": \"object\",\r\n            \"properties\": {\r\n              \"ownerAddress\": {\r\n                \"type\": \"string\",\r\n                \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n              },\r\n              \"agentSessionId\": {\r\n                \"type\": \"string\"\r\n              },\r\n              \"sessionPublicKey\": {\r\n                \"type\": \"string\"\r\n              },\r\n              \"chainId\": {\r\n                \"type\": \"number\"\r\n              },\r\n              \"allowedProtocols\": {\r\n                \"type\": \"array\",\r\n                \"items\": {\r\n                  \"type\": \"string\"\r\n                }\r\n              },\r\n              \"allowedAssets\": {\r\n                \"type\": \"array\",\r\n                \"items\": {\r\n                  \"type\": \"string\"\r\n                }\r\n              },\r\n              \"allowedActions\": {\r\n                \"type\": \"array\",\r\n                \"items\": {\r\n                  \"type\": \"string\"\r\n                }\r\n              },\r\n              \"maxValuePerTx\": {\r\n                \"type\": \"number\"\r\n              },\r\n              \"maxTotalValue\": {\r\n                \"type\": \"number\"\r\n              },\r\n              \"maxGasUsd\": {\r\n                \"type\": \"number\"\r\n              },\r\n              \"maxSlippageBps\": {\r\n                \"type\": \"number\"\r\n              },\r\n              \"validAfter\": {\r\n                \"type\": \"string\"\r\n              },\r\n              \"validUntil\": {\r\n                \"type\": \"string\"\r\n              },\r\n              \"nonce\": {\r\n                \"type\": \"string\"\r\n              },\r\n              \"policyHash\": {\r\n                \"type\": \"string\"\r\n              }\r\n            },\r\n            \"required\": [\r\n              \"ownerAddress\",\r\n              \"agentSessionId\",\r\n              \"sessionPublicKey\",\r\n              \"chainId\",\r\n              \"allowedProtocols\",\r\n              \"allowedAssets\",\r\n              \"allowedActions\",\r\n              \"maxValuePerTx\",\r\n              \"maxTotalValue\",\r\n              \"validAfter\",\r\n              \"validUntil\",\r\n              \"nonce\"\r\n            ],\r\n            \"additionalProperties\": false,\r\n            \"description\": \"The exact delegation parameters that were signed\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"ownerAddress\",\r\n          \"signature\",\r\n          \"delegation\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"execution\"\r\n    },\r\n    {\r\n      \"name\": \"revoke_execution_authority\",\r\n      \"description\": \"Revoke active bounded execution authority for an owner or agent session.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"grantId\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"ID of the grant to revoke\"\r\n          },\r\n          \"ownerAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\",\r\n            \"description\": \"Wallet owner address\"\r\n          },\r\n          \"agentSessionId\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Agent session identifier\"\r\n          },\r\n          \"reason\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Reason for revocation\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"grantId\",\r\n          \"ownerAddress\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"execution\"\r\n    },\r\n    {\r\n      \"name\": \"prepare_autonomous_swap\",\r\n      \"description\": \"Prepare an autonomous spot swap within signed delegation bounds with atomic budget reservation. BOUNDED_AUTONOMOUS is currently preparation_only; agent-local signing and broadcast remain blocked unless the live execution-mode gate is operational.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"intentId\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Authoritative swap intent ID from get_swap_quote\"\r\n          },\r\n          \"simulationId\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Authoritative preflight simulation ID from simulate_swap_intent\"\r\n          },\r\n          \"agentSessionId\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Authenticated agent session ID\"\r\n          },\r\n          \"ownerAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\",\r\n            \"description\": \"Wallet owner EVM address\"\r\n          },\r\n          \"sessionPublicKey\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Agent local signer public address (must equal ownerAddress for EOA V1)\"\r\n          },\r\n          \"grantId\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Active delegation grant ID (optional; looked up automatically if omitted)\"\r\n          },\r\n          \"fromToken\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Optional input token symbol or address\"\r\n          },\r\n          \"toToken\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Optional output token symbol or address\"\r\n          },\r\n          \"amount\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Optional input amount in token base units\"\r\n          },\r\n          \"chainId\": {\r\n            \"type\": \"integer\",\r\n            \"exclusiveMinimum\": 0,\r\n            \"description\": \"Optional EVM Chain ID\"\r\n          },\r\n          \"slippageBps\": {\r\n            \"type\": \"integer\",\r\n            \"minimum\": 1,\r\n            \"maximum\": 500,\r\n            \"description\": \"Optional slippage tolerance in basis points\"\r\n          },\r\n          \"action\": {\r\n            \"type\": \"string\",\r\n            \"default\": \"SWAP\",\r\n            \"description\": \"Action type, defaults to SWAP\"\r\n          },\r\n          \"protocol\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Target protocol router address\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"intentId\",\r\n          \"simulationId\",\r\n          \"agentSessionId\",\r\n          \"ownerAddress\",\r\n          \"sessionPublicKey\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"execution\"\r\n    },\r\n    {\r\n      \"name\": \"confirm_autonomous_swap\",\r\n      \"description\": \"Submit execution confirmation and transaction hash for economic reconciliation and receipt generation.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"reservationId\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Active reservation ID from prepare_autonomous_swap\"\r\n          },\r\n          \"txHash\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"On-chain transaction hash for public RPC receipt verification\"\r\n          },\r\n          \"agentSessionId\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Authenticated agent session ID\"\r\n          },\r\n          \"ownerAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\",\r\n            \"description\": \"Wallet owner EVM address\"\r\n          },\r\n          \"grantId\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Grant ID\"\r\n          },\r\n          \"intentId\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Intent ID\"\r\n          },\r\n          \"status\": {\r\n            \"type\": \"string\",\r\n            \"enum\": [\r\n              \"confirmed\",\r\n              \"failed\",\r\n              \"ambiguous\"\r\n            ],\r\n            \"description\": \"Optional client execution status hint\"\r\n          },\r\n          \"errorReason\": {\r\n            \"type\": \"string\",\r\n            \"description\": \"Error reason if execution failed or was ambiguous\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"reservationId\",\r\n          \"txHash\",\r\n          \"agentSessionId\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"execution\"\r\n    },\r\n    {\r\n      \"name\": \"get_agent_activity\",\r\n      \"description\": \"Lists durable FarmDash receipts, optionally filtered by intent and status. Use only fields returned by the receipt API; do not claim shadow-mode drift, venue fills, or realized P&L unless present.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 32,\r\n            \"maxLength\": 256\r\n          },\r\n          \"intentId\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^fdi\\\\_\"\r\n          },\r\n          \"status\": {\r\n            \"type\": \"string\",\r\n            \"enum\": [\r\n              \"SUBMITTED\",\r\n              \"CONFIRMED\",\r\n              \"FAILED\",\r\n              \"REJECTED\"\r\n            ]\r\n          },\r\n          \"limit\": {\r\n            \"type\": \"integer\",\r\n            \"minimum\": 1,\r\n            \"maximum\": 250\r\n          }\r\n        },\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"read\"\r\n    },\r\n    {\r\n      \"name\": \"resolve_defi_intent\",\r\n      \"description\": \"Resolves a high-level natural language DeFi intent into structured parameters for policy/simulation/approval. Supervised execution uses local EIP-191/EIP-712 signing; bounded autonomy requires the separate grant described above. Autonomous Operator never receives private keys.\\r\\n\\r\\n**Intent Lifecycle — Plan → Approve → Execute → Observe**\\r\\nThe FarmDashIntent lifecycle enforces a strict pipeline. Every state-changing action must pass through policy, simulation, and approval gates before execution is allowed. These tools never hold private keys or broadcast transactions directly.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"action\": {\r\n            \"type\": \"string\",\r\n            \"enum\": [\r\n              \"swap\",\r\n              \"deposit\",\r\n              \"stake\",\r\n              \"provide_liquidity\",\r\n              \"withdraw\",\r\n              \"claim\"\r\n            ]\r\n          },\r\n          \"protocolId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"chainId\": {\r\n            \"anyOf\": [\r\n              {\r\n                \"type\": \"integer\",\r\n                \"exclusiveMinimum\": 0\r\n              },\r\n              {\r\n                \"type\": \"string\",\r\n                \"const\": \"solana-mainnet\"\r\n              }\r\n            ]\r\n          },\r\n          \"toChainId\": {\r\n            \"anyOf\": [\r\n              {\r\n                \"type\": \"integer\",\r\n                \"exclusiveMinimum\": 0\r\n              },\r\n              {\r\n                \"type\": \"string\",\r\n                \"const\": \"solana-mainnet\"\r\n              }\r\n            ]\r\n          },\r\n          \"tokenIn\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"amountIn\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^[0-9]+$\"\r\n          },\r\n          \"userAddress\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"tokenOut\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"amountOut\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^[0-9]+$\"\r\n          },\r\n          \"slippage\": {\r\n            \"type\": \"number\",\r\n            \"minimum\": 0.01,\r\n            \"maximum\": 5\r\n          },\r\n          \"poolAddress\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"deadline\": {\r\n            \"type\": \"number\"\r\n          },\r\n          \"constraints\": {\r\n            \"type\": \"object\",\r\n            \"properties\": {\r\n              \"minAmountOut\": {\r\n                \"type\": \"string\",\r\n                \"pattern\": \"^[0-9]+$\"\r\n              },\r\n              \"maxSlippageBps\": {\r\n                \"type\": \"integer\",\r\n                \"exclusiveMinimum\": 0\r\n              },\r\n              \"maxGasUsd\": {\r\n                \"type\": \"number\",\r\n                \"exclusiveMinimum\": 0\r\n              },\r\n              \"expectedUpsideUsd\": {\r\n                \"type\": \"number\",\r\n                \"exclusiveMinimum\": 0\r\n              },\r\n              \"riskBufferUsd\": {\r\n                \"type\": \"number\",\r\n                \"exclusiveMinimum\": 0\r\n              },\r\n              \"positiveNetEdge\": {\r\n                \"type\": \"boolean\"\r\n              }\r\n            },\r\n            \"additionalProperties\": false\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"action\",\r\n          \"protocolId\",\r\n          \"chainId\",\r\n          \"tokenIn\",\r\n          \"amountIn\",\r\n          \"userAddress\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"read\"\r\n    },\r\n    {\r\n      \"name\": \"create_intent\",\r\n      \"description\": \"Create a durable FarmDashIntent. This records what an agent wants to do — it never prepares, signs, broadcasts, or executes. The intent must include actor, action, chain, protocol, wallet, params, constraints, evidence, and `research_evidence_hash` (passed from Trail Intelligence).\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 32,\r\n            \"maxLength\": 256\r\n          },\r\n          \"intent\": {\r\n            \"type\": \"object\",\r\n            \"additionalProperties\": {},\r\n            \"description\": \"FarmDashIntent create input. Must include actor, action, chain, protocol, wallet, params, constraints, and evidence.\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"intent\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"write\"\r\n    },\r\n    {\r\n      \"name\": \"policy_check_intent\",\r\n      \"description\": \"Readiness probe for the generic intent policy gate. Public OpenClaw callers cannot provide trusted policy decisions; until the server policy evaluator is configured this returns policy_evaluator_unconfigured. Tool discovery does not grant policy authority.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 32,\r\n            \"maxLength\": 256\r\n          },\r\n          \"intentId\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^fdi\\\\_\"\r\n          },\r\n          \"policy\": {\r\n            \"type\": \"object\",\r\n            \"additionalProperties\": {}\r\n          },\r\n          \"context\": {\r\n            \"$ref\": \"#/properties/policy\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"intentId\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"read\"\r\n    },\r\n    {\r\n      \"name\": \"simulate_intent\",\r\n      \"description\": \"Readiness probe for the generic intent simulation gate. Public OpenClaw callers cannot record trusted simulation evidence; until a server verifier is configured this returns simulation_verifier_unconfigured. Tool discovery does not grant simulation authority.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 32,\r\n            \"maxLength\": 256\r\n          },\r\n          \"intentId\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^fdi\\\\_\"\r\n          },\r\n          \"simulation\": {\r\n            \"type\": \"object\",\r\n            \"additionalProperties\": {}\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"intentId\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"write\"\r\n    },\r\n    {\r\n      \"name\": \"request_approval_payload\",\r\n      \"description\": \"Build the EIP-712 IntentApproval payload that the human approver signs. This does not record approval or execute — it only constructs the typed data for the approver's wallet to sign.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 32,\r\n            \"maxLength\": 256\r\n          },\r\n          \"intentId\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^fdi\\\\_\"\r\n          },\r\n          \"approverAddress\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 1\r\n          },\r\n          \"decision\": {\r\n            \"type\": \"string\",\r\n            \"enum\": [\r\n              \"APPROVED\",\r\n              \"REJECTED\"\r\n            ],\r\n            \"default\": \"APPROVED\"\r\n          },\r\n          \"expiresInSeconds\": {\r\n            \"type\": \"integer\",\r\n            \"minimum\": 60,\r\n            \"maximum\": 600\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"intentId\",\r\n          \"approverAddress\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"read\"\r\n    },\r\n    {\r\n      \"name\": \"request_human_approval\",\r\n      \"description\": \"Compatibility wrapper for submitting a signed EIP-712 IntentApproval. Use `request_approval_payload` first to build the exact typed data, then submit the signature through this tool.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 32,\r\n            \"maxLength\": 256\r\n          },\r\n          \"intentId\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^fdi\\\\_\"\r\n          },\r\n          \"approverAddress\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 1\r\n          },\r\n          \"status\": {\r\n            \"type\": \"string\",\r\n            \"enum\": [\r\n              \"APPROVED\",\r\n              \"REJECTED\"\r\n            ],\r\n            \"default\": \"APPROVED\"\r\n          },\r\n          \"signature\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{130}$\"\r\n          },\r\n          \"simulationId\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^fdsim\\\\_\"\r\n          },\r\n          \"policyCheckId\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^fdpc\\\\_\"\r\n          },\r\n          \"maxUsdValue\": {\r\n            \"type\": \"number\",\r\n            \"minimum\": 0\r\n          },\r\n          \"nonce\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 1\r\n          },\r\n          \"expiresAt\": {\r\n            \"type\": \"string\",\r\n            \"format\": \"date-time\"\r\n          },\r\n          \"reason\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"metadata\": {\r\n            \"type\": \"object\",\r\n            \"additionalProperties\": {}\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"intentId\",\r\n          \"approverAddress\",\r\n          \"signature\",\r\n          \"simulationId\",\r\n          \"policyCheckId\",\r\n          \"maxUsdValue\",\r\n          \"nonce\",\r\n          \"expiresAt\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"execution\"\r\n    },\r\n    {\r\n      \"name\": \"submit_signed_approval\",\r\n      \"description\": \"Submit a signed EIP-712 IntentApproval payload to approve or reject an intent. This does not prepare or execute the intent — it only records the cryptographic approval decision.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 32,\r\n            \"maxLength\": 256\r\n          },\r\n          \"intentId\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^fdi\\\\_\"\r\n          },\r\n          \"approverAddress\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 1\r\n          },\r\n          \"decision\": {\r\n            \"type\": \"string\",\r\n            \"enum\": [\r\n              \"APPROVED\",\r\n              \"REJECTED\"\r\n            ],\r\n            \"default\": \"APPROVED\"\r\n          },\r\n          \"signature\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{130}$\"\r\n          },\r\n          \"simulationId\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^fdsim\\\\_\"\r\n          },\r\n          \"policyCheckId\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^fdpc\\\\_\"\r\n          },\r\n          \"maxUsdValue\": {\r\n            \"type\": \"number\",\r\n            \"minimum\": 0\r\n          },\r\n          \"nonce\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 1\r\n          },\r\n          \"expiresAt\": {\r\n            \"type\": \"string\",\r\n            \"format\": \"date-time\"\r\n          },\r\n          \"reason\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"metadata\": {\r\n            \"type\": \"object\",\r\n            \"additionalProperties\": {}\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"intentId\",\r\n          \"approverAddress\",\r\n          \"signature\",\r\n          \"simulationId\",\r\n          \"policyCheckId\",\r\n          \"maxUsdValue\",\r\n          \"nonce\",\r\n          \"expiresAt\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"execution\"\r\n    },\r\n    {\r\n      \"name\": \"get_approval_status\",\r\n      \"description\": \"Inspect whether an intent is awaiting approval, has been approved, was rejected, or is already executed. Returns the current lifecycle status and approval metadata.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 32,\r\n            \"maxLength\": 256\r\n          },\r\n          \"intentId\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^fdi\\\\_\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"intentId\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"read\"\r\n    },\r\n    {\r\n      \"name\": \"prepare_intent\",\r\n      \"description\": \"Validate typed adapter support and prepare an intent after policy, simulation, and approval gates pass. Registered adapters provide allowlisted validation. This does not broadcast a transaction.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 32,\r\n            \"maxLength\": 256\r\n          },\r\n          \"intentId\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^fdi\\\\_\"\r\n          },\r\n          \"preparation\": {\r\n            \"type\": \"object\",\r\n            \"additionalProperties\": {}\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"intentId\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"write\"\r\n    },\r\n    {\r\n      \"name\": \"execute_approved_intent\",\r\n      \"description\": \"Record the submitted, confirmed, failed, or rejected receipt for a prepared typed-adapter intent. Raw arbitrary calldata is rejected by the lifecycle API. Use this after the signing wallet has broadcast the transaction.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 32,\r\n            \"maxLength\": 256\r\n          },\r\n          \"intentId\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^fdi\\\\_\"\r\n          },\r\n          \"status\": {\r\n            \"type\": \"string\",\r\n            \"enum\": [\r\n              \"SUBMITTED\",\r\n              \"CONFIRMED\",\r\n              \"FAILED\",\r\n              \"REJECTED\"\r\n            ]\r\n          },\r\n          \"txHash\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"signature\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"signedPayload\": {\r\n            \"type\": \"object\",\r\n            \"additionalProperties\": {}\r\n          },\r\n          \"receipt\": {\r\n            \"$ref\": \"#/properties/signedPayload\"\r\n          },\r\n          \"details\": {\r\n            \"$ref\": \"#/properties/signedPayload\"\r\n          },\r\n          \"error\": {\r\n            \"type\": \"string\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"intentId\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"execution\"\r\n    },\r\n    {\r\n      \"name\": \"confirm_execution\",\r\n      \"description\": \"Record a confirmed receipt for a prepared or signed intent with a transaction hash. Use `get_receipt` for follow-up observation after submission.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 32,\r\n            \"maxLength\": 256\r\n          },\r\n          \"intentId\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^fdi\\\\_\"\r\n          },\r\n          \"txHash\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 1\r\n          },\r\n          \"details\": {\r\n            \"type\": \"object\",\r\n            \"additionalProperties\": {}\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"intentId\",\r\n          \"txHash\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"execution\"\r\n    },\r\n    {\r\n      \"name\": \"get_receipt\",\r\n      \"description\": \"Fetch one durable FarmDash receipt by receipt ID (`fdrcpt_*`). Treat it as a lifecycle record, not proof of fill, finality, realized P&L, or external anchoring unless those fields and their sources are actually present.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 32,\r\n            \"maxLength\": 256\r\n          },\r\n          \"receiptId\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^fdrcpt\\\\_\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"receiptId\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"read\"\r\n    },\r\n    {\r\n      \"name\": \"hire_virtuals_specialist\",\r\n      \"description\": \"Prepare a non-spendable, tenant-owned Virtuals ACP tender and return the exact EIP-712 approval payload. The customer's registered ACP wallet must sign that payload locally. Its local FarmDash ACP connector then creates and funds the three specialist jobs after explicit per-action approval. FarmDash is only the separately registered evaluator: it verifies the client, provider, evaluator, budget cap, deliverables, simulation, and Base receipts before completing or rejecting already customer-funded escrow jobs. Never provide a private key or RPC URL to this tool.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 1,\r\n            \"maxLength\": 200\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 32,\r\n            \"maxLength\": 256\r\n          },\r\n          \"idempotencyKey\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 16,\r\n            \"maxLength\": 200\r\n          },\r\n          \"task\": {\r\n            \"type\": \"object\",\r\n            \"additionalProperties\": {},\r\n            \"description\": \"Task payload retained by the local customer connector; FarmDash persists only its commitment hash.\"\r\n          },\r\n          \"simulationId\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 1,\r\n            \"maxLength\": 200\r\n          },\r\n          \"expectedOutputAmount\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^\\\\d+(?:\\\\.\\\\d+)?$\"\r\n          },\r\n          \"expectedGasUsdCents\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^[0-9]+$\"\r\n          },\r\n          \"expectedYieldUsdCents\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^[0-9]+$\"\r\n          },\r\n          \"maxPaymentUnits\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^[0-9]+$\",\r\n            \"description\": \"Maximum total raw Base USDC units (6 decimals) across the three customer-funded jobs.\"\r\n          },\r\n          \"providers\": {\r\n            \"type\": \"object\",\r\n            \"properties\": {\r\n              \"solidity_auditor\": {\r\n                \"type\": \"string\",\r\n                \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n              },\r\n              \"defi_economist\": {\r\n                \"type\": \"string\",\r\n                \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n              },\r\n              \"sentiment_analyst\": {\r\n                \"type\": \"string\",\r\n                \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n              }\r\n            },\r\n            \"required\": [\r\n              \"solidity_auditor\",\r\n              \"defi_economist\",\r\n              \"sentiment_analyst\"\r\n            ],\r\n            \"additionalProperties\": false\r\n          },\r\n          \"approvalNonce\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^\\\\d{10,20}$\"\r\n          },\r\n          \"approvalExpiresAt\": {\r\n            \"type\": \"string\",\r\n            \"format\": \"date-time\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"sessionId\",\r\n          \"agentAddress\",\r\n          \"sessionToken\",\r\n          \"idempotencyKey\",\r\n          \"task\",\r\n          \"simulationId\",\r\n          \"expectedOutputAmount\",\r\n          \"expectedGasUsdCents\",\r\n          \"expectedYieldUsdCents\",\r\n          \"maxPaymentUnits\",\r\n          \"providers\",\r\n          \"approvalNonce\",\r\n          \"approvalExpiresAt\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"read\"\r\n    },\r\n    {\r\n      \"name\": \"pause_autopilot\",\r\n      \"description\": \"Pause an available bounded-autopilot session. Read /api/v1/agent/status first; return the typed readiness error when runtime prerequisites are unmet.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"sessionId\",\r\n          \"agentAddress\",\r\n          \"sessionToken\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"write\"\r\n    },\r\n    {\r\n      \"name\": \"resume_autopilot\",\r\n      \"description\": \"Resume an available bounded-autopilot session after rechecking policy, grant, and runtime readiness.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"sessionId\",\r\n          \"agentAddress\",\r\n          \"sessionToken\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"write\"\r\n    },\r\n    {\r\n      \"name\": \"grant_session_key\",\r\n      \"description\": \"Create a separately authorized, scoped, expiring session-key grant. A session token or chat instruction is never a substitute for this grant.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \n\nArchive v1.0.12: 4 files, 15484 bytes\n\nFiles: skill-card.md (2571b), SKILL.json (44686b), SKILL.md (19254b), _meta.json (148b)\n\nFile v1.0.12:SKILL.md\n\n---\nname: FarmDash Autonomous Operator\ndescription: \"Use to run supervised autopilot cycles under a bounded, revocable session grant: intents, policy checks, approvals, receipts. Execution stays preview-gated.\"\ntags: [\"defi\",\"autonomous-defi-agent\",\"ai-agent\",\"defi-automation\",\"bounded-autonomy\",\"human-in-the-loop\",\"defi-guardrails\",\"openclaw\",\"agent-orchestration\",\"session-key\",\"delegated-execution\",\"ooda-loop\",\"intent-management\",\"risk-controls\",\"circuit-breaker\",\"agent-recovery\",\"zero-custody\",\"mcp\",\"web3\",\"farmdash\"]\nauthor: FarmDash Pioneers (@Parmasanandgarlic)\nhomepage: https://www.farmdash.one/agents\nversion: \"2.1.2\"\nicon: operator\nenv:\n  FARMDASH_API_KEY:\n    description: \"Optional Bearer token for Pioneer or Syndicate tier. Scout session status checks work without any key or with the public fd_scout_free token. Syndicate is $199/mo for teams, serious agents, 50k req/day, webhooks, unrestricted CORS, and advanced session/control tooling (including autonomous autopilot cycles).\"\n    required: false\nmetadata: {\"openclaw\":{\"homepage\":\"https://www.farmdash.one/agents\",\"skillKey\":\"farmdash-autonomous-operator\",\"primaryEnv\":\"FARMDASH_API_KEY\",\"apiKeyRequired\":false,\"freeScoutKeyless\":true,\"freeScoutKey\":\"fd_scout_free\",\"execution\":\"session-context-control\"}}\n---\n\n# FarmDash Autonomous Operator\n\n> Use this skill when running supervised sessions: persistent multi-skill context, bounded autopilot loops, circuit breakers, and recovery — never key custody.\n\n> [!NOTE]\n> **THEMATIC METAPHOR DISCLAIMER**\n> FarmDash is exclusively a decentralized finance (DeFi) software and AI agent intelligence platform. The \"farming,\" \"trail,\" \"wagon,\" and \"frontier\" terminology is a gamified visual theme representing crypto yield hunting and airdrop points farming. It does not relate to physical agriculture or agrifood industries.\n\n> [!IMPORTANT]\n> **ZERO-CUSTODY CRITICAL BOUNDARY & EXECUTION GATING**\n> This skill manages persistent agent sessions, control loops, intent routing, and optional bounded autonomy. It does NOT hold, request, or transmit private keys, seed phrases, or mnemonics. A session token alone is not execution authority. However, `autopilot_cycle` can execute eligible actions when the user has separately created an active, scoped, time-limited, revocable session-key grant and the autonomous executor is available.\n> \n> **Separate Approval Step Requirement:**\n> Without an active execution grant, state-changing actions require a separate user-signed execution step. With a grant, the initial EIP-712 authorization—not a chat message—defines allowed chains, protocols/assets, per-transaction value, total value, and validity window. Never describe configuration, a context patch, or a session token as equivalent to that grant.\n\nAutonomous Operator keeps a multi-skill agent coherent across turns. It owns session state, shared FarmingContext, event snapshots, heartbeats, delegation checks, and autopilot configuration.\n\nIt does not hold private keys. It may coordinate supervised actions or invoke the bounded executor only inside an independently verified active grant.\n\nSyndicate is the intended operator tier for production control loops: 50k requests/day, webhooks through Signal Architect, unrestricted CORS, and advanced session/control tooling for teams and serious agents.\n\n## Value-Aligned Monetization Protocol (v2.0 Upgrade)\nSustaining a persistent, stateful agent control loop requires high-availability infrastructure. This skill employs a strict, non-predatory monetization model:\n\n### 1. Syndicate-Tier Autopilot Gating\nIntent planning and review are available where the live status contract enables their dependencies. `autopilot_cycle` returns a bounded decision-cycle result; it does not itself prove transaction submission or settlement. Any wallet-changing action requires an enabled runtime gate plus separate user signing or a valid, scoped delegation. Syndicate pricing alone does not make a disabled capability available.\n\n* If Scout/Pioneer user requests `autopilot_cycle`: \"Continuous autopilot loops require Syndicate-tier infrastructure to maintain high-availability state and webhooks. You can manually orchestrate intents, or upgrade at farmdash.one/agents to unlock autonomous loops.\"\n\n## OODA-Inspired Control Loop (v2.0 Upgrade)\nThe Autonomous Operator is no longer a simple linear state machine. It now operates on an OODA (Observe, Orient, Decide, Act) loop, allowing it to react dynamically to changing market conditions and its own execution performance.\n\n### 1. Observe (Sense)\n* `get_event_stream_snapshot`: Pulls recent macro and protocol events.\n* `get_farming_context`: Reads current portfolio state, risk limits, and data freshness.\n* `get_agent_activity`: Reviews durable execution receipts and their statuses. It does not imply fill-quality or shadow-book metrics exist.\n\n### 2. Orient (Context & Risk Autotuning)\n* **Risk state:** Use only returned, source-labeled risk and execution evidence. Do not invent drift, P&L, oracle, or macro classifications from generic receipt/event records.\n* **Circuit breaker check:** Halt when an enforced bound, explicit context risk flag, stale required input, grant limit, or authoritative account guardrail is breached. Record the exact evidence and revision.\n\n### 3. Decide (Plan)\n* Use Trail Marshal to plan a workflow based on the oriented context.\n* `create_intent`: Formalize the exact parameters of the action.\n* `policy_check_intent`: Ensure the intent complies with user allowlists and global guardrails.\n\n### 4. Act (Execute & Observe)\n* Route the intent to Signal Architect (spot) or Futures Strategist (perps).\n* Wait for the user's local EIP-191/EIP-712 signature.\n* `execute_approved_intent`: Record the broadcast.\n* `get_receipt`: Observe the durable lifecycle receipt. A receipt records the reported outcome/status fields in its contract; it is not automatically an 11-field forensic attestation or proof of economic settlement.\n\n## Tools\n\n### `create_session`\nCreates a persistent agent session and returns a one-time `sessionToken`. Store it securely in the agent runtime. FarmDash stores only a hash.\n\n### `session_heartbeat`\n\n### Heartbeat and Freshness Discipline\nCall `session_heartbeat` during every active autonomous loop to extend expiry; on expiry enter Crash Recovery. Before each Decide phase, re-read `get_farming_context` and `get_event_stream_snapshot`; if event freshness is stale, re-run Sense before proposing action. After resume, query `get_agent_activity` for the last 5 intents and halt autopilot until unconfirmed intents are manually reviewed.\nExtends the session expiry. Use it during active autonomous loops. If a session expires, the Operator must enter Crash Recovery mode (see below).\n\n### `get_farming_context`\nReads shared context for the session:\n* objective.\n* portfolio scope.\n* risk settings (including dynamically tuned `riskMultiplier`).\n* workflow state (ACTIVE, HALTED, RECOVERING).\n* ledger summary.\n* data freshness timestamps.\n\n### `patch_farming_context`\nPatches shared context. The server controls `sessionId`, `agentAddress`, `revision`, and `updatedAt`; do not try to override them. Used for Dynamic Risk Autotuning and Circuit Breakers.\n\n### `get_event_stream_snapshot`\nReads recent agent events as a JSON snapshot. Use this before planning and after execution.\n\n### `verify_delegation`\nChecks whether the user's Hyperliquid API wallet delegation is in place for autonomous perps.\n\n### `configure_autopilot`\nConfigure bounded autonomous cycles. Respect user allowlists, risk limits, and execution confirmations. (Syndicate tier required for activation).\n\n### `autopilot_cycle`\nRun bounded autonomous cycles. Respect user allowlists, risk limits, and execution confirmations. (Syndicate tier required).\n\n### `agent_onboard`\nOne-call setup guide and capability map for autonomous operation.\n\n### ClawHub attribution\nThis skill's canonical ClawHub slug is `farmdash-autonomous-operator`. On every FarmDash API request (REST, OpenAPI, or MCP transport where headers are supported), send `X-ClawHub-Skill: farmdash-autonomous-operator`. Analytics-only and optional; requests without it still work. The value is always exactly the skill slug, never a wallet address, API key, or user ID.\n\n### `get_agent_activity`\nLists durable FarmDash receipts, optionally filtered by intent and status. Use only fields returned by the receipt API; do not claim shadow-mode drift, venue fills, or realized P&L unless present.\n\n### `resolve_defi_intent`\nResolves a high-level natural language DeFi intent into structured parameters for policy/simulation/approval. Supervised execution uses local EIP-191/EIP-712 signing; bounded autonomy requires the separate grant described above. Autonomous Operator never receives private keys.\n\n**Intent Lifecycle — Plan → Approve → Execute → Observe**\nThe FarmDashIntent lifecycle enforces a strict pipeline. Every state-changing action must pass through policy, simulation, and approval gates before execution is allowed. These tools never hold private keys or broadcast transactions directly.\n\n### Plan Phase\n\n### `create_intent`\nCreate a durable FarmDashIntent. This records what an agent wants to do — it never prepares, signs, broadcasts, or executes. The intent must include actor, action, chain, protocol, wallet, params, constraints, evidence, and `research_evidence_hash` (passed from Trail Intelligence).\n\n### `policy_check_intent`\nRun the explicit FarmDash policy gate for an intent. Execution remains blocked unless the latest policy check passes. Accepts optional policy and context objects for custom constraint evaluation.\n\n### `simulate_intent`\nRecord a mandatory simulation result for an intent. Prepare and execute are blocked until a successful, unexpired simulation exists. This ensures every execution has been dry-run first.\n\n### Approve Phase\n\n### `request_approval_payload`\nBuild the EIP-712 IntentApproval payload that the human approver signs. This does not record approval or execute — it only constructs the typed data for the approver's wallet to sign.\n\n### `request_human_approval`\nCompatibility wrapper for submitting a signed EIP-712 IntentApproval. Use `request_approval_payload` first to build the exact typed data, then submit the signature through this tool.\n\n### `submit_signed_approval`\nSubmit a signed EIP-712 IntentApproval payload to approve or reject an intent. This does not prepare or execute the intent — it only records the cryptographic approval decision.\n\n### `get_approval_status`\nInspect whether an intent is awaiting approval, has been approved, was rejected, or is already executed. Returns the current lifecycle status and approval metadata.\n\n### Execute Phase\n\n### `prepare_intent`\nValidate typed adapter support and prepare an intent after policy, simulation, and approval gates pass. Registered adapters provide allowlisted validation. This does not broadcast a transaction.\n\n### `execute_approved_intent`\nRecord the submitted, confirmed, failed, or rejected receipt for a prepared typed-adapter intent. Raw arbitrary calldata is rejected by the lifecycle API. Use this after the signing wallet has broadcast the transaction.\n\n### `confirm_execution`\nRecord a confirmed receipt for a prepared or signed intent with a transaction hash. Use `get_receipt` for follow-up observation after submission.\n\n### Observe Phase\n\n### `get_receipt`\n\n### Receipt-Grade Profit Reporting\nReport profit only from fields actually present in `get_receipt` or the reconciled ledger summary in `get_farming_context`. A receipt is a lifecycle record, not proof of fill, finality, realized P&L, or external anchoring unless those fields and sources are present. Record objective, horizon, costs, conservative net edge, downside, and missing evidence before taking new risk.\nFetch one durable FarmDash receipt by receipt ID (`fdrcpt_*`). Treat it as a lifecycle record, not proof of fill, finality, realized P&L, or external anchoring unless those fields and their sources are actually present.\n\n### `hire_virtuals_specialist`\nPrepare a non-spendable, tenant-owned Virtuals ACP tender and return the exact EIP-712 approval payload. The customer's registered ACP wallet must sign that payload locally. Its local FarmDash ACP connector then creates and funds the three specialist jobs after explicit per-action approval. FarmDash is only the separately registered evaluator: it verifies the client, provider, evaluator, budget cap, deliverables, simulation, and Base receipts before completing or rejecting already customer-funded escrow jobs. Never provide a private key or RPC URL to this tool.\n\n## Global Circuit Breakers & Crash Recovery (v2.0 Upgrade)\n\n### Profit Never Overrides a Halt\nWhen context is patched to `HALTED`, stop all new-risk actions and preserve only reduce/revoke/reconcile paths. Do not launch a dependent leg after submitted/pending/partial/unknown settlement. Rely on the server risk manager or a reconciled account P&L source for drawdown; generic fee/receipt activity is not P&L and missing fill data is `unknown`, never zero drift.\n\n### Circuit Breakers\nThe Operator monitors returned context, event, grant, receipt, and authoritative account state. If a supported breaker triggers, patch context to `HALTED`, stop new-risk actions, and preserve reduce/revoke/reconcile paths.\n\n* **Execution-quality breaker:** only when at least three authoritative fills permit side-adjusted implementation-shortfall calculation. Missing fill data is `unknown`, not zero drift.\n* **Market-data breaker:** only when the live tool actually supplies the cited mark/oracle/book timestamps and values. Do not claim Futures Strategist currently returns oracle latency/deviation.\n* **Drawdown breaker:** rely on the server risk manager or a reconciled account P&L source. Generic fee/receipt activity is not P&L.\n* **Grant breaker:** halt if the session-key grant is absent, expired, revoked, out of allowlist, over per-action/total value, or the bounded executor is unavailable.\n* **Dependency breaker:** after submitted/pending/partial/unknown settlement, do not launch a dependent leg.\n\n### Crash Recovery Protocol\nIf the Operator resumes a session (`create_session` or `session_heartbeat`) and detects the previous session timed out or crashed:\n1. Query `get_agent_activity` for the last 5 intents.\n2. Check `get_approval_status` for any intents stuck in `awaiting_approval`.\n3. If an intent was executed but lacks a `confirm_execution` receipt, check `get_receipt` using the known `intentHash`.\n4. Alert the user: \"Session recovered. Found 1 unconfirmed intent. Halting autopilot until manually reviewed.\"\n\n## Agent Rules\n* The session token is a capability. Never display it in normal user-facing prose.\n* A context patch is state, not permission.\n* A workflow plan is not a user confirmation.\n* If risk status is halted, do not call execution tools.\n* If event freshness is stale, re-run the sense phase before proposing action.\n* Never bypass the OODA loop. Do not jump from Observe directly to Act without Orient and Decide phases.\n* Never multiply heterogeneous heuristic scores into a synthetic confidence or execution permission.\n* Record objective/horizon, data provenance/freshness, full costs, conservative net edge, downside/invalidation, portfolio impact, and missing evidence before new risk.\n* Observe authoritative settlement before dependent actions. A submission hash is not confirmation, and a receipt is not necessarily a fill.\n* Use the smallest authority and budget required. Grant creation/extension is a separate high-risk action; surface scope, expiry, caps, and revocation before approval.\n\n### Session-Profit Grant Hygiene\nSize every `grant_session_key` to the smallest chains, protocols/assets, per-transaction value, total value, and validity window the plan needs. Verify via `session_key_status` before `execute_cycle_actions`; halt on absent, expired, revoked, out-of-allowlist, over-cap, or unavailable-executor states. Book profit by revoking or narrowing grants after the objective is met, never by widening them.\n\n## Disclaimers\nAutonomous operation can compound mistakes if risk limits are weak. Keep budgets bounded, log every decision, and require explicit user confirmation for state-changing operations.\n\n## FarmDash Resources\n\n- [FarmDash autonomous DeFi agent platform](https://www.farmdash.one/agents)\n- [FarmDash DeFi intelligence homepage](https://www.farmdash.one/)\n- [Canonical Autonomous Operator skill manual](https://www.farmdash.one/openclaw-skills/farmdash-autonomous-operator/SKILL.md)\n\n**Companion skills:** FarmDash Trail Marshal, FarmDash Signal Architect, FarmDash Futures Strategist, FarmDash Trail Intelligence, FarmDash Wagon Steward.\n\n**Why FarmDash:** Unlike 'autonomous' agents that hold keys, a FarmDash session token alone is not execution authority — actions move only under a scoped, time-limited, revocable EIP-712 grant, or a fresh user signature.\n\n<!-- farmdash-canonical-links:start -->\n\n## Official FarmDash Links\n\n- [FarmDash DeFi intelligence website](https://www.farmdash.one/)\n- [FarmDash Agent Hub](https://www.farmdash.one/agents)\n- [Canonical FarmDash Autonomous Operator skill manual](https://www.farmdash.one/openclaw-skills/farmdash-autonomous-operator/SKILL.md)\n- [Agent integration documentation](https://www.farmdash.one/docs)\n- [Live agent capability status](https://www.farmdash.one/api/v1/agent/status)\n- [OpenAPI contract](https://www.farmdash.one/agents/openapi.yaml)\n- [MCP discovery manifest](https://www.farmdash.one/.well-known/mcp.json)\n- [Fees and commercial terms](https://www.farmdash.one/fees)\n- [Security and authority boundaries](https://www.farmdash.one/security)\n\n### Capability tools represented by this skill\n\n- `pause_autopilot`: Pause an available bounded-autopilot session. Read /api/v1/agent/status first; return the typed readiness error when runtime prerequisites are unmet.\n- `resume_autopilot`: Resume an available bounded-autopilot session after rechecking policy, grant, and runtime readiness.\n- `grant_session_key`: Create a separately authorized, scoped, expiring session-key grant. A session token or chat instruction is never a substitute for this grant.\n- `revoke_session_key`: Revoke a session-key grant and verify the returned backend state before representing authority as removed.\n- `session_key_status`: Read authoritative grant status, limits, expiry, and revocation state.\n- `get_cycle_status`: Read one bounded-autopilot cycle and its evidence-backed status.\n- `execute_cycle_actions`: Request execution of eligible cycle actions only when the live status contract and active grant permit it; never infer enablement from tool discovery.\n- `create_mee_intent`: Create a Biconomy MEE cross-chain intent record. Creation is not simulation, authorization, submission, or settlement.\n- `simulate_mee_intent`: Simulate a created MEE intent and stop when costs, risk, or net edge fail policy.\n- `submit_mee_intent`: Submit a separately signed, successfully simulated MEE intent only when the live capability gate is available.\n- `get_mee_intent_status`: Read authoritative MEE intent status; pending or submitted is not settled.\n\n<!-- farmdash-canonical-links:end -->\n\nFile v1.0.12:_meta.json\n\n{\n  \"ownerId\": \"kn753be85erp4cey7vbq9aq9sd826p37\",\n  \"slug\": \"farmdash-autonomous-operator\",\n  \"version\": \"1.0.12\",\n  \"publishedAt\": 1790412717392\n}\n\nFile v1.0.12:skill-card.md\n\n## Description:\n\nCoordinates supervised DeFi autopilot cycles with policy checks, approvals, receipts, and bounded, revocable execution grants.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[parmasanandgarlic](https://clawhub.ai/user/parmasanandgarlic)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDeFi users and agent operators use this skill to plan and monitor supervised trading or yield workflows, review policy and simulation results, and approve or revoke narrowly scoped execution authority.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: A scoped session grant can authorize wallet-changing actions during its validity window.\n\nMitigation: Use narrow chain, protocol, and asset allowlists, small per-action and total caps, and short expiry; revoke the grant when finished.\n\nRisk: Cross-chain intents or specialist jobs can incur unintended spend if approval payloads are not reviewed.\n\nMitigation: Review simulation, budget, and exact approval payload before signing; never provide private keys, seed phrases, or RPC secrets.\n\nRisk: Autonomous decisions can compound mistakes when risk limits or settlement evidence are incomplete.\n\nMitigation: Keep execution preview-gated, halt on breached limits or uncertain settlement, and review receipts before dependent actions.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/parmasanandgarlic/skills/farmdash-autonomous-operator)\n- [FarmDash Agent Hub](https://www.farmdash.one/agents)\n- [FarmDash Autonomous Operator manual](https://www.farmdash.one/openclaw-skills/farmdash-autonomous-operator/SKILL.md)\n- [FarmDash agent integration documentation](https://www.farmdash.one/docs)\n- [FarmDash live capability status](https://www.farmdash.one/api/v1/agent/status)\n- [FarmDash security and authority boundaries](https://www.farmdash.one/security)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Configuration, Text]\n\n**Output Format:** [Markdown and structured JSON]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Intent plans, approval requests, status updates, and receipt summaries; transaction execution requires separate authorization.]\n\n## Skill Version(s):\n\n1.0.12 (source: ClawHub release metadata; bundled skill frontmatter says 2.1.2)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.12:SKILL.json\n\n{\n  \"name\": \"FarmDash Autonomous Operator\",\n  \"version\": \"2.1.2\",\n  \"description\": \"Use to run supervised autopilot cycles under a bounded, revocable session grant: intents, policy checks, approvals, receipts. Execution stays preview-gated.\",\n  \"tags\": [\n    \"defi\",\n    \"autonomous-defi-agent\",\n    \"ai-agent\",\n    \"defi-automation\",\n    \"bounded-autonomy\",\n    \"human-in-the-loop\",\n    \"defi-guardrails\",\n    \"openclaw\",\n    \"agent-orchestration\",\n    \"session-key\",\n    \"delegated-execution\",\n    \"ooda-loop\",\n    \"intent-management\",\n    \"risk-controls\",\n    \"circuit-breaker\",\n    \"agent-recovery\",\n    \"zero-custody\",\n    \"mcp\",\n    \"web3\",\n    \"farmdash\"\n  ],\n  \"author\": \"FarmDash Pioneers (@Parmasanandgarlic)\",\n  \"homepage\": \"https://www.farmdash.one/agents\",\n  \"icon\": \"operator\",\n  \"tools\": [\n    {\n      \"name\": \"create_session\",\n      \"description\": \"Creates a persistent agent session and returns a one-time `sessionToken`. Store it securely in the agent runtime. FarmDash stores only a hash.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"agentName\": {\n            \"type\": \"string\"\n          },\n          \"signature\": {\n            \"type\": \"string\",\n            \"minLength\": 1\n          },\n          \"nonce\": {\n            \"type\": \"string\",\n            \"minLength\": 1\n          },\n          \"issuedAt\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          },\n          \"signatureType\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"eip712\",\n              \"eip191\"\n            ]\n          }\n        },\n        \"required\": [\n          \"agentAddress\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"write\"\n    },\n    {\n      \"name\": \"session_heartbeat\",\n      \"description\": \"Extends the session expiry. Use it during active autonomous loops. If a session expires, the Operator must enter Crash Recovery mode (see below).\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"sessionId\",\n          \"agentAddress\",\n          \"sessionToken\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"write\"\n    },\n    {\n      \"name\": \"get_farming_context\",\n      \"description\": \"Reads shared context for the session:\\r\\n* objective.\\r\\n* portfolio scope.\\r\\n* risk settings (including dynamically tuned `riskMultiplier`).\\r\\n* workflow state (ACTIVE, HALTED, RECOVERING).\\r\\n* ledger summary.\\r\\n* data freshness timestamps.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"sessionId\",\n          \"agentAddress\",\n          \"sessionToken\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"patch_farming_context\",\n      \"description\": \"Patches shared context. The server controls `sessionId`, `agentAddress`, `revision`, and `updatedAt`; do not try to override them. Used for Dynamic Risk Autotuning and Circuit Breakers.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\"\n          },\n          \"patch\": {\n            \"type\": \"object\",\n            \"additionalProperties\": {}\n          }\n        },\n        \"required\": [\n          \"sessionId\",\n          \"agentAddress\",\n          \"sessionToken\",\n          \"patch\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"write\"\n    },\n    {\n      \"name\": \"get_event_stream_snapshot\",\n      \"description\": \"Reads recent agent events as a JSON snapshot. Use this before planning and after execution.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\"\n          },\n          \"since\": {\n            \"type\": \"string\"\n          },\n          \"types\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"limit\": {\n            \"type\": \"integer\",\n            \"minimum\": 1,\n            \"maximum\": 200\n          }\n        },\n        \"required\": [\n          \"sessionId\",\n          \"agentAddress\",\n          \"sessionToken\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"verify_delegation\",\n      \"description\": \"Checks whether the user's Hyperliquid API wallet delegation is in place for autonomous perps.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"apiWalletAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"ownerAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          }\n        },\n        \"required\": [\n          \"agentAddress\",\n          \"apiWalletAddress\",\n          \"ownerAddress\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"configure_autopilot\",\n      \"description\": \"Configure bounded autonomous cycles. Respect user allowlists, risk limits, and execution confirmations. (Syndicate tier required for activation).\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\"\n          },\n          \"strategies\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"assets\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"riskPreference\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"conservative\",\n              \"balanced\",\n              \"aggressive\"\n            ]\n          },\n          \"maxEquityPct\": {\n            \"type\": \"number\",\n            \"exclusiveMinimum\": 0,\n            \"maximum\": 0.8\n          },\n          \"rebalanceIntervalMin\": {\n            \"type\": \"integer\",\n            \"exclusiveMinimum\": 0\n          },\n          \"autoCompound\": {\n            \"type\": \"boolean\"\n          }\n        },\n        \"required\": [\n          \"sessionId\",\n          \"agentAddress\",\n          \"sessionToken\",\n          \"strategies\",\n          \"assets\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"write\"\n    },\n    {\n      \"name\": \"autopilot_cycle\",\n      \"description\": \"Run bounded autonomous cycles. Respect user allowlists, risk limits, and execution confirmations. (Syndicate tier required).\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\"\n          },\n          \"accountState\": {}\n        },\n        \"required\": [\n          \"sessionId\",\n          \"agentAddress\",\n          \"sessionToken\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"write\"\n    },\n    {\n      \"name\": \"agent_onboard\",\n      \"description\": \"One-call setup guide and capability map for autonomous operation. Takes no parameters.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {},\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"get_agent_activity\",\n      \"description\": \"Lists durable FarmDash receipts, optionally filtered by intent and status. Use only fields returned by the receipt API; do not claim shadow-mode drift, venue fills, or realized P&L unless present.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\",\n            \"minLength\": 32,\n            \"maxLength\": 256\n          },\n          \"intentId\": {\n            \"type\": \"string\",\n            \"pattern\": \"^fdi\\\\_\"\n          },\n          \"status\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"SUBMITTED\",\n              \"CONFIRMED\",\n              \"FAILED\",\n              \"REJECTED\"\n            ]\n          },\n          \"limit\": {\n            \"type\": \"integer\",\n            \"minimum\": 1,\n            \"maximum\": 250\n          }\n        },\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"resolve_defi_intent\",\n      \"description\": \"Resolves a high-level natural language DeFi intent into structured parameters for policy/simulation/approval. Supervised execution uses local EIP-191/EIP-712 signing; bounded autonomy requires the separate grant described above. Autonomous Operator never receives private keys.\\r\\n\\r\\n**Intent Lifecycle — Plan → Approve → Execute → Observe**\\r\\nThe FarmDashIntent lifecycle enforces a strict pipeline. Every state-changing action must pass through policy, simulation, and approval gates before execution is allowed. These tools never hold private keys or broadcast transactions directly.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"action\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"swap\",\n              \"deposit\",\n              \"stake\",\n              \"provide_liquidity\",\n              \"withdraw\",\n              \"claim\"\n            ]\n          },\n          \"protocolId\": {\n            \"type\": \"string\"\n          },\n          \"chainId\": {\n            \"anyOf\": [\n              {\n                \"type\": \"integer\",\n                \"exclusiveMinimum\": 0\n              },\n              {\n                \"type\": \"string\",\n                \"const\": \"solana-mainnet\"\n              }\n            ]\n          },\n          \"toChainId\": {\n            \"anyOf\": [\n              {\n                \"type\": \"integer\",\n                \"exclusiveMinimum\": 0\n              },\n              {\n                \"type\": \"string\",\n                \"const\": \"solana-mainnet\"\n              }\n            ]\n          },\n          \"tokenIn\": {\n            \"type\": \"string\"\n          },\n          \"amountIn\": {\n            \"type\": \"string\",\n            \"pattern\": \"^[0-9]+$\"\n          },\n          \"userAddress\": {\n            \"type\": \"string\"\n          },\n          \"tokenOut\": {\n            \"type\": \"string\"\n          },\n          \"amountOut\": {\n            \"type\": \"string\",\n            \"pattern\": \"^[0-9]+$\"\n          },\n          \"slippage\": {\n            \"type\": \"number\",\n            \"minimum\": 0.01,\n            \"maximum\": 5\n          },\n          \"poolAddress\": {\n            \"type\": \"string\"\n          },\n          \"deadline\": {\n            \"type\": \"number\"\n          },\n          \"constraints\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"minAmountOut\": {\n                \"type\": \"string\",\n                \"pattern\": \"^[0-9]+$\"\n              },\n              \"maxSlippageBps\": {\n                \"type\": \"integer\",\n                \"exclusiveMinimum\": 0\n              },\n              \"maxGasUsd\": {\n                \"type\": \"number\",\n                \"exclusiveMinimum\": 0\n              },\n              \"expectedUpsideUsd\": {\n                \"type\": \"number\",\n                \"exclusiveMinimum\": 0\n              },\n              \"riskBufferUsd\": {\n                \"type\": \"number\",\n                \"exclusiveMinimum\": 0\n              },\n              \"positiveNetEdge\": {\n                \"type\": \"boolean\"\n              }\n            },\n            \"additionalProperties\": false\n          }\n        },\n        \"required\": [\n          \"action\",\n          \"protocolId\",\n          \"chainId\",\n          \"tokenIn\",\n          \"amountIn\",\n          \"userAddress\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"create_intent\",\n      \"description\": \"Create a durable FarmDashIntent. This records what an agent wants to do — it never prepares, signs, broadcasts, or executes. The intent must include actor, action, chain, protocol, wallet, params, constraints, evidence, and `research_evidence_hash` (passed from Trail Intelligence).\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\",\n            \"minLength\": 32,\n            \"maxLength\": 256\n          },\n          \"intent\": {\n            \"type\": \"object\",\n            \"additionalProperties\": {},\n            \"description\": \"FarmDashIntent create input. Must include actor, action, chain, protocol, wallet, params, constraints, and evidence.\"\n          }\n        },\n        \"required\": [\n          \"intent\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"write\"\n    },\n    {\n      \"name\": \"policy_check_intent\",\n      \"description\": \"Readiness probe for the generic intent policy gate. Public OpenClaw callers cannot provide trusted policy decisions; until the server policy evaluator is configured this returns policy_evaluator_unconfigured. Tool discovery does not grant policy authority.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\",\n            \"minLength\": 32,\n            \"maxLength\": 256\n          },\n          \"intentId\": {\n            \"type\": \"string\",\n            \"pattern\": \"^fdi\\\\_\"\n          },\n          \"policy\": {\n            \"type\": \"object\",\n            \"additionalProperties\": {}\n          },\n          \"context\": {\n            \"$ref\": \"#/properties/policy\"\n          }\n        },\n        \"required\": [\n          \"intentId\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"simulate_intent\",\n      \"description\": \"Readiness probe for the generic intent simulation gate. Public OpenClaw callers cannot record trusted simulation evidence; until a server verifier is configured this returns simulation_verifier_unconfigured. Tool discovery does not grant simulation authority.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\",\n            \"minLength\": 32,\n            \"maxLength\": 256\n          },\n          \"intentId\": {\n            \"type\": \"string\",\n            \"pattern\": \"^fdi\\\\_\"\n          },\n          \"simulation\": {\n            \"type\": \"object\",\n            \"additionalProperties\": {}\n          }\n        },\n        \"required\": [\n          \"intentId\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"write\"\n    },\n    {\n      \"name\": \"request_approval_payload\",\n      \"description\": \"Build the EIP-712 IntentApproval payload that the human approver signs. This does not record approval or execute — it only constructs the typed data for the approver's wallet to sign.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\",\n            \"minLength\": 32,\n            \"maxLength\": 256\n          },\n          \"intentId\": {\n            \"type\": \"string\",\n            \"pattern\": \"^fdi\\\\_\"\n          },\n          \"approverAddress\": {\n            \"type\": \"string\",\n            \"minLength\": 1\n          },\n          \"decision\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"APPROVED\",\n              \"REJECTED\"\n            ],\n            \"default\": \"APPROVED\"\n          },\n          \"expiresInSeconds\": {\n            \"type\": \"integer\",\n            \"minimum\": 60,\n            \"maximum\": 600\n          }\n        },\n        \"required\": [\n          \"intentId\",\n          \"approverAddress\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"request_human_approval\",\n      \"description\": \"Compatibility wrapper for submitting a signed EIP-712 IntentApproval. Use `request_approval_payload` first to build the exact typed data, then submit the signature through this tool.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\",\n            \"minLength\": 32,\n            \"maxLength\": 256\n          },\n          \"intentId\": {\n            \"type\": \"string\",\n            \"pattern\": \"^fdi\\\\_\"\n          },\n          \"approverAddress\": {\n            \"type\": \"string\",\n            \"minLength\": 1\n          },\n          \"status\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"APPROVED\",\n              \"REJECTED\"\n            ],\n            \"default\": \"APPROVED\"\n          },\n          \"signature\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{130}$\"\n          },\n          \"simulationId\": {\n            \"type\": \"string\",\n            \"pattern\": \"^fdsim\\\\_\"\n          },\n          \"policyCheckId\": {\n            \"type\": \"string\",\n            \"pattern\": \"^fdpc\\\\_\"\n          },\n          \"maxUsdValue\": {\n            \"type\": \"number\",\n            \"minimum\": 0\n          },\n          \"nonce\": {\n            \"type\": \"string\",\n            \"minLength\": 1\n          },\n          \"expiresAt\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          },\n          \"reason\": {\n            \"type\": \"string\"\n          },\n          \"metadata\": {\n            \"type\": \"object\",\n            \"additionalProperties\": {}\n          }\n        },\n        \"required\": [\n          \"intentId\",\n          \"approverAddress\",\n          \"signature\",\n          \"simulationId\",\n          \"policyCheckId\",\n          \"maxUsdValue\",\n          \"nonce\",\n          \"expiresAt\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"execution\"\n    },\n    {\n      \"name\": \"submit_signed_approval\",\n      \"description\": \"Submit a signed EIP-712 IntentApproval payload to approve or reject an intent. This does not prepare or execute the intent — it only records the cryptographic approval decision.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\",\n            \"minLength\": 32,\n            \"maxLength\": 256\n          },\n          \"intentId\": {\n            \"type\": \"string\",\n            \"pattern\": \"^fdi\\\\_\"\n          },\n          \"approverAddress\": {\n            \"type\": \"string\",\n            \"minLength\": 1\n          },\n          \"decision\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"APPROVED\",\n              \"REJECTED\"\n            ],\n            \"default\": \"APPROVED\"\n          },\n          \"signature\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{130}$\"\n          },\n          \"simulationId\": {\n            \"type\": \"string\",\n            \"pattern\": \"^fdsim\\\\_\"\n          },\n          \"policyCheckId\": {\n            \"type\": \"string\",\n            \"pattern\": \"^fdpc\\\\_\"\n          },\n          \"maxUsdValue\": {\n            \"type\": \"number\",\n            \"minimum\": 0\n          },\n          \"nonce\": {\n            \"type\": \"string\",\n            \"minLength\": 1\n          },\n          \"expiresAt\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          },\n          \"reason\": {\n            \"type\": \"string\"\n          },\n          \"metadata\": {\n            \"type\": \"object\",\n            \"additionalProperties\": {}\n          }\n        },\n        \"required\": [\n          \"intentId\",\n          \"approverAddress\",\n          \"signature\",\n          \"simulationId\",\n          \"policyCheckId\",\n          \"maxUsdValue\",\n          \"nonce\",\n          \"expiresAt\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"execution\"\n    },\n    {\n      \"name\": \"get_approval_status\",\n      \"description\": \"Inspect whether an intent is awaiting approval, has been approved, was rejected, or is already executed. Returns the current lifecycle status and approval metadata.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\",\n            \"minLength\": 32,\n            \"maxLength\": 256\n          },\n          \"intentId\": {\n            \"type\": \"string\",\n            \"pattern\": \"^fdi\\\\_\"\n          }\n        },\n        \"required\": [\n          \"intentId\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"prepare_intent\",\n      \"description\": \"Validate typed adapter support and prepare an intent after policy, simulation, and approval gates pass. Registered adapters provide allowlisted validation. This does not broadcast a transaction.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\",\n            \"minLength\": 32,\n            \"maxLength\": 256\n          },\n          \"intentId\": {\n            \"type\": \"string\",\n            \"pattern\": \"^fdi\\\\_\"\n          },\n          \"preparation\": {\n            \"type\": \"object\",\n            \"additionalProperties\": {}\n          }\n        },\n        \"required\": [\n          \"intentId\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"write\"\n    },\n    {\n      \"name\": \"execute_approved_intent\",\n      \"description\": \"Record the submitted, confirmed, failed, or rejected receipt for a prepared typed-adapter intent. Raw arbitrary calldata is rejected by the lifecycle API. Use this after the signing wallet has broadcast the transaction.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\",\n            \"minLength\": 32,\n            \"maxLength\": 256\n          },\n          \"intentId\": {\n            \"type\": \"string\",\n            \"pattern\": \"^fdi\\\\_\"\n          },\n          \"status\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"SUBMITTED\",\n              \"CONFIRMED\",\n              \"FAILED\",\n              \"REJECTED\"\n            ]\n          },\n          \"txHash\": {\n            \"type\": \"string\"\n          },\n          \"signature\": {\n            \"type\": \"string\"\n          },\n          \"signedPayload\": {\n            \"type\": \"object\",\n            \"additionalProperties\": {}\n          },\n          \"receipt\": {\n            \"$ref\": \"#/properties/signedPayload\"\n          },\n          \"details\": {\n            \"$ref\": \"#/properties/signedPayload\"\n          },\n          \"error\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"intentId\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"execution\"\n    },\n    {\n      \"name\": \"confirm_execution\",\n      \"description\": \"Record a confirmed receipt for a prepared or signed intent with a transaction hash. Use `get_receipt` for follow-up observation after submission.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\",\n            \"minLength\": 32,\n            \"maxLength\": 256\n          },\n          \"intentId\": {\n            \"type\": \"string\",\n            \"pattern\": \"^fdi\\\\_\"\n          },\n          \"txHash\": {\n            \"type\": \"string\",\n            \"minLength\": 1\n          },\n          \"details\": {\n            \"type\": \"object\",\n            \"additionalProperties\": {}\n          }\n        },\n        \"required\": [\n          \"intentId\",\n          \"txHash\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"execution\"\n    },\n    {\n      \"name\": \"get_receipt\",\n      \"description\": \"Fetch one durable FarmDash receipt by receipt ID (`fdrcpt_*`). Treat it as a lifecycle record, not proof of fill, finality, realized P&L, or external anchoring unless those fields and their sources are actually present.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\",\n            \"minLength\": 32,\n            \"maxLength\": 256\n          },\n          \"receiptId\": {\n            \"type\": \"string\",\n            \"pattern\": \"^fdrcpt\\\\_\"\n          }\n        },\n        \"required\": [\n          \"receiptId\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"hire_virtuals_specialist\",\n      \"description\": \"Prepare a non-spendable, tenant-owned Virtuals ACP tender and return the exact EIP-712 approval payload. The customer's registered ACP wallet must sign that payload locally. Its local FarmDash ACP connector then creates and funds the three specialist jobs after explicit per-action approval. FarmDash is only the separately registered evaluator: it verifies the client, provider, evaluator, budget cap, deliverables, simulation, and Base receipts before completing or rejecting already customer-funded escrow jobs. Never provide a private key or RPC URL to this tool.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 200\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\",\n            \"minLength\": 32,\n            \"maxLength\": 256\n          },\n          \"idempotencyKey\": {\n            \"type\": \"string\",\n            \"minLength\": 16,\n            \"maxLength\": 200\n          },\n          \"task\": {\n            \"type\": \"object\",\n            \"additionalProperties\": {},\n            \"description\": \"Task payload retained by the local customer connector; FarmDash persists only its commitment hash.\"\n          },\n          \"simulationId\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 200\n          },\n          \"expectedOutputAmount\": {\n            \"type\": \"string\",\n            \"pattern\": \"^\\\\d+(?:\\\\.\\\\d+)?$\"\n          },\n          \"expectedGasUsdCents\": {\n            \"type\": \"string\",\n            \"pattern\": \"^[0-9]+$\"\n          },\n          \"expectedYieldUsdCents\": {\n            \"type\": \"string\",\n            \"pattern\": \"^[0-9]+$\"\n          },\n          \"maxPaymentUnits\": {\n            \"type\": \"string\",\n            \"pattern\": \"^[0-9]+$\",\n            \"description\": \"Maximum total raw Base USDC units (6 decimals) across the three customer-funded jobs.\"\n          },\n          \"providers\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"solidity_auditor\": {\n                \"type\": \"string\",\n                \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n              },\n              \"defi_economist\": {\n                \"type\": \"string\",\n                \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n              },\n              \"sentiment_analyst\": {\n                \"type\": \"string\",\n                \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n              }\n            },\n            \"required\": [\n              \"solidity_auditor\",\n              \"defi_economist\",\n              \"sentiment_analyst\"\n            ],\n            \"additionalProperties\": false\n          },\n          \"approvalNonce\": {\n            \"type\": \"string\",\n            \"pattern\": \"^\\\\d{10,20}$\"\n          },\n          \"approvalExpiresAt\": {\n            \"type\": \"string\",\n            \"format\": \"date-time\"\n          }\n        },\n        \"required\": [\n          \"sessionId\",\n          \"agentAddress\",\n          \"sessionToken\",\n          \"idempotencyKey\",\n          \"task\",\n          \"simulationId\",\n          \"expectedOutputAmount\",\n          \"expectedGasUsdCents\",\n          \"expectedYieldUsdCents\",\n          \"maxPaymentUnits\",\n          \"providers\",\n          \"approvalNonce\",\n          \"approvalExpiresAt\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"pause_autopilot\",\n      \"description\": \"Pause an available bounded-autopilot session. Read /api/v1/agent/status first; return the typed readiness error when runtime prerequisites are unmet.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"sessionId\",\n          \"agentAddress\",\n          \"sessionToken\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"write\"\n    },\n    {\n      \"name\": \"resume_autopilot\",\n      \"description\": \"Resume an available bounded-autopilot session after rechecking policy, grant, and runtime readiness.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"sessionId\",\n          \"agentAddress\",\n          \"sessionToken\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"write\"\n    },\n    {\n      \"name\": \"grant_session_key\",\n      \"description\": \"Create a separately authorized, scoped, expiring session-key grant. A session token or chat instruction is never a substitute for this grant.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\"\n          },\n          \"ownerAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionPublicKey\": {\n            \"type\": \"string\"\n          },\n          \"validAfter\": {\n            \"type\": \"string\",\n            \"description\": \"ISO timestamp\"\n          },\n          \"validUntil\": {\n            \"type\": \"string\",\n            \"description\": \"ISO timestamp\"\n          },\n          \"allowedProtocols\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"allowedAssets\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"maxValuePerTx\": {\n            \"type\": \"number\"\n          },\n          \"maxTotalValue\": {\n            \"type\": \"number\"\n          },\n          \"chainId\": {\n            \"type\": \"number\"\n          },\n          \"nonce\": {\n            \"type\": \"string\"\n          },\n          \"signature\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{130}$\"\n          }\n        },\n        \"required\": [\n          \"sessionId\",\n          \"agentAddress\",\n          \"sessionToken\",\n          \"ownerAddress\",\n          \"sessionPublicKey\",\n          \"validAfter\",\n          \"validUntil\",\n          \"allowedProtocols\",\n          \"allowedAssets\",\n          \"maxValuePerTx\",\n          \"maxTotalValue\",\n          \"chainId\",\n          \"nonce\",\n          \"signature\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"execution\"\n    },\n    {\n      \"name\": \"revoke_session_key\",\n      \"description\": \"Revoke a session-key grant and verify the returned backend state before representing authority as removed.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\"\n          },\n          \"ownerAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          }\n        },\n        \"required\": [\n          \"sessionId\",\n          \"agentAddress\",\n          \"sessionToken\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"execution\"\n    },\n    {\n      \"name\": \"session_key_status\",\n      \"description\": \"Read authoritative grant status, limits, expiry, and revocation state.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\"\n          },\n          \"ownerAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          }\n        },\n        \"required\": [\n          \"sessionId\",\n          \"agentAddress\",\n          \"sessionToken\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"get_cycle_status\",\n      \"description\": \"Read one bounded-autopilot cycle and its evidence-backed status.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\"\n          },\n          \"jobId\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"sessionId\",\n          \"agentAddress\",\n          \"sessionToken\",\n          \"jobId\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"execute_cycle_actions\",\n      \"description\": \"Request execution of eligible cycle actions only when the live status contract and active grant permit it; never infer enablement from tool discovery.\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"sessionId\": {\n            \"type\": \"string\"\n          },\n          \"agentAddress\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          },\n          \"sessionToken\": {\n            \"type\": \"string\"\n          },\n          \"jobId\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"sessionId\",\n          \"agentAddress\",\n          \"sessionToken\",\n          \"jobId\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"execution\"\n    },\n    {\n      \"name\": \"create_mee_intent\",\n      \"description\": \"Create a Biconomy MEE cross-chain intent record. Creation is not simulation, authorization, submission, or settlement.\",\n      \"inputSchema\": {\n        \"type\": \n\nArchive v1.0.11: 4 files, 13160 bytes\n\nFiles: skill-card.md (2930b), SKILL.json (14872b), SKILL.md (18819b), _meta.json (148b)\n\nArchive v1.0.10: 4 files, 11221 bytes\n\nFiles: skill-card.md (3079b), SKILL.json (10707b), SKILL.md (14450b), _meta.json (148b)\n\nArchive v1.0.9: 4 files, 10042 bytes\n\nFiles: skill-card.md (2806b), SKILL.json (10183b), SKILL.md (12424b), _meta.json (147b)\n\nArchive v1.0.8: 4 files, 10101 bytes\n\nFiles: skill-card.md (2779b), SKILL.json (10190b), SKILL.md (12438b), _meta.json (147b)\n\nArchive v1.0.7: 4 files, 9907 bytes\n\nFiles: skill-card.md (2415b), SKILL.json (10173b), SKILL.md (12438b), _meta.json (147b)\n\nArchive v1.0.6: 4 files, 5940 bytes\n\nFiles: skill-card.md (2944b), SKILL.json (4794b), SKILL.md (5630b), _meta.json (147b)\n\nArchive v1.0.5: 4 files, 5389 bytes\n\nFiles: skill-card.md (2821b), SKILL.json (4536b), SKILL.md (4741b), _meta.json (147b)\n\nArchive v1.0.4: 4 files, 5124 bytes\n\nFiles: skill-card.md (2958b), SKILL.json (4536b), SKILL.md (4127b), _meta.json (147b)","readmeExcerpt":"Skill: FarmDash Autonomous Operator Owner: parmasanandgarlic Summary: Use to run supervised autopilot cycles under a bounded, revocable session grant: intents, policy checks, approvals, receipts. Execution stays preview-gated. Tags: agent-memory:1.0.11, agent-orchestration:1.0.12, agent-recovery:1.0.11, agent-session:1.0.9, agent-sessions:1.0.13, agent-workflows:1.0.13, ai-agent:1.0.11, ai-agent-workflows:1.0.12, air","codeSnippets":[],"executableExamples":[],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\r\nname: FarmDash Autonomous Operator\r\ndescription: \"Use to run supervised autopilot cycles under a bounded, revocable session grant: intents, policy checks, approvals, receipts. Execution stays preview-gated.\"\r\ntags: [\"defi\",\"autonomous-defi-agent\",\"ai-agent\",\"defi-automation\",\"bounded-autonomy\",\"human-in-the-loop\",\"defi-guardrails\",\"openclaw\",\"agent-orchestration\",\"session-key\",\"delegated-execution\",\"ooda-loop\",\"intent-management\",\"risk-controls\",\"circuit-breaker\",\"agent-recovery\",\"zero-custody\",\"mcp\",\"web3\",\"farmdash\"]\r\nauthor: FarmDash Pioneers (@Parmasanandgarlic)\r\nhomepage: https://www.farmdash.one/agents\r\nversion: \"2.1.2\"\r\nicon: operator\r\nenv:\r\n  FARMDASH_API_KEY:\r\n    description: \"Optional Bearer token for Pioneer or Syndicate tier. Scout session status checks work without any key or with the public fd_scout_free token. Syndicate is $199/mo for teams, serious agents, 50k req/day, webhooks, unrestricted CORS, and advanced session/control tooling (including autonomous autopilot cycles).\"\r\n    required: false\r\nmetadata: {\"openclaw\":{\"homepage\":\"https://www.farmdash.one/agents\",\"skillKey\":\"farmdash-autonomous-operator\",\"primaryEnv\":\"FARMDASH_API_KEY\",\"apiKeyRequired\":false,\"freeScoutKeyless\":true,\"freeScoutKey\":\"fd_scout_free\",\"execution\":\"session-context-control\"}}\r\n---\r\n\r\n# FarmDash Autonomous Operator\r\n\r\n> Use this skill when running supervised sessions: persistent multi-skill context, bounded autopilot loops, circuit breakers, and recovery — never key custody.\r\n\r\n> [!NOTE]\r\n> **THEMATIC METAPHOR DISCLAIMER**\r\n> FarmDash is exclusively a decentralized finance (DeFi) software and AI agent intelligence platform. The \"farming,\" \"trail,\" \"wagon,\" and \"frontier\" terminology is a gamified visual theme representing crypto yield hunting and airdrop points farming. It does not relate to physical agriculture or agrifood industries.\r\n\r\n> [!IMPORTANT]\r\n> **ZERO-CUSTODY CRITICAL BOUNDARY & EXECUTION GATING**\r\n> This skill manages persistent agent sessions, control loops, intent routing, and optional bounded autonomy. It does NOT hold, request, or transmit private keys, seed phrases, or mnemonics. A session token alone is not execution authority. `autopilot_cycle` does not prove submission or settlement. BOUNDED_AUTONOMOUS is currently `preparation_only`: an active, scoped, time-limited, revocable session-key grant does not enable a disabled execution mode. Use USER_SIGNED for current wallet-changing execution.\r\n> \r\n> **Separate Approval Step Requirement:**\r\n> Without an active execution grant, state-changing actions require a separate user-signed execution step. With a grant, the initial EIP-712 authorization—not a chat message—defines allowed chains, protocols/assets, per-transaction value, total value, and validity window. Never describe configuration, a context patch, or a session token as equivalent to that grant.\r\n\r\nAutonomous Operator keeps a multi-skill agent coherent across turns. It owns session state, shared FarmingContext, event snapshots"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn753be85erp4cey7vbq9aq9sd826p37\",\n  \"slug\": \"farmdash-autonomous-operator\",\n  \"version\": \"1.0.13\",\n  \"publishedAt\": 1791161563499\n}"},{"path":"skill-card.md","content":"## Description:\n\nCoordinates supervised DeFi agent sessions, policy checks, approvals, and receipts while keeping execution preview-gated.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[parmasanandgarlic](https://clawhub.ai/user/parmasanandgarlic)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDeFi agent operators use this skill to coordinate supervised intent planning, policy checks, user approvals, and receipt tracking across persistent sessions. Wallet-changing actions require separate signing and an enabled execution mode.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: DeFi automation can cause financial loss if grant scopes or budgets are too broad.\n\nMitigation: Limit allowlists, spending caps, and expiry; verify grant state and revoke access when no longer needed.\n\nRisk: A proposed or prepared action may be mistaken for an executed and settled transaction.\n\nMitigation: Use USER_SIGNED execution unless a bounded grant and operational execution gate are deliberately approved; check authoritative receipts before dependent actions.\n\nRisk: Exposing wallet secrets would compromise signing authority.\n\nMitigation: Never provide private keys, seed phrases, or RPC credentials to the skill.\n\n## Reference(s):\n\n- [FarmDash Autonomous Operator on ClawHub](https://clawhub.ai/parmasanandgarlic/skills/farmdash-autonomous-operator)\n- [FarmDash Agent Hub](https://www.farmdash.one/agents)\n- [FarmDash agent integration documentation](https://www.farmdash.one/docs)\n- [FarmDash live capability status](https://www.farmdash.one/api/v1/agent/status)\n- [FarmDash security and authority boundaries](https://www.farmdash.one/security)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Text, API calls]\n\n**Output Format:** [Text and structured API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Intent, approval, session, and receipt status; a cycle result is not proof of settlement.]\n\n## Skill Version(s):\n\n1.0.13 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."},{"path":"SKILL.json","content":"{\r\n  \"name\": \"FarmDash Autonomous Operator\",\r\n  \"version\": \"2.1.2\",\r\n  \"description\": \"Use to run supervised autopilot cycles under a bounded, revocable session grant: intents, policy checks, approvals, receipts. Execution stays preview-gated.\",\r\n  \"tags\": [\r\n    \"defi\",\r\n    \"autonomous-defi-agent\",\r\n    \"ai-agent\",\r\n    \"defi-automation\",\r\n    \"bounded-autonomy\",\r\n    \"human-in-the-loop\",\r\n    \"defi-guardrails\",\r\n    \"openclaw\",\r\n    \"agent-orchestration\",\r\n    \"session-key\",\r\n    \"delegated-execution\",\r\n    \"ooda-loop\",\r\n    \"intent-management\",\r\n    \"risk-controls\",\r\n    \"circuit-breaker\",\r\n    \"agent-recovery\",\r\n    \"zero-custody\",\r\n    \"mcp\",\r\n    \"web3\",\r\n    \"farmdash\"\r\n  ],\r\n  \"author\": \"FarmDash Pioneers (@Parmasanandgarlic)\",\r\n  \"homepage\": \"https://www.farmdash.one/agents\",\r\n  \"icon\": \"operator\",\r\n  \"tools\": [\r\n    {\r\n      \"name\": \"create_session\",\r\n      \"description\": \"Creates a persistent agent session and returns a one-time `sessionToken`. Store it securely in the agent runtime. FarmDash stores only a hash.\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"agentName\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"signature\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 1\r\n          },\r\n          \"nonce\": {\r\n            \"type\": \"string\",\r\n            \"minLength\": 1\r\n          },\r\n          \"issuedAt\": {\r\n            \"type\": \"string\",\r\n            \"format\": \"date-time\"\r\n          },\r\n          \"signatureType\": {\r\n            \"type\": \"string\",\r\n            \"enum\": [\r\n              \"eip712\",\r\n              \"eip191\"\r\n            ]\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"agentAddress\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"write\"\r\n    },\r\n    {\r\n      \"name\": \"session_heartbeat\",\r\n      \"description\": \"Extends the session expiry. Use it during active autonomous loops. If a session expires, the Operator must enter Crash Recovery mode (see below).\",\r\n      \"inputSchema\": {\r\n        \"type\": \"object\",\r\n        \"properties\": {\r\n          \"sessionId\": {\r\n            \"type\": \"string\"\r\n          },\r\n          \"agentAddress\": {\r\n            \"type\": \"string\",\r\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\r\n          },\r\n          \"sessionToken\": {\r\n            \"type\": \"string\"\r\n          }\r\n        },\r\n        \"required\": [\r\n          \"sessionId\",\r\n          \"agentAddress\",\r\n          \"sessionToken\"\r\n        ],\r\n        \"additionalProperties\": false,\r\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\r\n      },\r\n      \"outputHints\": [],\r\n      \"category\": \"write\"\r\n    },\r\n    {\r\n      \"name\": \"get_farming_context\",\r\n      \"description\": \"Reads shared context for the session:\\r\\n* objective.\\r\\n* portfolio "}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Use to run supervised autopilot cycles under a bounded, revocable session grant: intents, policy checks, approvals, receipts. Execution stays preview-gated. Skill: FarmDash Autonomous Operator Owner: parmasanandgarlic Summary: Use to run supervised autopilot cycles under a bounded, revocable session grant: intents, policy checks, approvals, receipts. Execution stays preview-gated. Tags: agent-memory:1.0.11, agent-orchestration:1.0.12, agent-recovery:1.0.11, agent-session:1.0.9, agent-sessions:1.0.13, agent-workflows:1.0.13, ai-agent:1.0.11, ai-agent-workflows:1.0.12, air","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1678,"uniquenessScore":47,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T06:37:00.809Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T06:37:00.809Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:45:00.154Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}