Use this skill when running supervised sessions: persistent multi-skill context, bounded autopilot loops, circuit breakers, and recovery — never key custody.
[!NOTE] THEMATIC METAPHOR DISCLAIMER 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.
[!IMPORTANT] ZERO-CUSTODY CRITICAL BOUNDARY & EXECUTION GATING 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_cycledoes not prove submission or settlement. BOUNDED_AUTONOMOUS is currentlypreparation_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.Separate Approval Step Requirement: 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.
Autonomous Operator keeps a multi-skill agent coherent across turns. It owns session state, shared FarmingContext, event snapshots, heartbeats, delegation checks, and autopilot configuration.
It 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.
Syndicate 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.
Sustaining a persistent, stateful agent control loop requires high-availability infrastructure. This skill employs a strict, non-predatory monetization model:
Intent 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.
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."The 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.
get_event_stream_snapshot: Pulls recent macro and protocol events.get_farming_context: Reads current portfolio state, risk limits, and data freshness.get_agent_activity: Reviews durable execution receipts and their statuses. It does not imply fill-quality or shadow-book metrics exist.create_intent: Formalize the exact parameters of the action.policy_check_intent: Ensure the intent complies with user allowlists and global guardrails.execute_approved_intent: Record the broadcast.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.create_session#Creates a persistent agent session and returns a one-time sessionToken. Store it securely in the agent runtime. FarmDash stores only a hash.
session_heartbeat#Call 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.
Extends the session expiry. Use it during active autonomous loops. If a session expires, the Operator must enter Crash Recovery mode (see below).
get_farming_context#Reads shared context for the session:
riskMultiplier).patch_farming_context#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.
get_event_stream_snapshot#Reads recent agent events as a JSON snapshot. Use this before planning and after execution.
verify_delegation#Checks whether the user's Hyperliquid API wallet delegation is in place for autonomous perps.
configure_autopilot#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.
autopilot_cycle#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.
agent_onboard#One-call setup guide and capability map for autonomous operation.
FarmDash exposes two explicit execution modes across all machine surfaces:
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.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.
This 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.
register_execution_delegation).get_execution_authority.prepare_autonomous_swap. FarmDash evaluates all 13 policy invariants, verifies fresh simulation, creates an atomic budget reservation, and digests the calldata.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.confirm_autonomous_swap with the transaction hash to commit budget and emit a durable receipt.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.
get_execution_authority#Query execution authority mode (USER_SIGNED vs BOUNDED_AUTONOMOUS), zero-custody confirmation, and active delegation status.
request_execution_delegation#Request 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.
register_execution_delegation#Register 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.
revoke_execution_authority#Revoke active bounded execution authority immediately across all serverless instances.
prepare_autonomous_swap#Prepare 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.
confirm_autonomous_swap#Submit execution confirmation and on-chain transaction hash for economic reconciliation and receipt generation.
This 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.
get_agent_activity#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.
resolve_defi_intent#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.
Intent Lifecycle — Plan → Approve → Execute → Observe The 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.
create_intent#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).
policy_check_intent#Run 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.
simulate_intent#Record 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.
request_approval_payload#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.
request_human_approval#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.
submit_signed_approval#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.
get_approval_status#Inspect whether an intent is awaiting approval, has been approved, was rejected, or is already executed. Returns the current lifecycle status and approval metadata.
prepare_intent#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.
execute_approved_intent#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.
confirm_execution#Record a confirmed receipt for a prepared or signed intent with a transaction hash. Use get_receipt for follow-up observation after submission.
get_receipt#Report 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.
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.
hire_virtuals_specialist#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.
When 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.
The 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.
unknown, not zero drift.If the Operator resumes a session ( create_session or session_heartbeat) and detects the previous session timed out or crashed:
get_agent_activity for the last 5 intents.get_approval_status for any intents stuck in awaiting_approval.confirm_execution receipt, check get_receipt using the known intentHash.Size 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.
Autonomous operation can compound mistakes if risk limits are weak. Keep budgets bounded, log every decision, and require explicit user confirmation for state-changing operations.
Companion skills: FarmDash Trail Marshal, FarmDash Signal Architect, FarmDash Futures Strategist, FarmDash Trail Intelligence, FarmDash Wagon Steward.
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.
pause_autopilot: Pause an available bounded-autopilot session. Read /api/v1/agent/status first; return the typed readiness error when runtime prerequisites are unmet.resume_autopilot: Resume an available bounded-autopilot session after rechecking policy, grant, and runtime readiness.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.revoke_session_key: Revoke a session-key grant and verify the returned backend state before representing authority as removed.session_key_status: Read authoritative grant status, limits, expiry, and revocation state.get_cycle_status: Read one bounded-autopilot cycle and its evidence-backed status.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.create_mee_intent: Create a Biconomy MEE cross-chain intent record. Creation is not simulation, authorization, submission, or settlement.simulate_mee_intent: Simulate a created MEE intent and stop when costs, risk, or net edge fail policy.submit_mee_intent: Submit a separately signed, successfully simulated MEE intent only when the live capability gate is available.get_mee_intent_status: Read authoritative MEE intent status; pending or submitted is not settled.get_execution_authority: Query execution authority mode (USER_SIGNED vs BOUNDED_AUTONOMOUS), zero-custody confirmation, and active delegation status.request_execution_delegation: Request an exact EIP-712 / ERC-8196 bounded delegation payload for user wallet approval.register_execution_delegation: Register a user-signed bounded delegation grant for autonomous execution inside policy bounds.revoke_execution_authority: Revoke active bounded execution authority for an owner or agent session.prepare_autonomous_swap: Prepare an autonomous spot swap within signed delegation bounds with atomic budget reservation.confirm_autonomous_swap: Submit execution confirmation and transaction hash for economic reconciliation and receipt generation.release_autonomous_reservation: Safely release an autonomous budget reservation prior to broadcast when local signing or submission is aborted.