{"id":"4d78e979-f3fa-4638-85ec-248f21b999bf","entityType":"agent","slug":"clawhub-parmasanandgarlic-farmdash-wagon-steward","name":"FarmDash Wagon Steward","canonicalUrl":"https://www.xpersona.co/agent/clawhub-parmasanandgarlic-farmdash-wagon-steward","canonicalPath":"/agent/clawhub-parmasanandgarlic-farmdash-wagon-steward","generatedAt":"2026-10-10T08:56:37.890Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T03:56:00.545Z","emptyReason":null},"description":"Use when watching a DeFi portfolio: balances, position health, idle capital, drift. Read-only; never rebalances or moves funds without your signature. Skill: FarmDash Wagon Steward Owner: parmasanandgarlic Summary: Use when watching a DeFi portfolio: balances, position health, idle capital, drift. Read-only; never rebalances or moves funds without your signature. Tags: agent-orchestration:1.0.9, ai-agent:1.7.3, airdrop:1.0.9, allocation-analysis:1.7.3, arbitrum:1.7.3, asset-allocation:1.7.3, asset-tracking:1.0.8, automation:1.0.9, autonomous-agent:1.0.9, balances:1","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.7K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s177a1xxprmvcbyygraxwvbf5s83qzs6:farmdash-wagon-steward","sourceUrl":"https://clawhub.ai/parmasanandgarlic/farmdash-wagon-steward","homepage":"https://clawhub.ai/parmasanandgarlic/skills/farmdash-wagon-steward","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/parmasanandgarlic/farmdash-wagon-steward","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/parmasanandgarlic/skills/farmdash-wagon-steward","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":65,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Use when watching a DeFi portfolio: balances, position health, idle capital, drift. Read-only; never rebalances or moves funds without your signature. Skill: Fa"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T03:56:00.545Z","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-10T03:56:00.545Z","emptyReason":null},"stars":null,"forks":null,"downloads":1710,"packageName":null,"latestVersion":"1.7.3","tractionLabel":"1.7K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T03:56:00.510Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T03:56:00.545Z","lastCrawledAt":"2026-10-10T03:56:00.510Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T03:56:00.510Z","lastVerifiedAt":null,"highlights":[{"version":"1.7.3","createdAt":"2026-09-26T08:49:54.584Z","changelog":"- Removed the file skill-card.md. - No functional or feature changes; documentation/content only. - The remaining documentation and capabilities are unchanged.","fileCount":4,"zipByteSize":13497},{"version":"1.0.11","createdAt":"2026-09-06T11:02:50.946Z","changelog":"- Removed the file skill-card.md. - No other functional or configuration changes.","fileCount":4,"zipByteSize":13413},{"version":"1.0.10","createdAt":"2026-08-04T05:18:59.864Z","changelog":"FarmDash Wagon Steward v1.0.10 - Removed the redundant skill-card.md file. - Updated capability and tool descriptions in SKILL.md for improved clarity and accuracy. - Refined supported tags and shortened the description for better discoverability. - Clarified what data is accessible in each tool, especially regarding portfolio coverage and limits. - Emphasized current tool mappings and compatibility notes to prevent misinterpretation of returned data.","fileCount":4,"zipByteSize":12429},{"version":"1.0.9","createdAt":"2026-06-28T01:31:37.169Z","changelog":"- Removed the file: skill-card.md - Updated the skill homepage URL in SKILL.md from https://www.farmdash.one to https://www.farmdash.one/agents - Clarified description and capabilities for the \"Syndicate\" tier in the Tier Model table - No functional or API changes; documentation and metadata improvements only","fileCount":4,"zipByteSize":11873},{"version":"1.0.8","createdAt":"2026-06-01T05:42:18.126Z","changelog":"FarmDash Wagon Steward 1.0.8 - Removed the file: skill-card.md - No functional or behavioral changes to the skill itself.","fileCount":4,"zipByteSize":11749},{"version":"1.0.7","createdAt":"2026-06-01T02:33:02.294Z","changelog":"FarmDash Wagon Steward v1.0.7 - Removed the file: skill-card.md. - No changes to core logic or runtime; functionality and supported endpoints remain unchanged. - No new features or bug fixes. - Update is limited to documentation/file cleanup.","fileCount":4,"zipByteSize":11208},{"version":"1.0.6","createdAt":"2026-05-30T23:49:17.009Z","changelog":"farmdash-wagon-steward v1.0.6 - Added SKILL.json file for improved skill configuration or registry compatibility. - Removed skill-card.md, possibly to consolidate documentation or remove redundancy. - Updated Pioneer-tier subscription pricing from $29/mo to $39.99/mo in documentation. - No functional or endpoint changes; this is a documentation and packaging update.","fileCount":4,"zipByteSize":10811},{"version":"1.0.5","createdAt":"2026-05-25T22:48:42.144Z","changelog":"No changes detected in this release. - Version updated with no file or content changes. - No new features, bugfixes, or documentation updates included.","fileCount":3,"zipByteSize":9810}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s177a1xxprmvcbyygraxwvbf5s83qzs6:farmdash-wagon-steward","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-wagon-steward/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-wagon-steward/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-wagon-steward/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-wagon-steward/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-wagon-steward/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-wagon-steward/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-10T08:56:37.885Z"}},"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-wagon-steward/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-wagon-steward/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-wagon-steward/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-parmasanandgarlic-farmdash-wagon-steward/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-10T03:56:00.545Z","emptyReason":null},"readme":"Skill: FarmDash Wagon Steward\n\nOwner: parmasanandgarlic\n\nSummary: Use when watching a DeFi portfolio: balances, position health, idle capital, drift. Read-only; never rebalances or moves funds without your signature.\n\nTags: agent-orchestration:1.0.9, ai-agent:1.7.3, airdrop:1.0.9, allocation-analysis:1.7.3, arbitrum:1.7.3, asset-allocation:1.7.3, asset-tracking:1.0.8, automation:1.0.9, autonomous-agent:1.0.9, balances:1.0.4, base:1.7.3, capital-allocation:1.7.3, capital-efficiency:1.7.3, capital-optimization:1.7.3, clawhub:1.7.3, crypto:1.0.9, crypto-agent:1.7.3, crypto-dashboard:1.0.11, crypto-portfolio:1.7.3, crypto-portfolio-tracker:1.7.3, crypto-wallet:1.7.3, debank-alternative:1.0.11, defi:1.7.3, defi-agent:1.7.3, defi-portfolio:1.7.3, defi-positions:1.7.3, defi-wallet:1.7.3, ethereum:1.7.3, evm:1.0.9, evm-wallet:1.7.3, farmdash:1.7.3, idle-capital:1.7.3, idle-cash-finder:1.0.11, idle-stablecoins:1.7.3, latest:1.7.3, mcp:1.7.3, model-context-protocol:1.7.3, multi-chain:1.0.9, multi-chain-portfolio:1.7.3, multichain:1.7.3, multichain-portfolio:1.7.3, non-custodial:1.7.3, on-chain-portfolio:1.7.3, onchain:1.0.9, onchain-portfolio:1.7.3, openclaw:1.7.3, opportunity-cost:1.7.3, optimism:1.7.3, polygon:1.7.3, portfolio:1.0.9, portfolio-agent:1.7.3, portfolio-analysis:1.7.3, portfolio-diagnostics:1.7.3, portfolio-drift:1.7.3, portfolio-health:1.7.3, portfolio-management:1.7.3, portfolio-monitoring:1.7.3, portfolio-rebalancing:1.7.3, portfolio-risk:1.7.3, portfolio-state:1.7.3, portfolio-tracker:1.7.3, position-health:1.7.3, position-tracker:1.0.9, position-tracking:1.7.3, read-only:1.7.3, rebalance-analysis:1.7.3, rebalancing:1.0.9, solana:1.7.3, solana-portfolio:1.0.11, stablecoin-analysis:1.7.3, stablecoins:1.0.8, syndicate-tier:1.0.9, token-balances:1.0.8, wagon-steward:1.7.3, wallet:1.0.9, wallet-analysis:1.7.3, wallet-analytics:1.7.3, wallet-balances:1.7.3, wallet-monitoring:1.7.3, wallet-state:1.7.3, wallet-tracker:1.0.11, web3:1.0.9, web3-agent:1.7.3, yield-farming:1.0.9, yield-positions:1.7.3, zerion-alternative:1.0.11, zero-custody:1.7.3\n\nVersion history:\n\nv1.7.3 | 2026-09-26T08:49:54.584Z | user\n\n- Removed the file skill-card.md.\n- No functional or feature changes; documentation/content only.\n- The remaining documentation and capabilities are unchanged.\n\nv1.0.11 | 2026-09-06T11:02:50.946Z | user\n\n- Removed the file skill-card.md.\n- No other functional or configuration changes.\n\nv1.0.10 | 2026-08-04T05:18:59.864Z | user\n\nFarmDash Wagon Steward v1.0.10\n\n- Removed the redundant skill-card.md file.\n- Updated capability and tool descriptions in SKILL.md for improved clarity and accuracy.\n- Refined supported tags and shortened the description for better discoverability.\n- Clarified what data is accessible in each tool, especially regarding portfolio coverage and limits.\n- Emphasized current tool mappings and compatibility notes to prevent misinterpretation of returned data.\n\nv1.0.9 | 2026-06-28T01:31:37.169Z | user\n\n- Removed the file: skill-card.md\n- Updated the skill homepage URL in SKILL.md from https://www.farmdash.one to https://www.farmdash.one/agents\n- Clarified description and capabilities for the \"Syndicate\" tier in the Tier Model table\n- No functional or API changes; documentation and metadata improvements only\n\nv1.0.8 | 2026-06-01T05:42:18.126Z | user\n\nFarmDash Wagon Steward 1.0.8\n\n- Removed the file: skill-card.md\n- No functional or behavioral changes to the skill itself.\n\nv1.0.7 | 2026-06-01T02:33:02.294Z | user\n\nFarmDash Wagon Steward v1.0.7\n\n- Removed the file: skill-card.md.\n- No changes to core logic or runtime; functionality and supported endpoints remain unchanged.\n- No new features or bug fixes. \n- Update is limited to documentation/file cleanup.\n\nv1.0.6 | 2026-05-30T23:49:17.009Z | user\n\nfarmdash-wagon-steward v1.0.6\n\n- Added SKILL.json file for improved skill configuration or registry compatibility.\n- Removed skill-card.md, possibly to consolidate documentation or remove redundancy.\n- Updated Pioneer-tier subscription pricing from $29/mo to $39.99/mo in documentation.\n- No functional or endpoint changes; this is a documentation and packaging update.\n\nv1.0.5 | 2026-05-25T22:48:42.144Z | user\n\nNo changes detected in this release.\n\n- Version updated with no file or content changes.\n- No new features, bugfixes, or documentation updates included.\n\nv1.0.4 | 2026-05-25T05:36:57.482Z | user\n\nFarmDash Wagon Steward 1.0.4\n\n- Added public free tier key \"fd_scout_free\" for Scout-tier usage (no API key required).\n- Updated environment variable documentation to clarify that Scout tier supports keyless or public key queries.\n- Adjusted metadata for better clarity on key requirements and support for keyless free access.\n- No functional or behavior changes to core skill tools.\n\nv1.0.3 | 2026-05-22T17:17:39.265Z | user\n\nNo user-facing changes detected in this version.\n\n- No file changes were made in version 1.0.3.\n- Functionality and documentation remain unchanged.\n\nv1.0.2 | 2026-05-21T00:16:41.000Z | user\n\nNo user-facing changes in this release.\n\n- Version bumped from 1.0.1 to 1.0.2 with no file or documentation changes detected.\n\nv1.0.1 | 2026-05-20T04:19:47.798Z | user\n\nFarmDash Wagon Steward 1.0.1 → 1.0.2 changes:\n\n- Updated MCP tool list: clarified the distinction between direct MCP endpoints and derived procedures (`get_capital_efficiency`, `get_rebalance_plan`, `watch_wagon`), including usage and input mapping guidance.\n- Refined tier model: wallet portfolio endpoints now require Pioneer tier; Scout tier limited to public discovery only.\n- Modernized tool inputs/outputs: explicitly note that `walletAddress` should be mapped to `address` before calling current MCP endpoints; clarified Alchemy network ID notation for `chains`.\n- Improved agent guidance to avoid fabrication or full response narration, and to gracefully handle access limitations (e.g., Pioneer-only endpoints).\n- Documentation refreshed throughout SKILL.md to improve agent usability and accuracy.\n\nv1.0.0 | 2026-05-13T20:16:40.242Z | user\n\nFarmDash Wagon Steward 1.0.0 – Initial Release\n\n- Provides strict read-only DeFi portfolio aggregation for OpenClaw agents via GET endpoints only.\n- Returns wallet balances, capital efficiency score, idle stablecoin alerts, position drift analysis, and rebalancing proposals.\n- No custody or transaction capability; analysis and recommendations only—on-chain actions are handled by a separate, user-installed execution skill.\n- Optional API key unlocks higher rate limits and full feature set; free tier available with limited capabilities.\n- Supports multi-chain EVM wallet analysis, with detailed documentation and transparent tier model.\n\nArchive index:\n\nArchive v1.7.3: 4 files, 13497 bytes\n\nFiles: skill-card.md (2290b), SKILL.json (4081b), SKILL.md (26003b), _meta.json (141b)\n\nFile v1.7.3:SKILL.md\n\n---\nname: FarmDash Wagon Steward\ndescription: \"Use when watching a DeFi portfolio: balances, position health, idle capital, drift. Read-only; never rebalances or moves funds without your signature.\"\ntags: [\"defi\",\"defi-portfolio\",\"crypto-portfolio-tracker\",\"wallet-analytics\",\"multichain-portfolio\",\"evm-wallet\",\"solana\",\"base\",\"portfolio-analysis\",\"asset-allocation\",\"portfolio-rebalancing\",\"capital-efficiency\",\"idle-stablecoins\",\"position-tracking\",\"onchain-portfolio\",\"read-only\",\"openclaw\",\"ai-agent\",\"mcp\",\"farmdash\"]\nauthor: FarmDash Pioneers (@Parmasanandgarlic)\nhomepage: https://www.farmdash.one/agents\nversion: \"0.7.2\"\nicon: 🪵\nenv:\n  FARMDASH_API_KEY:\n    description: \"Optional Bearer token used for Pioneer-tier rate limits and full position depth. Scout tier (5 req / 24h, summary only) requires no key or can use the public fd_scout_free token. The token is sent only as an Authorization header to https://www.farmdash.one for tier identification.\"\n    required: false\nmetadata: {\"openclaw\":{\"homepage\":\"https://www.farmdash.one/agents\",\"skillKey\":\"farmdash-wagon-steward\",\"primaryEnv\":\"FARMDASH_API_KEY\",\"apiKeyRequired\":false,\"freeScoutKeyless\":true,\"freeScoutKey\":\"fd_scout_free\",\"execution\":\"read-only\"}}\n---\n\n# FarmDash Wagon Steward\n\n> Use this skill when asking \"what is happening in my wallet\": balances, idle capital, allocation drift, and rebalance proposals — read-only, address alone.\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**\n> This skill is strictly a read-only portfolio aggregation surface and does NOT execute any state-changing swaps, deposits, or perps, nor does it request, hold, or transmit private keys, seed phrases, or mnemonics.\n\n> **Security Posture.** Strict read-only. Every tool is a GET endpoint that returns analysis derived from public on-chain data. No environment variables are required for the free tier. The optional Bearer token raises rate limits only and is sent solely as an Authorization header to `https://www.farmdash.one`. Wagon Steward cannot modify wallet state, approve allowances, or initiate any on-chain action. Recommendations are research output; the user's separately-installed execution skill is responsible for any on-chain action under its own ClawScan-reviewed contract.\n\n## What this skill does\n\nWagon Steward is the **read-only mirror of the user's farming state**. Where Trail Intelligence answers \"what is happening in DeFi,\" Wagon Steward answers \"what is happening in your wallet.\"\n\nIt produces analysis, not transactions. Every output is a research snapshot the user reviews and can act on, at their own pace, through whichever execution skill they have separately installed.\n\n**MCP Configuration:** `https://www.farmdash.one/.well-known/mcp.json`\n\n---\n\n## Permissions\n\nWagon Steward requires only the user's public wallet address (the same value visible on any block explorer) and, for Pioneer-tier rate limits, an optional Bearer token. It does not request, accept, or transmit any other credentials. It defines no write capabilities. Recommendations are returned as JSON for the agent to surface to the user; if the user chooses to act, the action is performed by their own separately-installed execution skill under that skill's own ClawScan-reviewed contract.\n\n---\n\n## Data sent to FarmDash MCP\n\n| Field | Sent? | Notes |\n|---|---|---|\n| Public wallet address (`0x…`) | Yes, every call | Public information — same as a block-explorer query |\n| Chain IDs to inspect | Yes, optional | Public values |\n| Bearer token, if provided | Yes, Authorization header | Tier identification only |\n\nNo other fields are collected by skill logic.\n\n**Self-hosting option:** Wagon Steward endpoints are documented in the FarmDash unified OpenAPI spec at `https://www.farmdash.one/agents/openapi.yaml`.\n\n---\n\n## Tier Model\n\n| Tier | Cost | Limits | Capabilities |\n|---|---|---|---|\n| **Scout** | Free | 5 req / 24h | Public FarmDash discovery only; wallet portfolio endpoints require Pioneer because they consume portfolio API credits |\n| **Pioneer** | $39.99/mo | 1,500 req / day | Wallet balances, portfolio summary, idle capital, token prices, position/performance health |\n| **Syndicate** | $199/mo | 50k req / day | Higher-rate portfolio loops, webhooks through Signal Architect, unrestricted CORS, and advanced session/control tooling for teams and serious agents |\n\n---\n\n## Available Tools\n\n### Current MCP Tool Map (v0.6)\n\nThe current FarmDash MCP server exposes these Wagon-relevant tools directly:\n\n- `get_wallet_balances`\n- `get_portfolio_summary`\n- `get_position_health`\n- `get_idle_capital`\n- `get_token_prices`\n- `get_agent_performance`\n\nThis SKILL.md also defines useful agent procedures named `get_capital_efficiency`, `get_rebalance_plan`, and `watch_wagon`. Preserve those names in reasoning and UI copy, but do not call them as MCP tools unless the runtime explicitly exposes them. Today they are derived procedures:\n\n- `get_capital_efficiency` = derive from `get_portfolio_summary`, `get_idle_capital`, concentration, priced tokens, and stale-position signals.\n- `get_rebalance_plan` = pair Wagon state with Signal Architect `optimize_portfolio` and fresh swap quotes.\n- `watch_wagon` = implement as an agent loop using repeated reads plus Signal Architect webhooks when the user has Syndicate access.\n\nIf a user asks for one of the derived procedures, execute the underlying current tools and label the result as \"derived by the agent from FarmDash wallet data.\"\n\n### `get_portfolio_summary` (Pioneer)\n\nTop-level snapshot. Use this first — it grounds every other recommendation.\n\n**Inputs:** current MCP uses `address` (required EVM address) and optional `chains` (comma-separated Alchemy network IDs such as `eth-mainnet,base-mainnet`). Legacy examples may say `walletAddress`; map that to `address` before calling.\n\n**Current returns:** `address`, queried Alchemy `networks`, `portfolio.totalValueUsd`, `nativeBalanceUsd`, `erc20Count`, `chainsActive`, `chainDistribution`, up to ten `topTokens`, and `timestamp`.\n\nIt does not currently identify protocol positions, liabilities, LP composition, locked/vesting balances, lending debt, perp exposure, cost basis, or cross-chain balances outside the requested/default network set. Treat `totalValueUsd` as a partial observable-wallet estimate, not net asset value.\n\n**Agent posture:** Start a wagon-aware conversation with this tool when the user has Pioneer access. If the call returns 402, explain that wallet portfolio reads require Pioneer and continue with non-wallet public research instead of fabricating balances. Do not narrate the entire response; surface the totals plus any flags Wagon Steward returns or that you derive (over-concentration, large idle capital, stale positions).\n\n---\n\n### `get_position_health` (compatibility alias; Pioneer)\n\nDespite its legacy name, the current MCP mapping calls `/api/v1/agent/performance`. It returns FarmDash activity metrics (swap count, volume, fees, average size, protocol diversity, active days), Trail Cred/ranking data, daily activity, and a timestamp.\n\nIt does **not** return farming positions, APR, unrealized or realized P&L, impermanent loss, collateral health, liquidation distance, or rebalance hints. Never use it to claim a DeFi position is healthy. For a real position review, obtain protocol-native position/debt data and authoritative prices; if those tools are unavailable, say position health is unavailable.\n\n---\n\n### `get_idle_capital` (Pioneer)\n\nSurfaces stablecoins or unstaked native assets sitting unused.\n\n**Inputs:** current MCP uses `address`. `minThresholdUSD` is a derived agent display filter; apply it after the response if needed.\n\n**Current returns:** `idleCapitalUsd`, `idleAssets`, count, networks, and timestamp. The filter treats configured stablecoin symbols and native assets as potentially idle. It does not know reserves, collateral needs, pending transactions, tax obligations, user intent, or a top yield destination, and it does not calculate opportunity cost.\n\n**Agent posture:** Call it \"candidate liquid reserves,\" not idle capital, until the user confirms required gas, collateral, withdrawal, tax, and emergency reserves. Analysis may compare options; no automatic deployment intent.\n\n---\n\n### `get_capital_efficiency` (derived procedure, not an MCP tool)\n\nA client-side 0–100 heuristic for discussion. The current server does not return this score. It is not risk-adjusted return, Sharpe ratio, expected utility, or a mandate to deploy reserves.\n\n**Formula (transparent):**\n\n```\nscore = 100\n       − 30 × (idleStablesUSD / totalUSD)        // dust drag\n       − 20 × max(0, concentrationTop1 − 0.40)   // over-concentration\n       − 15 × max(0, dryProtocolsCount × 0.05)   // positions in cooled protocols\n       − 10 × max(0, ageBeyond90DaysShare)       // staleness\n       + 25 × (yieldEarningShare)                // capital actually earning\n```\n\n**Returns:**\n\n```\n{\n  \"score\": 72,\n  \"breakdown\": {\n    \"earning\": 0.62,\n    \"idle\": 0.15,\n    \"suboptimal\": 0.23\n  },\n  \"recommendations\": [\n    \"Move 1240 idle USDC on Arbitrum into a Pioneer-grade lending pool.\",\n    \"Top-1 concentration is 49.7% — diversify before adding.\",\n    \"Uniswap V3 LP is trending below median; consider reducing 20%.\"\n  ]\n}\n```\n\n**Agent posture:** Show every input and exclude unpriced/missing assets from the calculation rather than assigning zero. Do not lead with this score when coverage is incomplete, and never let it override user reserve requirements or protocol risk.\n\n---\n\n### `get_rebalance_plan` (derived procedure, not an MCP tool)\n\nPair current wallet data with `optimize_portfolio` and fresh quotes to draft a proposal. The illustrative schema below is not a current Wagon endpoint response.\n\n**Inputs:**\n\n```\n{\n  \"walletAddress\": \"0x…\",\n  \"targetAllocation\": [\n    { \"asset\": \"ETH\", \"percent\": 40 },\n    { \"asset\": \"USDC\", \"percent\": 30 },\n    { \"asset\": \"weETH\", \"percent\": 20 },\n    { \"asset\": \"SOL\", \"percent\": 10 }\n  ],\n  \"constraints\": { \"maxSwaps\": 6, \"maxSlippagePct\": 0.5 }\n}\n```\n\n**Returns:**\n\n```\n{\n  \"proposedSwaps\": [\n    {\n      \"from\": { \"asset\": \"USDC\", \"chain\": \"arbitrum\", \"amountUSD\": 800 },\n      \"to\":   { \"asset\": \"ETH\",  \"chain\": \"arbitrum\" },\n      \"reason\": \"Under-weight ETH by 5% relative to target.\"\n    },\n    ...\n  ],\n  \"expectedFeeUSD\": 18.40,\n  \"expectedSlippageUSD\": 4.20,\n  \"netDriftClosedPct\": 9.4\n}\n```\n\n**Agent posture:** Present the plan as a *discussion*, not a directive. Hand off to Signal Architect for execution; never call `execute_swap` from Wagon Steward.\n\n---\n\n### `watch_wagon` (derived procedure, not an MCP tool)\n\nImplement only in a client/orchestrator that performs repeated reads and owns its webhook lifecycle. The current MCP registry does not expose `watch_wagon`, and Wagon cannot claim a server subscription exists.\n\n**Inputs:**\n\n```\n{\n  \"walletAddress\": \"0x…\",\n  \"alertWebhook\": \"https://your-agent.example.com/webhook\",\n  \"thresholds\": {\n    \"concentrationTop1\": 0.50,\n    \"idleCapitalUSD\": 2000,\n    \"drawdown7dPct\": 5\n  }\n}\n```\n\nThe example input below is a design pattern, not a promise of a `watchId`, 15-minute cron, or `wagon.event.*` server events.\n\n---\n\n## Cross-Skill Composition\n\nWagon Steward is designed to compose with the other FarmDash skills. The standard composition pattern:\n\n```\nTrail Intelligence  →  Wagon Steward  →  Signal Architect / Futures Strategist\n   \"what's hot\"        \"what I have\"       \"make it happen\"\n```\n\n| Companion skill | When to call it | Hand-off pattern |\n|---|---|---|\n| **Trail Intelligence** | Before recommending any new entry — confirm the protocol is still hot | TI returns Trail Heat + risk → WS confirms feasibility against current balances |\n| **Trail Marshal** | When the user wants the whole sequence orchestrated | TM calls WS first to ground the plan in real balances, then calls SA/FS to execute |\n| **Signal Architect** | When the rebalance plan needs to actually move tokens | WS produces the plan, SA quotes + executes each swap with user confirmation |\n| **Futures Strategist** | When the user wants to hedge observable spot exposure | WS passes partial spot context; Hedge Warden/FS plan a candidate hedge and post-fill reconciliation measures residual delta |\n\n**Important:** Wagon Steward never auto-calls another skill. It produces analysis; the user (or an orchestrator like Trail Marshal) decides what to do with it.\n\n### Report-Back Template — State / Risks / Invalidation / Costs\nReport: address + timestamp/asOf + queried networks; totalValueUsd as partial observable-wallet estimate; topConcentrationPct vs 40% gate; idleCapitalUsd as candidate reserves; priced/unpriced counts; overConcentrated / idleDrag / staleData / routeNeeded flags; invalidation (missing chains, unpriced assets, unavailable debt/perp data blocks net-exposure claims); costs; nextBestAction (hold / monitor / research / quote_swap / reduce / rebalance) + handoff (none / trail_intelligence / trail_marshal / signal_architect / futures_strategist).\n\n---\n\n## Output and Coverage Standards\n\nEvery Wagon Steward response includes:\n\n| Field | Always present | Why |\n|---|---|---|\n| `timestamp` / normalized `asOf` | When returned | Time-bound the snapshot; never invent source time |\n| `address` | Yes for wallet calls | Prevent context confusion |\n| queried networks | Yes | Make coverage boundaries visible |\n| priced/unpriced counts and values | Derive when possible | Missing/unpriced assets are unknown, not zero |\n| confidence | Only when methodology is stated | Never present an arbitrary 0–1 value as API output |\n| freshness limit | Client policy | State the policy separately from source data |\n\n---\n\n## Risk Warnings the Agent Must Surface\n\nFor any portfolio recommendation the agent should restate that:\n\n- Balances are read at a moment in time; mempool activity may shift them within minutes\n- Cross-chain holdings may include unverified tokens — Wagon Steward only scores tokens it can price\n- Rebalance plans assume current liquidity; real execution may have higher slippage on volatile pairs\n\n### Rebalance Cost-Drag Checklist\nFor every `get_rebalance_plan` discussion report: pre/post-trade weights using conservative executable prices; expectedFeeUSD + expectedSlippageUSD; maxSwaps and maxSlippagePct constraints; netDriftClosedPct; rebalance bands and minimum trade sizes to prevent churn; tax, impermanent loss, and gas notes; and coverage gaps (unpriced assets, missing chains, debt, LP look-through, locked balances). Hand off quotes and signatures to Signal Architect.\n- Capital efficiency is a heuristic, not financial advice\n- The user is solely responsible for the final decision\n\n---\n\n## Autonomous Portfolio Intelligence Upgrade (v0.6)\n\nEvery Wagon-aware agent loop should maintain a portfolio state ledger. This makes the agent useful across sessions without granting it execution authority.\n\n```json\n{\n  \"walletAddress\": \"0x...\",\n  \"asOf\": \"timestamp from FarmDash or normalized by agent\",\n  \"portfolioState\": {\n    \"totalValueUsd\": 0,\n    \"nativeBalanceUsd\": 0,\n    \"idleCapitalUsd\": 0,\n    \"chainDistribution\": {},\n    \"topConcentrationPct\": 0,\n    \"unpricedAssetsCount\": 0\n  },\n  \"riskState\": {\n    \"overConcentrated\": false,\n    \"idleDrag\": false,\n    \"staleData\": false,\n    \"routeNeeded\": false\n  },\n  \"nextBestAction\": \"hold | monitor | research | quote_swap | reduce | rebalance\",\n  \"handoff\": \"none | trail_intelligence | trail_marshal | signal_architect | futures_strategist\"\n}\n```\n\nDecision rules:\n\n- If any chain or token data is missing, say what is missing and lower confidence; never zero missing balances.\n- If idle capital is present but Trail Intelligence has no high-quality destination, recommend `monitor`, not forced deployment.\n\n### Deploy-or-Hold Playbook for Candidate Reserves\nAfter `get_portfolio_summary` + `get_idle_capital`: confirm gas, collateral, withdrawal, tax, and emergency reserves; call idle funds candidate liquid reserves until confirmed; check Trail Intelligence Trail Heat + risk before any entry; apply the 40% top-concentration gate before adding to the same asset or chain; if no high-quality destination, return `monitor` with nextBestAction hold / monitor / research and handoff none / trail_intelligence.\n- If top concentration is above 40%, discuss risk before adding more exposure to that same asset or chain.\n- If a rebalance requires swaps, return a plan and hand off to Signal Architect for quotes and signatures.\n- If spot exposure needs a hedge, pass the asset, notional size, and risk concern to Futures Strategist; do not size perps from this skill alone.\n\n## Portfolio Risk Contract\n\nBefore recommending new risk, create a coverage table for observable assets, unpriced assets, missing chains, debt/liabilities, LP look-through, locked balances, and off-wallet/perp exposure. If any material category is unavailable, label portfolio NAV and concentration as partial.\n\nApply limits hierarchically:\n\n- preserve explicit gas, collateral, withdrawal, tax, and emergency reserves;\n- measure concentration by asset, stablecoin issuer, protocol, chain, bridge, venue, and correlated factor—not token symbol alone;\n- look through LP, vault, LST/LRT, and receipt tokens when authoritative composition exists;\n- calculate pre/post-trade weights using conservative executable prices and include fees/slippage;\n- use rebalance bands and minimum trade sizes to prevent churn;\n- never call a portfolio delta-neutral until actual spot and hedge fills are reconciled and residual delta is measured.\n\nUnknown balances or liabilities block claims about net exposure. A wallet-balance snapshot alone cannot establish solvency, P&L, or complete portfolio risk.\n\n### Watch Threshold Triage (Derived-Loop Only)\nIn `watch_wagon` derived loops using repeated reads, triage concentrationTop1 at 0.50, idleCapitalUSD at 2000, and drawdown7dPct at 5 as review triggers, not execution triggers; on trigger, re-run `get_portfolio_summary`, derive coverage-aware capital efficiency only if inputs are complete, exclude unpriced/missing assets rather than assigning zero, lower confidence on missing data, and route hedge questions to Futures Strategist with asset, notional, and risk concern.\n\n---\n\n## Recommended Workflows\n\n### Workflow 1: \"Wagon Briefing\"\n\n```\n1. get_portfolio_summary           → totals + top positions\n2. DERIVE coverage-aware capital efficiency only if inputs are complete\n3. get_idle_capital                → candidate liquid reserves; confirm reserve requirements\n4. PRESENT a 3-line briefing:\n     • Total + biggest concentration\n     • Capital efficiency score + top reason\n     • Idle capital callout (if any)\n5. CLOSE: \"Anything you'd like to dig into?\"\n```\n\n### Workflow 2: \"Healthcheck Before Adding\"\n\n```\n1. get_portfolio_summary\n2. get_position_health → activity metrics only; obtain protocol-native position health separately\n3. PRESENT observable concentration + explicit coverage gaps\n4. NOTE if the new entry would push any concentration above 40%\n5. CLOSE: \"If you still want to enter, here's the canonical\n   protocol URL; Signal Architect can quote the swap separately.\"\n```\n\n### Workflow 3: \"Quarterly Rebalance\"\n\n```\n1. get_portfolio_summary\n2. Obtain protocol-native position/debt health; do not use the compatibility activity endpoint as position health\n3. (optional) Trail Intelligence: get_trail_heat for current positions\n4. get_rebalance_plan with the user's target allocation\n5. PRESENT the plan as a discussion: which swaps, why, fees, drift closed\n6. CLOSE: \"Want Signal Architect to quote these swaps so you can sign them?\"\n```\n\n### Workflow 4: \"Idle Capital Deploy\"\n\n```\n1. get_idle_capital → candidate reserves, pending user reserve confirmation\n2. Supply Master: compare_yields across eligible pools\n3. PRESENT comparison: base/reward APY, stability, TVL, protocol/asset risk, all costs, exit constraints, and missing evidence\n4. CLOSE: \"I can hand off to Signal Architect to position you. Want to proceed?\"\n```\n\n---\n\n## Reasoning Guidelines\n\n**Show your work.** Not \"your wagon scores 72\" but \"your wagon scores 72: 62% earning, 15% idle USDC on Arbitrum, top-1 concentration 49.7% (target ≤40%).\"\n\n**Quantify trade-offs.** \"Moving idle USDC into Aave at 12% APR earns ~$148/year. The swap fee + bridge cost would be ~$8 — break-even in 20 days.\"\n\n**Flag uncertainty.** If a chain RPC fails or a token can't be priced, say so explicitly. Do not zero out missing data.\n\n**Time-bound analysis.** \"Snapshot as of [timestamp]. Trail Heat scores can shift by tomorrow.\"\n\n**Never editorialize the score.** The capital-efficiency formula is published. Quote it neutrally; let the user judge.\n\n**Refuse harmful requests.** If asked to bypass user confirmation, store secrets, or push an aggressive rotation the data does not support, refuse and explain.\n\n---\n\n## Disclaimers\n\n- This skill is **read-only**. It does NOT execute trades, sign messages, hold custody, or move funds.\n- This skill does NOT access private keys, seed phrases, or mnemonics.\n- Capital-efficiency scoring is a heuristic, not a financial-advice instrument.\n- Rebalance plans are proposals; the user retains full responsibility for whether and how to act on them.\n- Idle-capital opportunity-cost figures are illustrative; realized yields depend on conditions at execution time.\n\n---\n\n**Install:** Copy this file into your OpenClaw workspace, or fetch `https://www.farmdash.one/openclaw-skills/farmdash-wagon-steward/SKILL.md`.\n\n**Companion skills:**\n\n- **FarmDash Trail Intelligence** — DeFi research and Trail Heat scoring\n- **FarmDash Trail Marshal** — orchestration cookbook for multi-skill workflows\n- **FarmDash Signal Architect** — zero-custody EIP-191 swap routing\n- **FarmDash Futures Strategist** — zero-custody EIP-712 perps execution\n\n**Why FarmDash:** Unlike portfolio trackers that demand exchange keys, Wagon Steward mirrors your farming state from a public address alone — nothing to connect, nothing to custody, nothing to leak.\n\n**FarmDash:** [Multichain DeFi portfolio intelligence](https://www.farmdash.one/)\n**Agent Hub:** [FarmDash portfolio analytics for autonomous agents](https://www.farmdash.one/agents)\n**OpenAPI Spec:** [FarmDash API Schema](https://www.farmdash.one/agents/openapi.yaml)\n**MCP Config:** [FarmDash MCP Server](https://www.farmdash.one/.well-known/mcp.json)\n\n---\n\n## Optional Setup Check (Consent-Gated & Non-State-Changing)\n\n> [!IMPORTANT]\n> **PRIVACY & OPTIONAL TELEMETRY WARNING**\n> Running this optional setup check communicates with a third-party server (`https://www.farmdash.one`). It does **NOT** perform any blockchain state-changing transactions, nor does it request or handle private keys, seed phrases, or mnemonics.\n> \n> **Data Disclosed:** If executed, this command sends your public agent/wallet address and the skill identifier to FarmDash's analytics server to identify your active subscription tier (Scout/Pioneer/Syndicate) and returns your configuration capabilities.\n> \n> **Gated Consent Protocol**: \n> 1. **This check is completely optional**. Wagon Steward's Scout-tier portfolio read tools run perfectly without performing this setup check.\n> 2. **No Automatic Execution**: AI agents and orchestrators **MUST NOT** trigger this onboarding command automatically or by default.\n> 3. **Interactive Confirmation Required**: The agent must obtain **explicit, informed human consent and manual approval** before running this query.\n\nOnly after receiving explicit, manual operator consent, the optional setup check can be queried manually:\n\n```bash\ncurl -X POST https://www.farmdash.one/api/v1/agent/onboard \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-ClawHub-Skill: farmdash-wagon-steward\" \\\n  -d '{\"agentAddress\": \"0xYOUR_AGENT_WALLET\"}'\n```\n\n### What this optional query does:\n- **Retrieves Configuration**: Returns your current tier access (Scout/Pioneer/Syndicate) and active tool definitions.\n- **Validates API Tier Limits**: Connects your ClawHub session to the corresponding subscription limits for portfolio reading.\n- **Analytics Registration**: Registers your public agent wallet address in the FarmDash service funnel solely for capacity planning and active session telemetry.\n\n### Next steps after manual check:\n1. **GET** `/api/v1/agent/onboard` — Full capability map and setup guide.\n2. **Upgrade** to Pioneer ($39.99/mo) or Syndicate ($199/mo) for execution access.\n3. **Browse** the OpenAPI spec at `https://www.farmdash.one/agents/openapi.yaml`.\nSend `X-ClawHub-Skill: farmdash-wagon-steward` on every FarmDash API request — not just the optional check above — so anonymous Scout usage is attributed to this skill. Analytics-only and optional; requests without the header still work. The value is always exactly the skill slug, never a wallet address, API key, or user ID.\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 Wagon Steward skill manual](https://www.farmdash.one/openclaw-skills/farmdash-wagon-steward/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<!-- farmdash-canonical-links:end -->\n\nFile v1.7.3:_meta.json\n\n{\n  \"ownerId\": \"kn753be85erp4cey7vbq9aq9sd826p37\",\n  \"slug\": \"farmdash-wagon-steward\",\n  \"version\": \"1.7.3\",\n  \"publishedAt\": 1790412594584\n}\n\nFile v1.7.3:skill-card.md\n\n## Description:\n\nProvides read-only DeFi wallet snapshots, allocation analysis, candidate liquid-reserve checks, and rebalance proposals without moving funds.\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 wallet holders and agents use this skill to review observable balances, allocation drift, and candidate liquid reserves, and to discuss possible rebalancing without executing trades.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Wallet addresses and optional API credentials are shared with FarmDash for analytics.\n\nMitigation: Share a public address only if comfortable with FarmDash receiving it; provide an API credential only when needed.\n\nRisk: The optional setup check registers an agent or wallet address for tier and analytics purposes.\n\nMitigation: Run the onboarding check only after explicit informed consent; never trigger it automatically.\n\nRisk: Rebalance proposals may be mistaken for instructions to trade.\n\nMitigation: Treat proposals as research, review coverage and costs, and require the user's separate decision and signature for any trade.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/parmasanandgarlic/skills/farmdash-wagon-steward)\n- [FarmDash Agent Hub](https://www.farmdash.one/agents)\n- [FarmDash agent documentation](https://www.farmdash.one/docs)\n- [FarmDash API schema](https://www.farmdash.one/agents/openapi.yaml)\n- [FarmDash MCP discovery](https://www.farmdash.one/.well-known/mcp.json)\n\n## Skill Output:\n\n**Output Type(s):** [Analysis, Guidance]\n\n**Output Format:** [Markdown or JSON]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Wallet snapshot timestamps and queried networks should accompany portfolio estimates; rebalance plans are proposals only.]\n\n## Skill Version(s):\n\n1.7.3 (source: server-resolved ClawHub release; bundled skill metadata says 0.7.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.7.3:SKILL.json\n\n{\n  \"name\": \"FarmDash Wagon Steward\",\n  \"version\": \"0.7.2\",\n  \"description\": \"Use when watching a DeFi portfolio: balances, position health, idle capital, drift. Read-only; never rebalances or moves funds without your signature.\",\n  \"tags\": [\n    \"defi\",\n    \"defi-portfolio\",\n    \"crypto-portfolio-tracker\",\n    \"wallet-analytics\",\n    \"multichain-portfolio\",\n    \"evm-wallet\",\n    \"solana\",\n    \"base\",\n    \"portfolio-analysis\",\n    \"asset-allocation\",\n    \"portfolio-rebalancing\",\n    \"capital-efficiency\",\n    \"idle-stablecoins\",\n    \"position-tracking\",\n    \"onchain-portfolio\",\n    \"read-only\",\n    \"openclaw\",\n    \"ai-agent\",\n    \"mcp\",\n    \"farmdash\"\n  ],\n  \"author\": \"FarmDash Pioneers (@Parmasanandgarlic)\",\n  \"homepage\": \"https://www.farmdash.one/agents\",\n  \"icon\": \"🪵\",\n  \"tools\": [\n    {\n      \"name\": \"get_portfolio_summary\",\n      \"description\": \"(Pioneer)\\r\\n\\r\\nTop-level snapshot. Use this first — it grounds every other recommendation.\\r\\n\\r\\n**\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"address\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          }\n        },\n        \"required\": [\n          \"address\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"get_position_health\",\n      \"description\": \"(compatibility alias; Pioneer)\\r\\n\\r\\nDespite its legacy name, the current MCP mapping calls `/api/v1/agent/performance`. It returns FarmDash activity metrics (swap count, volume, fees, average size, protocol diversity, active days), Trail Cred/ranking data, daily activity, and a timestamp.\\r\\n\\r\\nIt does **not** return farming positions, APR, unrealized or realized P&L, impermanent loss, collateral health, liquidation distance, or rebalance hints. Never use it to claim a DeFi position is healthy. For a real position review, obtain protocol-native position/debt data and authoritative prices; if those tools are unavailable, say position health is unavailable.\\r\\n\\r\\n---\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"address\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          }\n        },\n        \"required\": [\n          \"address\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"get_idle_capital\",\n      \"description\": \"(Pioneer)\\r\\n\\r\\nSurfaces stablecoins or unstaked native assets sitting unused.\\r\\n\\r\\n**\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"address\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          }\n        },\n        \"required\": [\n          \"address\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    }\n  ],\n  \"operatingRules\": [],\n  \"requiredEnv\": {\n    \"FARMDASH_API_KEY\": {\n      \"description\": \"Optional Bearer token used for Pioneer-tier rate limits and full position depth. Scout tier (5 req / 24h, summary only) requires no key or can use the public fd_scout_free token. The token is sent only as an Authorization header to https://www.farmdash.one for tier identification.\",\n      \"required\": false\n    }\n  },\n  \"links\": {\n    \"website\": \"https://www.farmdash.one/\",\n    \"agentHub\": \"https://www.farmdash.one/agents\",\n    \"canonicalSkill\": \"https://www.farmdash.one/openclaw-skills/farmdash-wagon-steward/SKILL.md\",\n    \"documentation\": \"https://www.farmdash.one/docs\",\n    \"status\": \"https://www.farmdash.one/api/v1/agent/status\",\n    \"openApi\": \"https://www.farmdash.one/agents/openapi.yaml\",\n    \"mcpDiscovery\": \"https://www.farmdash.one/.well-known/mcp.json\",\n    \"fees\": \"https://www.farmdash.one/fees\",\n    \"security\": \"https://www.farmdash.one/security\"\n  }\n}\n\nArchive v1.0.11: 4 files, 13413 bytes\n\nFiles: skill-card.md (2746b), SKILL.json (3228b), SKILL.md (25665b), _meta.json (142b)\n\nFile v1.0.11:SKILL.md\n\n---\nname: FarmDash Wagon Steward\ndescription: \"Analyze read-only multichain EVM portfolios, wallet balances, idle stablecoins, capital efficiency, allocation drift, and rebalance proposals.\"\ntags: [\"defi\", \"defi-portfolio\", \"crypto-portfolio-tracker\", \"wallet-analytics\", \"multichain-portfolio\", \"evm-wallet\", \"portfolio-analysis\", \"asset-allocation\", \"portfolio-rebalancing\", \"capital-efficiency\", \"idle-stablecoins\", \"position-tracking\", \"onchain-portfolio\", \"read-only\", \"openclaw\", \"ai-agent\", \"mcp\", \"farmdash\"]\nauthor: FarmDash Pioneers (@Parmasanandgarlic)\nhomepage: https://www.farmdash.one/agents\nversion: \"0.7.1\"\nicon: 🪵\nenv:\n  FARMDASH_API_KEY:\n    description: \"Optional Bearer token used for Pioneer-tier rate limits and full position depth. Scout tier (5 req / 24h, summary only) requires no key or can use the public fd_scout_free token. The token is sent only as an Authorization header to https://www.farmdash.one for tier identification.\"\n    required: false\nmetadata: {\"openclaw\":{\"homepage\":\"https://www.farmdash.one/agents\",\"skillKey\":\"farmdash-wagon-steward\",\"primaryEnv\":\"FARMDASH_API_KEY\",\"apiKeyRequired\":false,\"freeScoutKeyless\":true,\"freeScoutKey\":\"fd_scout_free\",\"execution\":\"read-only\"}}\n---\n\n# FarmDash Wagon Steward\n\n> Use this skill when asking \"what is happening in my wallet\": balances, idle capital, allocation drift, and rebalance proposals — read-only, address alone.\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**\n> This skill is strictly a read-only portfolio aggregation surface and does NOT execute any state-changing swaps, deposits, or perps, nor does it request, hold, or transmit private keys, seed phrases, or mnemonics.\n\n> **Security Posture.** Strict read-only. Every tool is a GET endpoint that returns analysis derived from public on-chain data. No environment variables are required for the free tier. The optional Bearer token raises rate limits only and is sent solely as an Authorization header to `https://www.farmdash.one`. Wagon Steward cannot modify wallet state, approve allowances, or initiate any on-chain action. Recommendations are research output; the user's separately-installed execution skill is responsible for any on-chain action under its own ClawScan-reviewed contract.\n\n## What this skill does\n\nWagon Steward is the **read-only mirror of the user's farming state**. Where Trail Intelligence answers \"what is happening in DeFi,\" Wagon Steward answers \"what is happening in your wallet.\"\n\nIt produces analysis, not transactions. Every output is a research snapshot the user reviews and can act on, at their own pace, through whichever execution skill they have separately installed.\n\n**MCP Configuration:** `https://www.farmdash.one/.well-known/mcp.json`\n\n---\n\n## Permissions\n\nWagon Steward requires only the user's public wallet address (the same value visible on any block explorer) and, for Pioneer-tier rate limits, an optional Bearer token. It does not request, accept, or transmit any other credentials. It defines no write capabilities. Recommendations are returned as JSON for the agent to surface to the user; if the user chooses to act, the action is performed by their own separately-installed execution skill under that skill's own ClawScan-reviewed contract.\n\n---\n\n## Data sent to FarmDash MCP\n\n| Field | Sent? | Notes |\n|---|---|---|\n| Public wallet address (`0x…`) | Yes, every call | Public information — same as a block-explorer query |\n| Chain IDs to inspect | Yes, optional | Public values |\n| Bearer token, if provided | Yes, Authorization header | Tier identification only |\n\nNo other fields are collected by skill logic.\n\n**Self-hosting option:** Wagon Steward endpoints are documented in the FarmDash unified OpenAPI spec at `https://www.farmdash.one/agents/openapi.yaml`.\n\n---\n\n## Tier Model\n\n| Tier | Cost | Limits | Capabilities |\n|---|---|---|---|\n| **Scout** | Free | 5 req / 24h | Public FarmDash discovery only; wallet portfolio endpoints require Pioneer because they consume portfolio API credits |\n| **Pioneer** | $39.99/mo | 1,500 req / day | Wallet balances, portfolio summary, idle capital, token prices, position/performance health |\n| **Syndicate** | $199/mo | 50k req / day | Higher-rate portfolio loops, webhooks through Signal Architect, unrestricted CORS, and advanced session/control tooling for teams and serious agents |\n\n---\n\n## Available Tools\n\n### Current MCP Tool Map (v0.6)\n\nThe current FarmDash MCP server exposes these Wagon-relevant tools directly:\n\n- `get_wallet_balances`\n- `get_portfolio_summary`\n- `get_position_health`\n- `get_idle_capital`\n- `get_token_prices`\n- `get_agent_performance`\n\nThis SKILL.md also defines useful agent procedures named `get_capital_efficiency`, `get_rebalance_plan`, and `watch_wagon`. Preserve those names in reasoning and UI copy, but do not call them as MCP tools unless the runtime explicitly exposes them. Today they are derived procedures:\n\n- `get_capital_efficiency` = derive from `get_portfolio_summary`, `get_idle_capital`, concentration, priced tokens, and stale-position signals.\n- `get_rebalance_plan` = pair Wagon state with Signal Architect `optimize_portfolio` and fresh swap quotes.\n- `watch_wagon` = implement as an agent loop using repeated reads plus Signal Architect webhooks when the user has Syndicate access.\n\nIf a user asks for one of the derived procedures, execute the underlying current tools and label the result as \"derived by the agent from FarmDash wallet data.\"\n\n### `get_portfolio_summary` (Pioneer)\n\nTop-level snapshot. Use this first — it grounds every other recommendation.\n\n**Inputs:** current MCP uses `address` (required EVM address) and optional `chains` (comma-separated Alchemy network IDs such as `eth-mainnet,base-mainnet`). Legacy examples may say `walletAddress`; map that to `address` before calling.\n\n**Current returns:** `address`, queried Alchemy `networks`, `portfolio.totalValueUsd`, `nativeBalanceUsd`, `erc20Count`, `chainsActive`, `chainDistribution`, up to ten `topTokens`, and `timestamp`.\n\nIt does not currently identify protocol positions, liabilities, LP composition, locked/vesting balances, lending debt, perp exposure, cost basis, or cross-chain balances outside the requested/default network set. Treat `totalValueUsd` as a partial observable-wallet estimate, not net asset value.\n\n**Agent posture:** Start a wagon-aware conversation with this tool when the user has Pioneer access. If the call returns 402, explain that wallet portfolio reads require Pioneer and continue with non-wallet public research instead of fabricating balances. Do not narrate the entire response; surface the totals plus any flags Wagon Steward returns or that you derive (over-concentration, large idle capital, stale positions).\n\n---\n\n### `get_position_health` (compatibility alias; Pioneer)\n\nDespite its legacy name, the current MCP mapping calls `/api/v1/agent/performance`. It returns FarmDash activity metrics (swap count, volume, fees, average size, protocol diversity, active days), Trail Cred/ranking data, daily activity, and a timestamp.\n\nIt does **not** return farming positions, APR, unrealized or realized P&L, impermanent loss, collateral health, liquidation distance, or rebalance hints. Never use it to claim a DeFi position is healthy. For a real position review, obtain protocol-native position/debt data and authoritative prices; if those tools are unavailable, say position health is unavailable.\n\n---\n\n### `get_idle_capital` (Pioneer)\n\nSurfaces stablecoins or unstaked native assets sitting unused.\n\n**Inputs:** current MCP uses `address`. `minThresholdUSD` is a derived agent display filter; apply it after the response if needed.\n\n**Current returns:** `idleCapitalUsd`, `idleAssets`, count, networks, and timestamp. The filter treats configured stablecoin symbols and native assets as potentially idle. It does not know reserves, collateral needs, pending transactions, tax obligations, user intent, or a top yield destination, and it does not calculate opportunity cost.\n\n**Agent posture:** Call it \"candidate liquid reserves,\" not idle capital, until the user confirms required gas, collateral, withdrawal, tax, and emergency reserves. Analysis may compare options; no automatic deployment intent.\n\n---\n\n### `get_capital_efficiency` (derived procedure, not an MCP tool)\n\nA client-side 0–100 heuristic for discussion. The current server does not return this score. It is not risk-adjusted return, Sharpe ratio, expected utility, or a mandate to deploy reserves.\n\n**Formula (transparent):**\n\n```\nscore = 100\n       − 30 × (idleStablesUSD / totalUSD)        // dust drag\n       − 20 × max(0, concentrationTop1 − 0.40)   // over-concentration\n       − 15 × max(0, dryProtocolsCount × 0.05)   // positions in cooled protocols\n       − 10 × max(0, ageBeyond90DaysShare)       // staleness\n       + 25 × (yieldEarningShare)                // capital actually earning\n```\n\n**Returns:**\n\n```\n{\n  \"score\": 72,\n  \"breakdown\": {\n    \"earning\": 0.62,\n    \"idle\": 0.15,\n    \"suboptimal\": 0.23\n  },\n  \"recommendations\": [\n    \"Move 1240 idle USDC on Arbitrum into a Pioneer-grade lending pool.\",\n    \"Top-1 concentration is 49.7% — diversify before adding.\",\n    \"Uniswap V3 LP is trending below median; consider reducing 20%.\"\n  ]\n}\n```\n\n**Agent posture:** Show every input and exclude unpriced/missing assets from the calculation rather than assigning zero. Do not lead with this score when coverage is incomplete, and never let it override user reserve requirements or protocol risk.\n\n---\n\n### `get_rebalance_plan` (derived procedure, not an MCP tool)\n\nPair current wallet data with `optimize_portfolio` and fresh quotes to draft a proposal. The illustrative schema below is not a current Wagon endpoint response.\n\n**Inputs:**\n\n```\n{\n  \"walletAddress\": \"0x…\",\n  \"targetAllocation\": [\n    { \"asset\": \"ETH\", \"percent\": 40 },\n    { \"asset\": \"USDC\", \"percent\": 30 },\n    { \"asset\": \"weETH\", \"percent\": 20 },\n    { \"asset\": \"SOL\", \"percent\": 10 }\n  ],\n  \"constraints\": { \"maxSwaps\": 6, \"maxSlippagePct\": 0.5 }\n}\n```\n\n**Returns:**\n\n```\n{\n  \"proposedSwaps\": [\n    {\n      \"from\": { \"asset\": \"USDC\", \"chain\": \"arbitrum\", \"amountUSD\": 800 },\n      \"to\":   { \"asset\": \"ETH\",  \"chain\": \"arbitrum\" },\n      \"reason\": \"Under-weight ETH by 5% relative to target.\"\n    },\n    ...\n  ],\n  \"expectedFeeUSD\": 18.40,\n  \"expectedSlippageUSD\": 4.20,\n  \"netDriftClosedPct\": 9.4\n}\n```\n\n**Agent posture:** Present the plan as a *discussion*, not a directive. Hand off to Signal Architect for execution; never call `execute_swap` from Wagon Steward.\n\n---\n\n### `watch_wagon` (derived procedure, not an MCP tool)\n\nImplement only in a client/orchestrator that performs repeated reads and owns its webhook lifecycle. The current MCP registry does not expose `watch_wagon`, and Wagon cannot claim a server subscription exists.\n\n**Inputs:**\n\n```\n{\n  \"walletAddress\": \"0x…\",\n  \"alertWebhook\": \"https://your-agent.example.com/webhook\",\n  \"thresholds\": {\n    \"concentrationTop1\": 0.50,\n    \"idleCapitalUSD\": 2000,\n    \"drawdown7dPct\": 5\n  }\n}\n```\n\nThe example input below is a design pattern, not a promise of a `watchId`, 15-minute cron, or `wagon.event.*` server events.\n\n---\n\n## Cross-Skill Composition\n\nWagon Steward is designed to compose with the other FarmDash skills. The standard composition pattern:\n\n```\nTrail Intelligence  →  Wagon Steward  →  Signal Architect / Futures Strategist\n   \"what's hot\"        \"what I have\"       \"make it happen\"\n```\n\n| Companion skill | When to call it | Hand-off pattern |\n|---|---|---|\n| **Trail Intelligence** | Before recommending any new entry — confirm the protocol is still hot | TI returns Trail Heat + risk → WS confirms feasibility against current balances |\n| **Trail Marshal** | When the user wants the whole sequence orchestrated | TM calls WS first to ground the plan in real balances, then calls SA/FS to execute |\n| **Signal Architect** | When the rebalance plan needs to actually move tokens | WS produces the plan, SA quotes + executes each swap with user confirmation |\n| **Futures Strategist** | When the user wants to hedge observable spot exposure | WS passes partial spot context; Hedge Warden/FS plan a candidate hedge and post-fill reconciliation measures residual delta |\n\n**Important:** Wagon Steward never auto-calls another skill. It produces analysis; the user (or an orchestrator like Trail Marshal) decides what to do with it.\n\n### Report-Back Template — State / Risks / Invalidation / Costs\nReport: address + timestamp/asOf + queried networks; totalValueUsd as partial observable-wallet estimate; topConcentrationPct vs 40% gate; idleCapitalUsd as candidate reserves; priced/unpriced counts; overConcentrated / idleDrag / staleData / routeNeeded flags; invalidation (missing chains, unpriced assets, unavailable debt/perp data blocks net-exposure claims); costs; nextBestAction (hold / monitor / research / quote_swap / reduce / rebalance) + handoff (none / trail_intelligence / trail_marshal / signal_architect / futures_strategist).\n\n---\n\n## Output and Coverage Standards\n\nEvery Wagon Steward response includes:\n\n| Field | Always present | Why |\n|---|---|---|\n| `timestamp` / normalized `asOf` | When returned | Time-bound the snapshot; never invent source time |\n| `address` | Yes for wallet calls | Prevent context confusion |\n| queried networks | Yes | Make coverage boundaries visible |\n| priced/unpriced counts and values | Derive when possible | Missing/unpriced assets are unknown, not zero |\n| confidence | Only when methodology is stated | Never present an arbitrary 0–1 value as API output |\n| freshness limit | Client policy | State the policy separately from source data |\n\n---\n\n## Risk Warnings the Agent Must Surface\n\nFor any portfolio recommendation the agent should restate that:\n\n- Balances are read at a moment in time; mempool activity may shift them within minutes\n- Cross-chain holdings may include unverified tokens — Wagon Steward only scores tokens it can price\n- Rebalance plans assume current liquidity; real execution may have higher slippage on volatile pairs\n\n### Rebalance Cost-Drag Checklist\nFor every `get_rebalance_plan` discussion report: pre/post-trade weights using conservative executable prices; expectedFeeUSD + expectedSlippageUSD; maxSwaps and maxSlippagePct constraints; netDriftClosedPct; rebalance bands and minimum trade sizes to prevent churn; tax, impermanent loss, and gas notes; and coverage gaps (unpriced assets, missing chains, debt, LP look-through, locked balances). Hand off quotes and signatures to Signal Architect.\n- Capital efficiency is a heuristic, not financial advice\n- The user is solely responsible for the final decision\n\n---\n\n## Autonomous Portfolio Intelligence Upgrade (v0.6)\n\nEvery Wagon-aware agent loop should maintain a portfolio state ledger. This makes the agent useful across sessions without granting it execution authority.\n\n```json\n{\n  \"walletAddress\": \"0x...\",\n  \"asOf\": \"timestamp from FarmDash or normalized by agent\",\n  \"portfolioState\": {\n    \"totalValueUsd\": 0,\n    \"nativeBalanceUsd\": 0,\n    \"idleCapitalUsd\": 0,\n    \"chainDistribution\": {},\n    \"topConcentrationPct\": 0,\n    \"unpricedAssetsCount\": 0\n  },\n  \"riskState\": {\n    \"overConcentrated\": false,\n    \"idleDrag\": false,\n    \"staleData\": false,\n    \"routeNeeded\": false\n  },\n  \"nextBestAction\": \"hold | monitor | research | quote_swap | reduce | rebalance\",\n  \"handoff\": \"none | trail_intelligence | trail_marshal | signal_architect | futures_strategist\"\n}\n```\n\nDecision rules:\n\n- If any chain or token data is missing, say what is missing and lower confidence; never zero missing balances.\n- If idle capital is present but Trail Intelligence has no high-quality destination, recommend `monitor`, not forced deployment.\n\n### Deploy-or-Hold Playbook for Candidate Reserves\nAfter `get_portfolio_summary` + `get_idle_capital`: confirm gas, collateral, withdrawal, tax, and emergency reserves; call idle funds candidate liquid reserves until confirmed; check Trail Intelligence Trail Heat + risk before any entry; apply the 40% top-concentration gate before adding to the same asset or chain; if no high-quality destination, return `monitor` with nextBestAction hold / monitor / research and handoff none / trail_intelligence.\n- If top concentration is above 40%, discuss risk before adding more exposure to that same asset or chain.\n- If a rebalance requires swaps, return a plan and hand off to Signal Architect for quotes and signatures.\n- If spot exposure needs a hedge, pass the asset, notional size, and risk concern to Futures Strategist; do not size perps from this skill alone.\n\n## Portfolio Risk Contract\n\nBefore recommending new risk, create a coverage table for observable assets, unpriced assets, missing chains, debt/liabilities, LP look-through, locked balances, and off-wallet/perp exposure. If any material category is unavailable, label portfolio NAV and concentration as partial.\n\nApply limits hierarchically:\n\n- preserve explicit gas, collateral, withdrawal, tax, and emergency reserves;\n- measure concentration by asset, stablecoin issuer, protocol, chain, bridge, venue, and correlated factor—not token symbol alone;\n- look through LP, vault, LST/LRT, and receipt tokens when authoritative composition exists;\n- calculate pre/post-trade weights using conservative executable prices and include fees/slippage;\n- use rebalance bands and minimum trade sizes to prevent churn;\n- never call a portfolio delta-neutral until actual spot and hedge fills are reconciled and residual delta is measured.\n\nUnknown balances or liabilities block claims about net exposure. A wallet-balance snapshot alone cannot establish solvency, P&L, or complete portfolio risk.\n\n### Watch Threshold Triage (Derived-Loop Only)\nIn `watch_wagon` derived loops using repeated reads, triage concentrationTop1 at 0.50, idleCapitalUSD at 2000, and drawdown7dPct at 5 as review triggers, not execution triggers; on trigger, re-run `get_portfolio_summary`, derive coverage-aware capital efficiency only if inputs are complete, exclude unpriced/missing assets rather than assigning zero, lower confidence on missing data, and route hedge questions to Futures Strategist with asset, notional, and risk concern.\n\n---\n\n## Recommended Workflows\n\n### Workflow 1: \"Wagon Briefing\"\n\n```\n1. get_portfolio_summary           → totals + top positions\n2. DERIVE coverage-aware capital efficiency only if inputs are complete\n3. get_idle_capital                → candidate liquid reserves; confirm reserve requirements\n4. PRESENT a 3-line briefing:\n     • Total + biggest concentration\n     • Capital efficiency score + top reason\n     • Idle capital callout (if any)\n5. CLOSE: \"Anything you'd like to dig into?\"\n```\n\n### Workflow 2: \"Healthcheck Before Adding\"\n\n```\n1. get_portfolio_summary\n2. get_position_health → activity metrics only; obtain protocol-native position health separately\n3. PRESENT observable concentration + explicit coverage gaps\n4. NOTE if the new entry would push any concentration above 40%\n5. CLOSE: \"If you still want to enter, here's the canonical\n   protocol URL; Signal Architect can quote the swap separately.\"\n```\n\n### Workflow 3: \"Quarterly Rebalance\"\n\n```\n1. get_portfolio_summary\n2. Obtain protocol-native position/debt health; do not use the compatibility activity endpoint as position health\n3. (optional) Trail Intelligence: get_trail_heat for current positions\n4. get_rebalance_plan with the user's target allocation\n5. PRESENT the plan as a discussion: which swaps, why, fees, drift closed\n6. CLOSE: \"Want Signal Architect to quote these swaps so you can sign them?\"\n```\n\n### Workflow 4: \"Idle Capital Deploy\"\n\n```\n1. get_idle_capital → candidate reserves, pending user reserve confirmation\n2. Supply Master: compare_yields across eligible pools\n3. PRESENT comparison: base/reward APY, stability, TVL, protocol/asset risk, all costs, exit constraints, and missing evidence\n4. CLOSE: \"I can hand off to Signal Architect to position you. Want to proceed?\"\n```\n\n---\n\n## Reasoning Guidelines\n\n**Show your work.** Not \"your wagon scores 72\" but \"your wagon scores 72: 62% earning, 15% idle USDC on Arbitrum, top-1 concentration 49.7% (target ≤40%).\"\n\n**Quantify trade-offs.** \"Moving idle USDC into Aave at 12% APR earns ~$148/year. The swap fee + bridge cost would be ~$8 — break-even in 20 days.\"\n\n**Flag uncertainty.** If a chain RPC fails or a token can't be priced, say so explicitly. Do not zero out missing data.\n\n**Time-bound analysis.** \"Snapshot as of [timestamp]. Trail Heat scores can shift by tomorrow.\"\n\n**Never editorialize the score.** The capital-efficiency formula is published. Quote it neutrally; let the user judge.\n\n**Refuse harmful requests.** If asked to bypass user confirmation, store secrets, or push an aggressive rotation the data does not support, refuse and explain.\n\n---\n\n## Disclaimers\n\n- This skill is **read-only**. It does NOT execute trades, sign messages, hold custody, or move funds.\n- This skill does NOT access private keys, seed phrases, or mnemonics.\n- Capital-efficiency scoring is a heuristic, not a financial-advice instrument.\n- Rebalance plans are proposals; the user retains full responsibility for whether and how to act on them.\n- Idle-capital opportunity-cost figures are illustrative; realized yields depend on conditions at execution time.\n\n---\n\n**Install:** Copy this file into your OpenClaw workspace, or fetch `https://www.farmdash.one/openclaw-skills/farmdash-wagon-steward/SKILL.md`.\n\n**Companion skills:**\n\n- **FarmDash Trail Intelligence** — DeFi research and Trail Heat scoring\n- **FarmDash Trail Marshal** — orchestration cookbook for multi-skill workflows\n- **FarmDash Signal Architect** — zero-custody EIP-191 swap routing\n- **FarmDash Futures Strategist** — zero-custody EIP-712 perps execution\n\n**Why FarmDash:** Unlike portfolio trackers that demand exchange keys, Wagon Steward mirrors your farming state from a public address alone — nothing to connect, nothing to custody, nothing to leak.\n\n**FarmDash:** [Multichain DeFi portfolio intelligence](https://www.farmdash.one/)\n**Agent Hub:** [FarmDash portfolio analytics for autonomous agents](https://www.farmdash.one/agents)\n**OpenAPI Spec:** [FarmDash API Schema](https://www.farmdash.one/agents/openapi.yaml)\n**MCP Config:** [FarmDash MCP Server](https://www.farmdash.one/.well-known/mcp.json)\n\n---\n\n## Optional Setup Check (Consent-Gated & Non-State-Changing)\n\n> [!IMPORTANT]\n> **PRIVACY & OPTIONAL TELEMETRY WARNING**\n> Running this optional setup check communicates with a third-party server (`https://www.farmdash.one`). It does **NOT** perform any blockchain state-changing transactions, nor does it request or handle private keys, seed phrases, or mnemonics.\n> \n> **Data Disclosed:** If executed, this command sends your public agent/wallet address and the skill identifier to FarmDash's analytics server to identify your active subscription tier (Scout/Pioneer/Syndicate) and returns your configuration capabilities.\n> \n> **Gated Consent Protocol**: \n> 1. **This check is completely optional**. Wagon Steward's Scout-tier portfolio read tools run perfectly without performing this setup check.\n> 2. **No Automatic Execution**: AI agents and orchestrators **MUST NOT** trigger this onboarding command automatically or by default.\n> 3. **Interactive Confirmation Required**: The agent must obtain **explicit, informed human consent and manual approval** before running this query.\n\nOnly after receiving explicit, manual operator consent, the optional setup check can be queried manually:\n\n```bash\ncurl -X POST https://www.farmdash.one/api/v1/agent/onboard \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-ClawHub-Skill: farmdash-wagon-steward\" \\\n  -d '{\"agentAddress\": \"0xYOUR_AGENT_WALLET\"}'\n```\n\n### What this optional query does:\n- **Retrieves Configuration**: Returns your current tier access (Scout/Pioneer/Syndicate) and active tool definitions.\n- **Validates API Tier Limits**: Connects your ClawHub session to the corresponding subscription limits for portfolio reading.\n- **Analytics Registration**: Registers your public agent wallet address in the FarmDash service funnel solely for capacity planning and active session telemetry.\n\n### Next steps after manual check:\n1. **GET** `/api/v1/agent/onboard` — Full capability map and setup guide.\n2. **Upgrade** to Pioneer ($39.99/mo) or Syndicate ($199/mo) for execution access.\n3. **Browse** the OpenAPI spec at `https://www.farmdash.one/agents/openapi.yaml`.\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 Wagon Steward skill manual](https://www.farmdash.one/openclaw-skills/farmdash-wagon-steward/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<!-- farmdash-canonical-links:end -->\n\nFile v1.0.11:_meta.json\n\n{\n  \"ownerId\": \"kn753be85erp4cey7vbq9aq9sd826p37\",\n  \"slug\": \"farmdash-wagon-steward\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1788692570946\n}\n\nFile v1.0.11:skill-card.md\n\n## Description:\n\nAnalyze read-only multichain EVM portfolios, wallet balances, idle stablecoins, capital efficiency, allocation drift, and rebalance proposals.\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\nExternal users and agent developers use this skill to review public EVM wallet balances, portfolio concentration, candidate liquid reserves, and rebalance proposals from read-only FarmDash data.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Public wallet addresses, selected chain IDs, and any optional FarmDash bearer token are sent to FarmDash.\n\nMitigation: Install only with informed consent; use keyless Scout access when it is sufficient and provide a bearer token only when Pioneer-tier depth or rate limits are needed.\n\nRisk: The optional onboarding check can register a public agent or wallet address for tier and configuration telemetry.\n\nMitigation: Run the onboarding curl only after explicit operator approval, and prefer the reviewed packaged artifact over fetching a live remote copy.\n\nRisk: Read-only wallet snapshots can be incomplete or stale and may omit unpriced assets, missing chains, debt, LP look-through, locked balances, or off-wallet exposure.\n\nMitigation: Label portfolio values and rebalance proposals as partial snapshots, surface coverage gaps, and require separate user confirmation before any execution skill is used.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/parmasanandgarlic/skills/farmdash-wagon-steward)\n- [FarmDash Agent Hub](https://www.farmdash.one/agents)\n- [FarmDash OpenAPI Contract](https://www.farmdash.one/agents/openapi.yaml)\n- [FarmDash MCP Discovery Manifest](https://www.farmdash.one/.well-known/mcp.json)\n- [FarmDash Agent Integration Documentation](https://www.farmdash.one/docs)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Guidance, Configuration]\n\n**Output Format:** [Markdown summaries with structured JSON-style fields and optional shell command snippets for manual setup]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Read-only responses; portfolio values are time-bound snapshots and may be partial when chains, prices, debt, LP look-through, or off-wallet exposure are unavailable.]\n\n## Skill Version(s):\n\n1.0.11 (source: server release metadata; artifact frontmatter reports 0.7.1)\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.11:SKILL.json\n\n{\n  \"name\": \"FarmDash Wagon Steward\",\n  \"version\": \"0.7.1\",\n  \"description\": \"Analyze read-only multichain EVM portfolios, wallet balances, idle stablecoins, capital efficiency, allocation drift, and rebalance proposals.\",\n  \"tags\": [\n    \"defi\",\n    \"defi-portfolio\",\n    \"crypto-portfolio-tracker\",\n    \"wallet-analytics\",\n    \"multichain-portfolio\",\n    \"evm-wallet\",\n    \"portfolio-analysis\",\n    \"asset-allocation\",\n    \"portfolio-rebalancing\",\n    \"capital-efficiency\",\n    \"idle-stablecoins\",\n    \"position-tracking\",\n    \"onchain-portfolio\",\n    \"read-only\",\n    \"openclaw\",\n    \"ai-agent\",\n    \"mcp\",\n    \"farmdash\"\n  ],\n  \"author\": \"FarmDash Pioneers (@Parmasanandgarlic)\",\n  \"homepage\": \"https://www.farmdash.one/agents\",\n  \"icon\": \"🪵\",\n  \"tools\": [\n    {\n      \"name\": \"get_portfolio_summary\",\n      \"description\": \"(Pioneer)\\r\\n\\r\\nTop-level snapshot. Use this first — it grounds every other recommendation.\\r\\n\\r\\n**\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {}\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"get_position_health\",\n      \"description\": \"(compatibility alias; Pioneer)\\r\\n\\r\\nDespite its legacy name, the current MCP mapping calls `/api/v1/agent/performance`. It returns FarmDash activity metrics (swap count, volume, fees, average size, protocol diversity, active days), Trail Cred/ranking data, daily activity, and a timestamp.\\r\\n\\r\\nIt does **not** return farming positions, APR, unrealized or realized P&L, impermanent loss, collateral health, liquidation distance, or rebalance hints. Never use it to claim a DeFi position is healthy. For a real position review, obtain protocol-native position/debt data and authoritative prices; if those tools are unavailable, say position health is unavailable.\\r\\n\\r\\n---\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {}\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"get_idle_capital\",\n      \"description\": \"(Pioneer)\\r\\n\\r\\nSurfaces stablecoins or unstaked native assets sitting unused.\\r\\n\\r\\n**\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {}\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    }\n  ],\n  \"operatingRules\": [],\n  \"requiredEnv\": {\n    \"FARMDASH_API_KEY\": {\n      \"description\": \"Optional Bearer token used for Pioneer-tier rate limits and full position depth. Scout tier (5 req / 24h, summary only) requires no key or can use the public fd_scout_free token. The token is sent only as an Authorization header to https://www.farmdash.one for tier identification.\",\n      \"required\": false\n    }\n  },\n  \"links\": {\n    \"website\": \"https://www.farmdash.one/\",\n    \"agentHub\": \"https://www.farmdash.one/agents\",\n    \"canonicalSkill\": \"https://www.farmdash.one/openclaw-skills/farmdash-wagon-steward/SKILL.md\",\n    \"documentation\": \"https://www.farmdash.one/docs\",\n    \"status\": \"https://www.farmdash.one/api/v1/agent/status\",\n    \"openApi\": \"https://www.farmdash.one/agents/openapi.yaml\",\n    \"mcpDiscovery\": \"https://www.farmdash.one/.well-known/mcp.json\",\n    \"fees\": \"https://www.farmdash.one/fees\",\n    \"security\": \"https://www.farmdash.one/security\"\n  }\n}\n\nArchive v1.0.10: 4 files, 12429 bytes\n\nFiles: skill-card.md (2771b), SKILL.json (2661b), SKILL.md (22789b), _meta.json (142b)\n\nFile v1.0.10:SKILL.md\n\n---\r\nname: FarmDash Wagon Steward\r\ndescription: \"Analyze read-only multichain EVM portfolios, wallet balances, idle stablecoins, capital efficiency, allocation drift, and rebalance proposals.\"\ntags: [\"defi\", \"defi-portfolio\", \"crypto-portfolio-tracker\", \"wallet-analytics\", \"multichain-portfolio\", \"evm-wallet\", \"portfolio-analysis\", \"asset-allocation\", \"portfolio-rebalancing\", \"capital-efficiency\", \"idle-stablecoins\", \"position-tracking\", \"onchain-portfolio\", \"read-only\", \"openclaw\", \"ai-agent\", \"mcp\", \"farmdash\"]\nauthor: FarmDash Pioneers (@Parmasanandgarlic)\r\nhomepage: https://www.farmdash.one/agents\r\nversion: \"0.7.1\"\nicon: 🪵\r\nenv:\r\n  FARMDASH_API_KEY:\r\n    description: \"Optional Bearer token used for Pioneer-tier rate limits and full position depth. Scout tier (5 req / 24h, summary only) requires no key or can use the public fd_scout_free token. The token is sent only as an Authorization header to https://www.farmdash.one for tier identification.\"\r\n    required: false\r\nmetadata: {\"openclaw\":{\"homepage\":\"https://www.farmdash.one/agents\",\"skillKey\":\"farmdash-wagon-steward\",\"primaryEnv\":\"FARMDASH_API_KEY\",\"apiKeyRequired\":false,\"freeScoutKeyless\":true,\"freeScoutKey\":\"fd_scout_free\",\"execution\":\"read-only\"}}\r\n---\r\n\r\n# FarmDash Wagon Steward\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**\r\n> This skill is strictly a read-only portfolio aggregation surface and does NOT execute any state-changing swaps, deposits, or perps, nor does it request, hold, or transmit private keys, seed phrases, or mnemonics.\r\n\r\n> **Security Posture.** Strict read-only. Every tool is a GET endpoint that returns analysis derived from public on-chain data. No environment variables are required for the free tier. The optional Bearer token raises rate limits only and is sent solely as an Authorization header to `https://www.farmdash.one`. Wagon Steward cannot modify wallet state, approve allowances, or initiate any on-chain action. Recommendations are research output; the user's separately-installed execution skill is responsible for any on-chain action under its own ClawScan-reviewed contract.\r\n\r\n## What this skill does\r\n\r\nWagon Steward is the **read-only mirror of the user's farming state**. Where Trail Intelligence answers \"what is happening in DeFi,\" Wagon Steward answers \"what is happening in your wallet.\"\r\n\r\nIt produces analysis, not transactions. Every output is a research snapshot the user reviews and can act on, at their own pace, through whichever execution skill they have separately installed.\r\n\r\n**MCP Configuration:** `https://www.farmdash.one/.well-known/mcp.json`\r\n\r\n---\r\n\r\n## Permissions\r\n\r\nWagon Steward requires only the user's public wallet address (the same value visible on any block explorer) and, for Pioneer-tier rate limits, an optional Bearer token. It does not request, accept, or transmit any other credentials. It defines no write capabilities. Recommendations are returned as JSON for the agent to surface to the user; if the user chooses to act, the action is performed by their own separately-installed execution skill under that skill's own ClawScan-reviewed contract.\r\n\r\n---\r\n\r\n## Data sent to FarmDash MCP\r\n\r\n| Field | Sent? | Notes |\r\n|---|---|---|\r\n| Public wallet address (`0x…`) | Yes, every call | Public information — same as a block-explorer query |\r\n| Chain IDs to inspect | Yes, optional | Public values |\r\n| Bearer token, if provided | Yes, Authorization header | Tier identification only |\r\n\r\nNo other fields are collected by skill logic.\r\n\r\n**Self-hosting option:** Wagon Steward endpoints are documented in the FarmDash unified OpenAPI spec at `https://www.farmdash.one/agents/openapi.yaml`.\r\n\r\n---\r\n\r\n## Tier Model\r\n\r\n| Tier | Cost | Limits | Capabilities |\r\n|---|---|---|---|\r\n| **Scout** | Free | 5 req / 24h | Public FarmDash discovery only; wallet portfolio endpoints require Pioneer because they consume portfolio API credits |\r\n| **Pioneer** | $39.99/mo | 500 req / day | Wallet balances, portfolio summary, idle capital, token prices, position/performance health |\r\n| **Syndicate** | $199/mo | 50k req / day | Higher-rate portfolio loops, webhooks through Signal Architect, unrestricted CORS, and advanced session/control tooling for teams and serious agents |\r\n\r\n---\r\n\r\n## Available Tools\r\n\r\n### Current MCP Tool Map (v0.6)\r\n\r\nThe current FarmDash MCP server exposes these Wagon-relevant tools directly:\r\n\r\n- `get_wallet_balances`\r\n- `get_portfolio_summary`\r\n- `get_position_health`\r\n- `get_idle_capital`\r\n- `get_token_prices`\r\n- `get_agent_performance`\r\n\r\nThis SKILL.md also defines useful agent procedures named `get_capital_efficiency`, `get_rebalance_plan`, and `watch_wagon`. Preserve those names in reasoning and UI copy, but do not call them as MCP tools unless the runtime explicitly exposes them. Today they are derived procedures:\r\n\r\n- `get_capital_efficiency` = derive from `get_portfolio_summary`, `get_idle_capital`, concentration, priced tokens, and stale-position signals.\r\n- `get_rebalance_plan` = pair Wagon state with Signal Architect `optimize_portfolio` and fresh swap quotes.\r\n- `watch_wagon` = implement as an agent loop using repeated reads plus Signal Architect webhooks when the user has Syndicate access.\r\n\r\nIf a user asks for one of the derived procedures, execute the underlying current tools and label the result as \"derived by the agent from FarmDash wallet data.\"\r\n\r\n### `get_portfolio_summary` (Pioneer)\r\n\r\nTop-level snapshot. Use this first — it grounds every other recommendation.\r\n\r\n**Inputs:** current MCP uses `address` (required EVM address) and optional `chains` (comma-separated Alchemy network IDs such as `eth-mainnet,base-mainnet`). Legacy examples may say `walletAddress`; map that to `address` before calling.\r\n\r\n**Current returns:** `address`, queried Alchemy `networks`, `portfolio.totalValueUsd`, `nativeBalanceUsd`, `erc20Count`, `chainsActive`, `chainDistribution`, up to ten `topTokens`, and `timestamp`.\n\nIt does not currently identify protocol positions, liabilities, LP composition, locked/vesting balances, lending debt, perp exposure, cost basis, or cross-chain balances outside the requested/default network set. Treat `totalValueUsd` as a partial observable-wallet estimate, not net asset value.\n\r\n**Agent posture:** Start a wagon-aware conversation with this tool when the user has Pioneer access. If the call returns 402, explain that wallet portfolio reads require Pioneer and continue with non-wallet public research instead of fabricating balances. Do not narrate the entire response; surface the totals plus any flags Wagon Steward returns or that you derive (over-concentration, large idle capital, stale positions).\r\n\r\n---\r\n\r\n### `get_position_health` (compatibility alias; Pioneer)\n\nDespite its legacy name, the current MCP mapping calls `/api/v1/agent/performance`. It returns FarmDash activity metrics (swap count, volume, fees, average size, protocol diversity, active days), Trail Cred/ranking data, daily activity, and a timestamp.\n\nIt does **not** return farming positions, APR, unrealized or realized P&L, impermanent loss, collateral health, liquidation distance, or rebalance hints. Never use it to claim a DeFi position is healthy. For a real position review, obtain protocol-native position/debt data and authoritative prices; if those tools are unavailable, say position health is unavailable.\n\r\n---\r\n\r\n### `get_idle_capital` (Pioneer)\r\n\r\nSurfaces stablecoins or unstaked native assets sitting unused.\r\n\r\n**Inputs:** current MCP uses `address`. `minThresholdUSD` is a derived agent display filter; apply it after the response if needed.\r\n\r\n**Current returns:** `idleCapitalUsd`, `idleAssets`, count, networks, and timestamp. The filter treats configured stablecoin symbols and native assets as potentially idle. It does not know reserves, collateral needs, pending transactions, tax obligations, user intent, or a top yield destination, and it does not calculate opportunity cost.\n\r\n**Agent posture:** Call it \"candidate liquid reserves,\" not idle capital, until the user confirms required gas, collateral, withdrawal, tax, and emergency reserves. Analysis may compare options; no automatic deployment intent.\n\r\n---\r\n\r\n### `get_capital_efficiency` (derived procedure, not an MCP tool)\n\nA client-side 0–100 heuristic for discussion. The current server does not return this score. It is not risk-adjusted return, Sharpe ratio, expected utility, or a mandate to deploy reserves.\n\r\n**Formula (transparent):**\r\n\r\n```\r\nscore = 100\r\n       − 30 × (idleStablesUSD / totalUSD)        // dust drag\r\n       − 20 × max(0, concentrationTop1 − 0.40)   // over-concentration\r\n       − 15 × max(0, dryProtocolsCount × 0.05)   // positions in cooled protocols\r\n       − 10 × max(0, ageBeyond90DaysShare)       // staleness\r\n       + 25 × (yieldEarningShare)                // capital actually earning\r\n```\r\n\r\n**Returns:**\r\n\r\n```\r\n{\r\n  \"score\": 72,\r\n  \"breakdown\": {\r\n    \"earning\": 0.62,\r\n    \"idle\": 0.15,\r\n    \"suboptimal\": 0.23\r\n  },\r\n  \"recommendations\": [\r\n    \"Move 1240 idle USDC on Arbitrum into a Pioneer-grade lending pool.\",\r\n    \"Top-1 concentration is 49.7% — diversify before adding.\",\r\n    \"Uniswap V3 LP is trending below median; consider reducing 20%.\"\r\n  ]\r\n}\r\n```\r\n\r\n**Agent posture:** Show every input and exclude unpriced/missing assets from the calculation rather than assigning zero. Do not lead with this score when coverage is incomplete, and never let it override user reserve requirements or protocol risk.\n\r\n---\r\n\r\n### `get_rebalance_plan` (derived procedure, not an MCP tool)\n\r\nPair current wallet data with `optimize_portfolio` and fresh quotes to draft a proposal. The illustrative schema below is not a current Wagon endpoint response.\n\r\n**Inputs:**\r\n\r\n```\r\n{\r\n  \"walletAddress\": \"0x…\",\r\n  \"targetAllocation\": [\r\n    { \"asset\": \"ETH\", \"percent\": 40 },\r\n    { \"asset\": \"USDC\", \"percent\": 30 },\r\n    { \"asset\": \"weETH\", \"percent\": 20 },\r\n    { \"asset\": \"SOL\", \"percent\": 10 }\r\n  ],\r\n  \"constraints\": { \"maxSwaps\": 6, \"maxSlippagePct\": 0.5 }\r\n}\r\n```\r\n\r\n**Returns:**\r\n\r\n```\r\n{\r\n  \"proposedSwaps\": [\r\n    {\r\n      \"from\": { \"asset\": \"USDC\", \"chain\": \"arbitrum\", \"amountUSD\": 800 },\r\n      \"to\":   { \"asset\": \"ETH\",  \"chain\": \"arbitrum\" },\r\n      \"reason\": \"Under-weight ETH by 5% relative to target.\"\r\n    },\r\n    ...\r\n  ],\r\n  \"expectedFeeUSD\": 18.40,\r\n  \"expectedSlippageUSD\": 4.20,\r\n  \"netDriftClosedPct\": 9.4\r\n}\r\n```\r\n\r\n**Agent posture:** Present the plan as a *discussion*, not a directive. Hand off to Signal Architect for execution; never call `execute_swap` from Wagon Steward.\r\n\r\n---\r\n\r\n### `watch_wagon` (derived procedure, not an MCP tool)\n\r\nImplement only in a client/orchestrator that performs repeated reads and owns its webhook lifecycle. The current MCP registry does not expose `watch_wagon`, and Wagon cannot claim a server subscription exists.\n\r\n**Inputs:**\r\n\r\n```\r\n{\r\n  \"walletAddress\": \"0x…\",\r\n  \"alertWebhook\": \"https://your-agent.example.com/webhook\",\r\n  \"thresholds\": {\r\n    \"concentrationTop1\": 0.50,\r\n    \"idleCapitalUSD\": 2000,\r\n    \"drawdown7dPct\": 5\r\n  }\r\n}\r\n```\r\n\r\nThe example input below is a design pattern, not a promise of a `watchId`, 15-minute cron, or `wagon.event.*` server events.\n\r\n---\r\n\r\n## Cross-Skill Composition\r\n\r\nWagon Steward is designed to compose with the other FarmDash skills. The standard composition pattern:\r\n\r\n```\r\nTrail Intelligence  →  Wagon Steward  →  Signal Architect / Futures Strategist\r\n   \"what's hot\"        \"what I have\"       \"make it happen\"\r\n```\r\n\r\n| Companion skill | When to call it | Hand-off pattern |\r\n|---|---|---|\r\n| **Trail Intelligence** | Before recommending any new entry — confirm the protocol is still hot | TI returns Trail Heat + risk → WS confirms feasibility against current balances |\r\n| **Trail Marshal** | When the user wants the whole sequence orchestrated | TM calls WS first to ground the plan in real balances, then calls SA/FS to execute |\r\n| **Signal Architect** | When the rebalance plan needs to actually move tokens | WS produces the plan, SA quotes + executes each swap with user confirmation |\r\n| **Futures Strategist** | When the user wants to hedge observable spot exposure | WS passes partial spot context; Hedge Warden/FS plan a candidate hedge and post-fill reconciliation measures residual delta |\n\r\n**Important:** Wagon Steward never auto-calls another skill. It produces analysis; the user (or an orchestrator like Trail Marshal) decides what to do with it.\r\n\r\n---\r\n\r\n## Output and Coverage Standards\n\r\nEvery Wagon Steward response includes:\r\n\r\n| Field | Always present | Why |\r\n|---|---|---|\r\n| `timestamp` / normalized `asOf` | When returned | Time-bound the snapshot; never invent source time |\n| `address` | Yes for wallet calls | Prevent context confusion |\n| queried networks | Yes | Make coverage boundaries visible |\n| priced/unpriced counts and values | Derive when possible | Missing/unpriced assets are unknown, not zero |\n| confidence | Only when methodology is stated | Never present an arbitrary 0–1 value as API output |\n| freshness limit | Client policy | State the policy separately from source data |\n\r\n---\r\n\r\n## Risk Warnings the Agent Must Surface\r\n\r\nFor any portfolio recommendation the agent should restate that:\r\n\r\n- Balances are read at a moment in time; mempool activity may shift them within minutes\r\n- Cross-chain holdings may include unverified tokens — Wagon Steward only scores tokens it can price\r\n- Rebalance plans assume current liquidity; real execution may have higher slippage on volatile pairs\r\n- Capital efficiency is a heuristic, not financial advice\r\n- The user is solely responsible for the final decision\r\n\r\n---\r\n\r\n## Autonomous Portfolio Intelligence Upgrade (v0.6)\r\n\r\nEvery Wagon-aware agent loop should maintain a portfolio state ledger. This makes the agent useful across sessions without granting it execution authority.\r\n\r\n```json\r\n{\r\n  \"walletAddress\": \"0x...\",\r\n  \"asOf\": \"timestamp from FarmDash or normalized by agent\",\r\n  \"portfolioState\": {\r\n    \"totalValueUsd\": 0,\r\n    \"nativeBalanceUsd\": 0,\r\n    \"idleCapitalUsd\": 0,\r\n    \"chainDistribution\": {},\r\n    \"topConcentrationPct\": 0,\r\n    \"unpricedAssetsCount\": 0\r\n  },\r\n  \"riskState\": {\r\n    \"overConcentrated\": false,\r\n    \"idleDrag\": false,\r\n    \"staleData\": false,\r\n    \"routeNeeded\": false\r\n  },\r\n  \"nextBestAction\": \"hold | monitor | research | quote_swap | reduce | rebalance\",\r\n  \"handoff\": \"none | trail_intelligence | trail_marshal | signal_architect | futures_strategist\"\r\n}\r\n```\r\n\r\nDecision rules:\r\n\r\n- If any chain or token data is missing, say what is missing and lower confidence; never zero missing balances.\r\n- If idle capital is present but Trail Intelligence has no high-quality destination, recommend `monitor`, not forced deployment.\r\n- If top concentration is above 40%, discuss risk before adding more exposure to that same asset or chain.\r\n- If a rebalance requires swaps, return a plan and hand off to Signal Architect for quotes and signatures.\n- If spot exposure needs a hedge, pass the asset, notional size, and risk concern to Futures Strategist; do not size perps from this skill alone.\n\n## Portfolio Risk Contract\n\nBefore recommending new risk, create a coverage table for observable assets, unpriced assets, missing chains, debt/liabilities, LP look-through, locked balances, and off-wallet/perp exposure. If any material category is unavailable, label portfolio NAV and concentration as partial.\n\nApply limits hierarchically:\n\n- preserve explicit gas, collateral, withdrawal, tax, and emergency reserves;\n- measure concentration by asset, stablecoin issuer, protocol, chain, bridge, venue, and correlated factor—not token symbol alone;\n- look through LP, vault, LST/LRT, and receipt tokens when authoritative composition exists;\n- calculate pre/post-trade weights using conservative executable prices and include fees/slippage;\n- use rebalance bands and minimum trade sizes to prevent churn;\n- never call a portfolio delta-neutral until actual spot and hedge fills are reconciled and residual delta is measured.\n\nUnknown balances or liabilities block claims about net exposure. A wallet-balance snapshot alone cannot establish solvency, P&L, or complete portfolio risk.\n\r\n---\r\n\r\n## Recommended Workflows\r\n\r\n### Workflow 1: \"Wagon Briefing\"\r\n\r\n```\r\n1. get_portfolio_summary           → totals + top positions\r\n2. DERIVE coverage-aware capital efficiency only if inputs are complete\n3. get_idle_capital                → candidate liquid reserves; confirm reserve requirements\n4. PRESENT a 3-line briefing:\r\n     • Total + biggest concentration\r\n     • Capital efficiency score + top reason\r\n     • Idle capital callout (if any)\r\n5. CLOSE: \"Anything you'd like to dig into?\"\r\n```\r\n\r\n### Workflow 2: \"Healthcheck Before Adding\"\r\n\r\n```\r\n1. get_portfolio_summary\r\n2. get_position_health → activity metrics only; obtain protocol-native position health separately\n3. PRESENT observable concentration + explicit coverage gaps\n4. NOTE if the new entry would push any concentration above 40%\r\n5. CLOSE: \"If you still want to enter, here's the canonical\r\n   protocol URL; Signal Architect can quote the swap separately.\"\r\n```\r\n\r\n### Workflow 3: \"Quarterly Rebalance\"\r\n\r\n```\r\n1. get_portfolio_summary\r\n2. Obtain protocol-native position/debt health; do not use the compatibility activity endpoint as position health\n3. (optional) Trail Intelligence: get_trail_heat for current positions\r\n4. get_rebalance_plan with the user's target allocation\r\n5. PRESENT the plan as a discussion: which swaps, why, fees, drift closed\r\n6. CLOSE: \"Want Signal Architect to quote these swaps so you can sign them?\"\r\n```\r\n\r\n### Workflow 4: \"Idle Capital Deploy\"\r\n\r\n```\r\n1. get_idle_capital → candidate reserves, pending user reserve confirmation\n2. Supply Master: compare_yields across eligible pools\n3. PRESENT comparison: base/reward APY, stability, TVL, protocol/asset risk, all costs, exit constraints, and missing evidence\n4. CLOSE: \"I can hand off to Signal Architect to position you. Want to proceed?\"\r\n```\r\n\r\n---\r\n\r\n## Reasoning Guidelines\r\n\r\n**Show your work.** Not \"your wagon scores 72\" but \"your wagon scores 72: 62% earning, 15% idle USDC on Arbitrum, top-1 concentration 49.7% (target ≤40%).\"\r\n\r\n**Quantify trade-offs.** \"Moving idle USDC into Aave at 12% APR earns ~$148/year. The swap fee + bridge cost would be ~$8 — break-even in 20 days.\"\r\n\r\n**Flag uncertainty.** If a chain RPC fails or a token can't be priced, say so explicitly. Do not zero out missing data.\r\n\r\n**Time-bound analysis.** \"Snapshot as of [timestamp]. Trail Heat scores can shift by tomorrow.\"\r\n\r\n**Never editorialize the score.** The capital-efficiency formula is published. Quote it neutrally; let the user judge.\r\n\r\n**Refuse harmful requests.** If asked to bypass user confirmation, store secrets, or push an aggressive rotation the data does not support, refuse and explain.\r\n\r\n---\r\n\r\n## Disclaimers\r\n\r\n- This skill is **read-only**. It does NOT execute trades, sign messages, hold custody, or move funds.\r\n- This skill does NOT access private keys, seed phrases, or mnemonics.\r\n- Capital-efficiency scoring is a heuristic, not a financial-advice instrument.\r\n- Rebalance plans are proposals; the user retains full responsibility for whether and how to act on them.\r\n- Idle-capital opportunity-cost figures are illustrative; realized yields depend on conditions at execution time.\r\n\r\n---\r\n\r\n**Install:** Copy this file into your OpenClaw workspace, or fetch `https://www.farmdash.one/openclaw-skills/farmdash-wagon-steward/SKILL.md`.\r\n\r\n**Companion skills:**\r\n\r\n- **FarmDash Trail Intelligence** — DeFi research and Trail Heat scoring\r\n- **FarmDash Trail Marshal** — orchestration cookbook for multi-skill workflows\r\n- **FarmDash Signal Architect** — zero-custody EIP-191 swap routing\r\n- **FarmDash Futures Strategist** — zero-custody EIP-712 perps execution\r\n\r\n**FarmDash:** [Multichain DeFi portfolio intelligence](https://www.farmdash.one/)\n**Agent Hub:** [FarmDash portfolio analytics for autonomous agents](https://www.farmdash.one/agents)\n**OpenAPI Spec:** [FarmDash API Schema](https://www.farmdash.one/agents/openapi.yaml)\r\n**MCP Config:** [FarmDash MCP Server](https://www.farmdash.one/.well-known/mcp.json)\r\n\r\n---\r\n\r\n## Optional Setup Check (Consent-Gated & Non-State-Changing)\r\n\r\n> [!IMPORTANT]\r\n> **PRIVACY & OPTIONAL TELEMETRY WARNING**\r\n> Running this optional setup check communicates with a third-party server (`https://www.farmdash.one`). It does **NOT** perform any blockchain state-changing transactions, nor does it request or handle private keys, seed phrases, or mnemonics.\r\n> \r\n> **Data Disclosed:** If executed, this command sends your public agent/wallet address and the skill identifier to FarmDash's analytics server to identify your active subscription tier (Scout/Pioneer/Syndicate) and returns your configuration capabilities.\r\n> \r\n> **Gated Consent Protocol**: \r\n> 1. **This check is completely optional**. Wagon Steward's Scout-tier portfolio read tools run perfectly without performing this setup check.\r\n> 2. **No Automatic Execution**: AI agents and orchestrators **MUST NOT** trigger this onboarding command automatically or by default.\r\n> 3. **Interactive Confirmation Required**: The agent must obtain **explicit, informed human consent and manual approval** before running this query.\r\n\r\nOnly after receiving explicit, manual operator consent, the optional setup check can be queried manually:\r\n\r\n```bash\r\ncurl -X POST https://www.farmdash.one/api/v1/agent/onboard \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -H \"X-ClawHub-Skill: farmdash-wagon-steward\" \\\r\n  -d '{\"agentAddress\": \"0xYOUR_AGENT_WALLET\"}'\r\n```\r\n\r\n### What this optional query does:\r\n- **Retrieves Configuration**: Returns your current tier access (Scout/Pioneer/Syndicate) and active tool definitions.\r\n- **Validates API Tier Limits**: Connects your ClawHub session to the corresponding subscription limits for portfolio reading.\r\n- **Analytics Registration**: Registers your public agent wallet address in the FarmDash service funnel solely for capacity planning and active session telemetry.\r\n\r\n### Next steps after manual check:\r\n1. **GET** `/api/v1/agent/onboard` — Full capability map and setup guide.\r\n2. **Upgrade** to Pioneer ($39.99/mo) or Syndicate ($199/mo) for execution access.\r\n3. **Browse** the OpenAPI spec at `https://www.farmdash.one/agents/openapi.yaml`.\n\nFile v1.0.10:_meta.json\n\n{\n  \"ownerId\": \"kn753be85erp4cey7vbq9aq9sd826p37\",\n  \"slug\": \"farmdash-wagon-steward\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1785820739864\n}\n\nFile v1.0.10:skill-card.md\n\n## Description: <br>\nAnalyze read-only multichain EVM portfolios, wallet balances, idle stablecoins, capital efficiency, allocation drift, and rebalance proposals. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[parmasanandgarlic](https://clawhub.ai/user/parmasanandgarlic) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal DeFi users and agent developers use this skill to inspect public EVM wallet portfolio data, identify candidate liquid reserves, evaluate allocation drift, and draft non-custodial rebalance discussion points without executing transactions. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Wallet addresses and optional API credentials are sent to FarmDash for portfolio analysis and tier identification. <br>\nMitigation: Use the skill only when that data sharing is acceptable, and provide FARMDASH_API_KEY only when the higher tier limits or position depth are needed. <br>\nRisk: The optional onboarding POST registers the public agent or wallet address and skill identifier for tier, capability, and telemetry purposes. <br>\nMitigation: Run the onboarding POST only after explicit informed consent; do not trigger it automatically or by default. <br>\nRisk: Portfolio recommendations are based on read-only snapshots and may be incomplete when coverage, pricing, liquidity, liabilities, or off-wallet exposures are unavailable. <br>\nMitigation: Present recommendations as reviewable analysis, label missing coverage clearly, and require a separate execution flow for any transaction. <br>\n\n\n## Reference(s): <br>\n- [FarmDash Agent Hub](https://www.farmdash.one/agents) <br>\n- [FarmDash OpenAPI Spec](https://www.farmdash.one/agents/openapi.yaml) <br>\n- [FarmDash MCP Configuration](https://www.farmdash.one/.well-known/mcp.json) <br>\n- [ClawHub Skill Page](https://clawhub.ai/parmasanandgarlic/skills/farmdash-wagon-steward) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with JSON-derived portfolio summaries and optional shell command snippets] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Read-only portfolio analysis; wallet calls require a public EVM address and may use optional FARMDASH_API_KEY for tier limits.] <br>\n\n## Skill Version(s): <br>\n1.0.10 (source: server release metadata; artifact frontmatter lists 0.7.1) <br>\n\n## Ethical Considerations: <br>\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. <br>\n\nFile v1.0.10:SKILL.json\n\n{\n  \"name\": \"FarmDash Wagon Steward\",\n  \"version\": \"0.7.1\",\n  \"description\": \"Analyze read-only multichain EVM portfolios, wallet balances, idle stablecoins, capital efficiency, allocation drift, and rebalance proposals.\",\n  \"tags\": [\n    \"defi\",\n    \"defi-portfolio\",\n    \"crypto-portfolio-tracker\",\n    \"wallet-analytics\",\n    \"multichain-portfolio\",\n    \"evm-wallet\",\n    \"portfolio-analysis\",\n    \"asset-allocation\",\n    \"portfolio-rebalancing\",\n    \"capital-efficiency\",\n    \"idle-stablecoins\",\n    \"position-tracking\",\n    \"onchain-portfolio\",\n    \"read-only\",\n    \"openclaw\",\n    \"ai-agent\",\n    \"mcp\",\n    \"farmdash\"\n  ],\n  \"author\": \"FarmDash Pioneers (@Parmasanandgarlic)\",\n  \"homepage\": \"https://www.farmdash.one/agents\",\n  \"icon\": \"🪵\",\n  \"tools\": [\n    {\n      \"name\": \"get_portfolio_summary\",\n      \"description\": \"(Pioneer)\\r\\n\\r\\nTop-level snapshot. Use this first — it grounds every other recommendation.\\r\\n\\r\\n**\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {}\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"get_position_health\",\n      \"description\": \"(compatibility alias; Pioneer)\\n\\nDespite its legacy name, the current MCP mapping calls `/api/v1/agent/performance`. It returns FarmDash activity metrics (swap count, volume, fees, average size, protocol diversity, active days), Trail Cred/ranking data, daily activity, and a timestamp.\\n\\nIt does **not** return farming positions, APR, unrealized or realized P&L, impermanent loss, collateral health, liquidation distance, or rebalance hints. Never use it to claim a DeFi position is healthy. For a real position review, obtain protocol-native position/debt data and authoritative prices; if those tools are unavailable, say position health is unavailable.\\n\\r\\n---\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {}\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"get_idle_capital\",\n      \"description\": \"(Pioneer)\\r\\n\\r\\nSurfaces stablecoins or unstaked native assets sitting unused.\\r\\n\\r\\n**\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {}\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    }\n  ],\n  \"operatingRules\": [],\n  \"requiredEnv\": {\n    \"FARMDASH_API_KEY\": {\n      \"description\": \"Optional Bearer token used for Pioneer-tier rate limits and full position depth. Scout tier (5 req / 24h, summary only) requires no key or can use the public fd_scout_free token. The token is sent only as an Authorization header to https://www.farmdash.one for tier identification.\",\n      \"required\": false\n    }\n  }\n}\n\nArchive v1.0.9: 4 files, 11873 bytes\n\nFiles: skill-card.md (3044b), SKILL.json (2419b), SKILL.md (21486b), _meta.json (141b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: FarmDash Wagon Steward\ndescription: \"Read-only DeFi portfolio aggregation skill for OpenClaw agents. Returns wallet balances across EVM chains, scores capital efficiency, surfaces idle stablecoins, tracks position drift versus a target allocation, and produces rebalancing proposals as research output. Strict read-only surface: every tool is a GET endpoint that returns analysis. The user's separately-installed execution skill is responsible for any on-chain action under its own ClawScan-reviewed contract.\"\ntags: [\"defi\", \"ai-agent\", \"autonomous-agent\", \"openclaw\", \"clawhub\", \"mcp\", \"crypto\", \"web3\", \"onchain\", \"portfolio\", \"wallet\", \"wallet-analytics\", \"position-tracker\", \"capital-efficiency\", \"rebalancing\", \"yield-farming\", \"airdrop\", \"evm\", \"multi-chain\", \"read-only\", \"zero-custody\", \"farmdash\", \"wagon-steward\"]\nauthor: FarmDash Pioneers (@Parmasanandgarlic)\nhomepage: https://www.farmdash.one/agents\nversion: \"0.6.1\"\nicon: 🪵\nenv:\n  FARMDASH_API_KEY:\n    description: \"Optional Bearer token used for Pioneer-tier rate limits and full position depth. Scout tier (5 req / 24h, summary only) requires no key or can use the public fd_scout_free token. The token is sent only as an Authorization header to https://www.farmdash.one for tier identification.\"\n    required: false\nmetadata: {\"openclaw\":{\"homepage\":\"https://www.farmdash.one/agents\",\"skillKey\":\"farmdash-wagon-steward\",\"primaryEnv\":\"FARMDASH_API_KEY\",\"apiKeyRequired\":false,\"freeScoutKeyless\":true,\"freeScoutKey\":\"fd_scout_free\",\"execution\":\"read-only\"}}\n---\n\n# FarmDash Wagon Steward\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**\n> This skill is strictly a read-only portfolio aggregation surface and does NOT execute any state-changing swaps, deposits, or perps, nor does it request, hold, or transmit private keys, seed phrases, or mnemonics.\n\n> **Security Posture.** Strict read-only. Every tool is a GET endpoint that returns analysis derived from public on-chain data. No environment variables are required for the free tier. The optional Bearer token raises rate limits only and is sent solely as an Authorization header to `https://www.farmdash.one`. Wagon Steward cannot modify wallet state, approve allowances, or initiate any on-chain action. Recommendations are research output; the user's separately-installed execution skill is responsible for any on-chain action under its own ClawScan-reviewed contract.\n\n## What this skill does\n\nWagon Steward is the **read-only mirror of the user's farming state**. Where Trail Intelligence answers \"what is happening in DeFi,\" Wagon Steward answers \"what is happening in your wallet.\"\n\nIt produces analysis, not transactions. Every output is a research snapshot the user reviews and can act on, at their own pace, through whichever execution skill they have separately installed.\n\n**MCP Configuration:** `https://www.farmdash.one/.well-known/mcp.json`\n\n---\n\n## Permissions\n\nWagon Steward requires only the user's public wallet address (the same value visible on any block explorer) and, for Pioneer-tier rate limits, an optional Bearer token. It does not request, accept, or transmit any other credentials. It defines no write capabilities. Recommendations are returned as JSON for the agent to surface to the user; if the user chooses to act, the action is performed by their own separately-installed execution skill under that skill's own ClawScan-reviewed contract.\n\n---\n\n## Data sent to FarmDash MCP\n\n| Field | Sent? | Notes |\n|---|---|---|\n| Public wallet address (`0x…`) | Yes, every call | Public information — same as a block-explorer query |\n| Chain IDs to inspect | Yes, optional | Public values |\n| Bearer token, if provided | Yes, Authorization header | Tier identification only |\n\nNo other fields are collected by skill logic.\n\n**Self-hosting option:** Wagon Steward endpoints are documented in the FarmDash unified OpenAPI spec at `https://www.farmdash.one/agents/openapi.yaml`.\n\n---\n\n## Tier Model\n\n| Tier | Cost | Limits | Capabilities |\n|---|---|---|---|\n| **Scout** | Free | 5 req / 24h | Public FarmDash discovery only; wallet portfolio endpoints require Pioneer because they consume portfolio API credits |\n| **Pioneer** | $39.99/mo | 500 req / day | Wallet balances, portfolio summary, idle capital, token prices, position/performance health |\n| **Syndicate** | $199/mo | 50k req / day | Higher-rate portfolio loops, webhooks through Signal Architect, unrestricted CORS, and advanced session/control tooling for teams and serious agents |\n\n---\n\n## Available Tools\n\n### Current MCP Tool Map (v0.6)\n\nThe current FarmDash MCP server exposes these Wagon-relevant tools directly:\n\n- `get_wallet_balances`\n- `get_portfolio_summary`\n- `get_position_health`\n- `get_idle_capital`\n- `get_token_prices`\n- `get_agent_performance`\n\nThis SKILL.md also defines useful agent procedures named `get_capital_efficiency`, `get_rebalance_plan`, and `watch_wagon`. Preserve those names in reasoning and UI copy, but do not call them as MCP tools unless the runtime explicitly exposes them. Today they are derived procedures:\n\n- `get_capital_efficiency` = derive from `get_portfolio_summary`, `get_idle_capital`, concentration, priced tokens, and stale-position signals.\n- `get_rebalance_plan` = pair Wagon state with Signal Architect `optimize_portfolio` and fresh swap quotes.\n- `watch_wagon` = implement as an agent loop using repeated reads plus Signal Architect webhooks when the user has Syndicate access.\n\nIf a user asks for one of the derived procedures, execute the underlying current tools and label the result as \"derived by the agent from FarmDash wallet data.\"\n\n### `get_portfolio_summary` (Pioneer)\n\nTop-level snapshot. Use this first — it grounds every other recommendation.\n\n**Inputs:** current MCP uses `address` (required EVM address) and optional `chains` (comma-separated Alchemy network IDs such as `eth-mainnet,base-mainnet`). Legacy examples may say `walletAddress`; map that to `address` before calling.\n\n**Returns:**\n\n```\n{\n  \"totalValueUSD\": 12480.32,\n  \"byChain\": [\n    { \"chainId\": 1, \"chainName\": \"Ethereum\", \"valueUSD\": 6200.00, \"percent\": 49.7 },\n    { \"chainId\": 8453, \"chainName\": \"Base\", \"valueUSD\": 3100.50, \"percent\": 24.8 },\n    ...\n  ],\n  \"byAsset\": [\n    { \"symbol\": \"ETH\", \"valueUSD\": 5400.00, \"percent\": 43.3 },\n    { \"symbol\": \"USDC\", \"valueUSD\": 3200.50, \"percent\": 25.6 },\n    ...\n  ],\n  \"topProtocolPositions\": [\n    { \"protocol\": \"etherfi\", \"valueUSD\": 2400.00, \"asset\": \"weETH\" },\n    ...\n  ],\n  \"asOf\": \"2026-05-12T18:00:00Z\"\n}\n```\n\n**Agent posture:** Start a wagon-aware conversation with this tool when the user has Pioneer access. If the call returns 402, explain that wallet portfolio reads require Pioneer and continue with non-wallet public research instead of fabricating balances. Do not narrate the entire response; surface the totals plus any flags Wagon Steward returns or that you derive (over-concentration, large idle capital, stale positions).\n\n---\n\n### `get_position_health` (Pioneer)\n\nPer-position deep-dive: APR, age, unrealized P&L, IL exposure, and a rebalance hint.\n\n**Inputs:** current MCP uses `address`. Legacy examples may say `walletAddress`; map that to `address` before calling.\n\n**Returns:**\n\n```\n{\n  \"positions\": [\n    {\n      \"protocol\": \"etherfi\",\n      \"chain\": \"ethereum\",\n      \"asset\": \"weETH\",\n      \"valueUSD\": 2400.00,\n      \"apr\": 3.4,\n      \"aprDelta30d\": -0.6,\n      \"impermanentLossUSD\": 0,\n      \"daysSinceEntry\": 47,\n      \"rebalanceHint\": \"hold\",\n      \"notes\": \"APR drifting; still above stablecoin alternatives.\"\n    },\n    {\n      \"protocol\": \"aerodrome\",\n      \"chain\": \"base\",\n      \"asset\": \"USDC-WETH LP\",\n      \"valueUSD\": 1800.00,\n      \"apr\": 12.8,\n      \"aprDelta30d\": 1.2,\n      \"impermanentLossUSD\": -42.50,\n      \"daysSinceEntry\": 12,\n      \"rebalanceHint\": \"monitor\",\n      \"notes\": \"IL accelerating with WETH up 6%; reassess if 5-day IL > $80.\"\n    }\n  ]\n}\n```\n\n**Agent posture:** Treat `rebalanceHint` as a discussion starter, never a directive. Always pair the hint with the *reason* in `notes` so the user can override.\n\n| Hint | Meaning | Suggested phrasing |\n|---|---|---|\n| `hold` | Position is healthy at the user's risk tier | \"Looks fine; keep watching APR drift.\" |\n| `monitor` | Drift detected but not actionable yet | \"Worth checking again in 3–7 days.\" |\n| `reduce` | Concentration or IL exceeds soft limits | \"Consider trimming on the next strong candle.\" |\n| `exit` | Risk gate breached or thesis broken | \"The case has weakened; here's why.\" |\n| `add` | Allocation is below target and APR is favorable | \"If you have idle capital, this slot has room.\" |\n\n---\n\n### `get_idle_capital` (Pioneer)\n\nSurfaces stablecoins or unstaked native assets sitting unused.\n\n**Inputs:** current MCP uses `address`. `minThresholdUSD` is a derived agent display filter; apply it after the response if needed.\n\n**Returns:**\n\n```\n{\n  \"totalIdleUSD\": 1860.00,\n  \"items\": [\n    {\n      \"chain\": \"arbitrum\",\n      \"asset\": \"USDC\",\n      \"amountUSD\": 1240.00,\n      \"opportunityCostPerDay\": 0.41,\n      \"topYieldOption\": { \"protocol\": \"aave-v3\", \"apr\": 12.0 }\n    },\n    ...\n  ]\n}\n```\n\n**Agent posture:** Mention idle capital exactly once per conversation — repeated mention turns into nagging. If the user wants to deploy it, hand off to Trail Marshal `idle_capital_deploy` workflow or a direct Signal Architect quote.\n\n---\n\n### `get_capital_efficiency` (Pioneer)\n\nA single 0–100 score summarizing how productively the wagon is working.\n\n**Formula (transparent):**\n\n```\nscore = 100\n       − 30 × (idleStablesUSD / totalUSD)        // dust drag\n       − 20 × max(0, concentrationTop1 − 0.40)   // over-concentration\n       − 15 × max(0, dryProtocolsCount × 0.05)   // positions in cooled protocols\n       − 10 × max(0, ageBeyond90DaysShare)       // staleness\n       + 25 × (yieldEarningShare)                // capital actually earning\n```\n\n**Returns:**\n\n```\n{\n  \"score\": 72,\n  \"breakdown\": {\n    \"earning\": 0.62,\n    \"idle\": 0.15,\n    \"suboptimal\": 0.23\n  },\n  \"recommendations\": [\n    \"Move 1240 idle USDC on Arbitrum into a Pioneer-grade lending pool.\",\n    \"Top-1 concentration is 49.7% — diversify before adding.\",\n    \"Aerodrome LP is trending below median; consider reducing 20%.\"\n  ]\n}\n```\n\n**Agent posture:** If the score is below 50, lead with capital efficiency in the briefing. If above 80, only mention if the user asks. Never editorialize the score — quote it neutrally.\n\n---\n\n### `get_rebalance_plan` (Pioneer)\n\nGiven a target allocation, produce a swap list to reach it.\n\n**Inputs:**\n\n```\n{\n  \"walletAddress\": \"0x…\",\n  \"targetAllocation\": [\n    { \"asset\": \"ETH\", \"percent\": 40 },\n    { \"asset\": \"USDC\", \"percent\": 30 },\n    { \"asset\": \"weETH\", \"percent\": 20 },\n    { \"asset\": \"SOL\", \"percent\": 10 }\n  ],\n  \"constraints\": { \"maxSwaps\": 6, \"maxSlippagePct\": 0.5 }\n}\n```\n\n**Returns:**\n\n```\n{\n  \"proposedSwaps\": [\n    {\n      \"from\": { \"asset\": \"USDC\", \"chain\": \"arbitrum\", \"amountUSD\": 800 },\n      \"to\":   { \"asset\": \"ETH\",  \"chain\": \"arbitrum\" },\n      \"reason\": \"Under-weight ETH by 5% relative to target.\"\n    },\n    ...\n  ],\n  \"expectedFeeUSD\": 18.40,\n  \"expectedSlippageUSD\": 4.20,\n  \"netDriftClosedPct\": 9.4\n}\n```\n\n**Agent posture:** Present the plan as a *discussion*, not a directive. Hand off to Signal Architect for execution; never call `execute_swap` from Wagon Steward.\n\n---\n\n### `watch_wagon` (Syndicate)\n\nSubscribe to portfolio-drift, idle-capital, and position-health events.\n\n**Inputs:**\n\n```\n{\n  \"walletAddress\": \"0x…\",\n  \"alertWebhook\": \"https://your-agent.example.com/webhook\",\n  \"thresholds\": {\n    \"concentrationTop1\": 0.50,\n    \"idleCapitalUSD\": 2000,\n    \"drawdown7dPct\": 5\n  }\n}\n```\n\n**Returns:** A `watchId` and the active threshold set. Cron evaluates every 15 min and emits events of type `wagon.event.*` on breach.\n\n---\n\n## Cross-Skill Composition\n\nWagon Steward is designed to compose with the other FarmDash skills. The standard composition pattern:\n\n```\nTrail Intelligence  →  Wagon Steward  →  Signal Architect / Futures Strategist\n   \"what's hot\"        \"what I have\"       \"make it happen\"\n```\n\n| Companion skill | When to call it | Hand-off pattern |\n|---|---|---|\n| **Trail Intelligence** | Before recommending any new entry — confirm the protocol is still hot | TI returns Trail Heat + risk → WS confirms feasibility against current balances |\n| **Trail Marshal** | When the user wants the whole sequence orchestrated | TM calls WS first to ground the plan in real balances, then calls SA/FS to execute |\n| **Signal Architect** | When the rebalance plan needs to actually move tokens | WS produces the plan, SA quotes + executes each swap with user confirmation |\n| **Futures Strategist** | When the user wants to hedge the wagon's spot exposure | WS provides spot exposure context, FS sizes a delta-neutral perp |\n\n**Important:** Wagon Steward never auto-calls another skill. It produces analysis; the user (or an orchestrator like Trail Marshal) decides what to do with it.\n\n---\n\n## Output Format Standards\n\nEvery Wagon Steward response includes:\n\n| Field | Always present | Why |\n|---|---|---|\n| `asOf` | Yes | DeFi changes fast; agents must time-bound analysis |\n| `walletAddress` | Yes | Echo the wallet so the agent never confuses contexts |\n| `tier` | Yes | Tells the agent if it should ask for an upgrade |\n| `confidence` | When derived | 0–1; lower when one chain is rate-limited or stale |\n| `staleAfterMs` | Yes | Caching hint for orchestrators |\n\n---\n\n## Risk Warnings the Agent Must Surface\n\nFor any portfolio recommendation the agent should restate that:\n\n- Balances are read at a moment in time; mempool activity may shift them within minutes\n- Cross-chain holdings may include unverified tokens — Wagon Steward only scores tokens it can price\n- Rebalance plans assume current liquidity; real execution may have higher slippage on volatile pairs\n- Capital efficiency is a heuristic, not financial advice\n- The user is solely responsible for the final decision\n\n---\n\n## Autonomous Portfolio Intelligence Upgrade (v0.6)\n\nEvery Wagon-aware agent loop should maintain a portfolio state ledger. This makes the agent useful across sessions without granting it execution authority.\n\n```json\n{\n  \"walletAddress\": \"0x...\",\n  \"asOf\": \"timestamp from FarmDash or normalized by agent\",\n  \"portfolioState\": {\n    \"totalValueUsd\": 0,\n    \"nativeBalanceUsd\": 0,\n    \"idleCapitalUsd\": 0,\n    \"chainDistribution\": {},\n    \"topConcentrationPct\": 0,\n    \"unpricedAssetsCount\": 0\n  },\n  \"riskState\": {\n    \"overConcentrated\": false,\n    \"idleDrag\": false,\n    \"staleData\": false,\n    \"routeNeeded\": false\n  },\n  \"nextBestAction\": \"hold | monitor | research | quote_swap | reduce | rebalance\",\n  \"handoff\": \"none | trail_intelligence | trail_marshal | signal_architect | futures_strategist\"\n}\n```\n\nDecision rules:\n\n- If any chain or token data is missing, say what is missing and lower confidence; never zero missing balances.\n- If idle capital is present but Trail Intelligence has no high-quality destination, recommend `monitor`, not forced deployment.\n- If top concentration is above 40%, discuss risk before adding more exposure to that same asset or chain.\n- If a rebalance requires swaps, return a plan and hand off to Signal Architect for quotes and signatures.\n- If spot exposure needs a hedge, pass the asset, notional size, and risk concern to Futures Strategist; do not size perps from this skill alone.\n\n---\n\n## Recommended Workflows\n\n### Workflow 1: \"Wagon Briefing\"\n\n```\n1. get_portfolio_summary           → totals + top positions\n2. get_capital_efficiency          → single score with breakdown\n3. get_idle_capital                → unused stables (only if > $100)\n4. PRESENT a 3-line briefing:\n     • Total + biggest concentration\n     • Capital efficiency score + top reason\n     • Idle capital callout (if any)\n5. CLOSE: \"Anything you'd like to dig into?\"\n```\n\n### Workflow 2: \"Healthcheck Before Adding\"\n\n```\n1. get_portfolio_summary\n2. get_position_health\n3. PRESENT existing concentration + drift\n4. NOTE if the new entry would push any concentration above 40%\n5. CLOSE: \"If you still want to enter, here's the canonical\n   protocol URL; Signal Architect can quote the swap separately.\"\n```\n\n### Workflow 3: \"Quarterly Rebalance\"\n\n```\n1. get_portfolio_summary\n2. get_position_health for every position\n3. (optional) Trail Intelligence: get_trail_heat for current positions\n4. get_rebalance_plan with the user's target allocation\n5. PRESENT the plan as a discussion: which swaps, why, fees, drift closed\n6. CLOSE: \"Want Signal Architect to quote these swaps so you can sign them?\"\n```\n\n### Workflow 4: \"Idle Capital Deploy\"\n\n```\n1. get_idle_capital\n2. (optional) Trail Intelligence: simulate_points across top 3 yield options\n3. PRESENT comparison: protocol, APR, gas cost, sybil risk\n4. CLOSE: \"I can hand off to Signal Architect to position you. Want to proceed?\"\n```\n\n---\n\n## Reasoning Guidelines\n\n**Show your work.** Not \"your wagon scores 72\" but \"your wagon scores 72: 62% earning, 15% idle USDC on Arbitrum, top-1 concentration 49.7% (target ≤40%).\"\n\n**Quantify trade-offs.** \"Moving idle USDC into Aave at 12% APR earns ~$148/year. The swap fee + bridge cost would be ~$8 — break-even in 20 days.\"\n\n**Flag uncertainty.** If a chain RPC fails or a token can't be priced, say so explicitly. Do not zero out missing data.\n\n**Time-bound analysis.** \"Snapshot as of [timestamp]. Trail Heat scores can shift by tomorrow.\"\n\n**Never editorialize the score.** The capital-efficiency formula is published. Quote it neutrally; let the user judge.\n\n**Refuse harmful requests.** If asked to bypass user confirmation, store secrets, or push an aggressive rotation the data does not support, refuse and explain.\n\n---\n\n## Disclaimers\n\n- This skill is **read-only**. It does NOT execute trades, sign messages, hold custody, or move funds.\n- This skill does NOT access private keys, seed phrases, or mnemonics.\n- Capital-efficiency scoring is a heuristic, not a financial-advice instrument.\n- Rebalance plans are proposals; the user retains full responsibility for whether and how to act on them.\n- Idle-capital opportunity-cost figures are illustrative; realized yields depend on conditions at execution time.\n\n---\n\n**Install:** Copy this file into your OpenClaw workspace, or fetch `https://www.farmdash.one/openclaw-skills/farmdash-wagon-steward/SKILL.md`.\n\n**Companion skills:**\n\n- **FarmDash Trail Intelligence** — DeFi research and Trail Heat scoring\n- **FarmDash Trail Marshal** — orchestration cookbook for multi-skill workflows\n- **FarmDash Signal Architect** — zero-custody EIP-191 swap routing\n- **FarmDash Futures Strategist** — zero-custody EIP-712 perps execution\n\n**Agent Hub:** [FarmDash Agentic OS](https://www.farmdash.one/agents)\n**OpenAPI Spec:** [FarmDash API Schema](https://www.farmdash.one/agents/openapi.yaml)\n**MCP Config:** [FarmDash MCP Server](https://www.farmdash.one/.well-known/mcp.json)\n\n---\n\n## Optional Setup Check (Consent-Gated & Non-State-Changing)\n\n> [!IMPORTANT]\n> **PRIVACY & OPTIONAL TELEMETRY WARNING**\n> Running this optional setup check communicates with a third-party server (`https://www.farmdash.one`). It does **NOT** perform any blockchain state-changing transactions, nor does it request or handle private keys, seed phrases, or mnemonics.\n> \n> **Data Disclosed:** If executed, this command sends your public agent/wallet address and the skill identifier to FarmDash's analytics server to identify your active subscription tier (Scout/Pioneer/Syndicate) and returns your configuration capabilities.\n> \n> **Gated Consent Protocol**: \n> 1. **This check is completely optional**. Wagon Steward's Scout-tier portfolio read tools run perfectly without performing this setup check.\n> 2. **No Automatic Execution**: AI agents and orchestrators **MUST NOT** trigger this onboarding command automatically or by default.\n> 3. **Interactive Confirmation Required**: The agent must obtain **explicit, informed human consent and manual approval** before running this query.\n\nOnly after receiving explicit, manual operator consent, the optional setup check can be queried manually:\n\n```bash\ncurl -X POST https://www.farmdash.one/api/v1/agent/onboard \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-ClawHub-Skill: farmdash-wagon-steward\" \\\n  -d '{\"agentAddress\": \"0xYOUR_AGENT_WALLET\"}'\n```\n\n### What this optional query does:\n- **Retrieves Configuration**: Returns your current tier access (Scout/Pioneer/Syndicate) and active tool definitions.\n- **Validates API Tier Limits**: Connects your ClawHub session to the corresponding subscription limits for portfolio reading.\n- **Analytics Registration**: Registers your public agent wallet address in the FarmDash service funnel solely for capacity planning and active session telemetry.\n\n### Next steps after manual check:\n1. **GET** `/api/v1/agent/onboard` — Full capability map and setup guide.\n2. **Upgrade** to Pioneer ($39.99/mo) or Syndicate ($199/mo) for execution access.\n3. **Browse** the OpenAPI spec at `https://www.farmdash.one/agents/openapi.yaml`.\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn753be85erp4cey7vbq9aq9sd826p37\",\n  \"slug\": \"farmdash-wagon-steward\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1782610297169\n}\n\nFile v1.0.9:skill-card.md\n\n## Description: <br>\nFarmDash Wagon Steward gives OpenClaw agents read-only DeFi portfolio analysis across EVM wallets, including balances, capital-efficiency signals, idle capital, position drift, and research-only rebalance proposals. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[parmasanandgarlic](https://clawhub.ai/user/parmasanandgarlic) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to inspect public EVM wallet portfolio state, identify idle or drifting positions, and generate research-only rebalance proposals without granting custody or execution authority. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: FarmDash receives public wallet addresses for portfolio analysis and the optional API token if configured. <br>\nMitigation: Tell users what data is sent before use, avoid collecting private keys or seed phrases, and configure FARMDASH_API_KEY only when the user wants higher-tier access. <br>\nRisk: The optional onboarding curl can link a public agent or wallet address to FarmDash analytics. <br>\nMitigation: Do not run onboarding automatically; require explicit, informed, manual consent before sending the request. <br>\nRisk: Rebalance proposals may be stale or affected by liquidity, slippage, unpriced assets, or changing market conditions. <br>\nMitigation: Present proposals as research, time-bound the data, disclose missing or stale inputs, and require a separate execution skill with explicit confirmation for any transaction. <br>\nRisk: Rate limits or unavailable chain data can make a portfolio snapshot incomplete. <br>\nMitigation: Surface unavailable chains or tokens, lower confidence for derived analysis, and avoid treating missing balances as zero. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/parmasanandgarlic/skills/farmdash-wagon-steward) <br>\n- [FarmDash Agentic OS](https://www.farmdash.one/agents) <br>\n- [FarmDash OpenAPI Schema](https://www.farmdash.one/agents/openapi.yaml) <br>\n- [FarmDash MCP Server](https://www.farmdash.one/.well-known/mcp.json) <br>\n- [FarmDash Wagon Steward Skill Source](https://www.farmdash.one/openclaw-skills/farmdash-wagon-steward/SKILL.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, Guidance] <br>\n**Output Format:** [Markdown briefings with JSON portfolio snapshots and proposal objects] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Read-only outputs include asOf, walletAddress, tier, staleAfterMs, and confidence when derived.] <br>\n\n## Skill Version(s): <br>\n1.0.9 (source: server release evidence; artifact frontmatter reports 0.6.1) <br>\n\n## Ethical Considerations: <br>\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. <br>\n\nFile v1.0.9:SKILL.json\n\n{\n  \"name\": \"FarmDash Wagon Steward\",\n  \"version\": \"0.6.1\",\n  \"description\": \"Read-only DeFi portfolio aggregation skill for OpenClaw agents. Returns wallet balances across EVM chains, scores capital efficiency, surfaces idle stablecoins, tracks position drift versus a target allocation, and produces rebalancing proposals as research output. Strict read-only surface: every tool is a GET endpoint that returns analysis. The user's separately-installed execution skill is responsible for any on-chain action under its own ClawScan-reviewed contract.\",\n  \"tags\": [\n    \"defi\",\n    \"ai-agent\",\n    \"autonomous-agent\",\n    \"openclaw\",\n    \"clawhub\",\n    \"mcp\",\n    \"crypto\",\n    \"web3\",\n    \"onchain\",\n    \"portfolio\",\n    \"wallet\",\n    \"wallet-analytics\",\n    \"position-tracker\",\n    \"capital-efficiency\",\n    \"rebalancing\",\n    \"yield-farming\",\n    \"airdrop\",\n    \"evm\",\n    \"multi-chain\",\n    \"read-only\",\n    \"zero-custody\",\n    \"farmdash\",\n    \"wagon-steward\"\n  ],\n  \"author\": \"FarmDash Pioneers (@Parmasanandgarlic)\",\n  \"homepage\": \"https://www.farmdash.one/agents\",\n  \"icon\": \"🪵\",\n  \"tools\": [\n    {\n      \"name\": \"get_portfolio_summary\",\n      \"description\": \"(Pioneer)\\n\\nTop-level snapshot. Use this first — it grounds every other recommendation.\\n\\n**\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {}\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"get_position_health\",\n      \"description\": \"(Pioneer)\\n\\nPer-position deep-dive: APR, age, unrealized P&L, IL exposure, and a rebalance hint.\\n\\n**\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {}\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"get_idle_capital\",\n      \"description\": \"(Pioneer)\\n\\nSurfaces stablecoins or unstaked native assets sitting unused.\\n\\n**\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {}\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    }\n  ],\n  \"operatingRules\": [],\n  \"requiredEnv\": {\n    \"FARMDASH_API_KEY\": {\n      \"description\": \"Optional Bearer token used for Pioneer-tier rate limits and full position depth. Scout tier (5 req / 24h, summary only) requires no key or can use the public fd_scout_free token. The token is sent only as an Authorization header to https://www.farmdash.one for tier identification.\",\n      \"required\": false\n    }\n  }\n}\n\nArchive v1.0.8: 4 files, 11749 bytes\n\nFiles: skill-card.md (2894b), SKILL.json (2412b), SKILL.md (21420b), _meta.json (141b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: FarmDash Wagon Steward\ndescription: \"Read-only DeFi portfolio aggregation skill for OpenClaw agents. Returns wallet balances across EVM chains, scores capital efficiency, surfaces idle stablecoins, tracks position drift versus a target allocation, and produces rebalancing proposals as research output. Strict read-only surface: every tool is a GET endpoint that returns analysis. The user's separately-installed execution skill is responsible for any on-chain action under its own ClawScan-reviewed contract.\"\ntags: [\"defi\", \"ai-agent\", \"autonomous-agent\", \"openclaw\", \"clawhub\", \"mcp\", \"crypto\", \"web3\", \"onchain\", \"portfolio\", \"wallet\", \"wallet-analytics\", \"position-tracker\", \"capital-efficiency\", \"rebalancing\", \"yield-farming\", \"airdrop\", \"evm\", \"multi-chain\", \"read-only\", \"zero-custody\", \"farmdash\", \"wagon-steward\"]\nauthor: FarmDash Pioneers (@Parmasanandgarlic)\nhomepage: https://www.farmdash.one\nversion: \"0.6.1\"\nicon: 🪵\nenv:\n  FARMDASH_API_KEY:\n    description: \"Optional Bearer token used for Pioneer-tier rate limits and full position depth. Scout tier (5 req / 24h, summary only) requires no key or can use the public fd_scout_free token. The token is sent only as an Authorization header to https://www.farmdash.one for tier identification.\"\n    required: false\nmetadata: {\"openclaw\":{\"homepage\":\"https://www.farmdash.one/agents\",\"skillKey\":\"farmdash-wagon-steward\",\"primaryEnv\":\"FARMDASH_API_KEY\",\"apiKeyRequired\":false,\"freeScoutKeyless\":true,\"freeScoutKey\":\"fd_scout_free\",\"execution\":\"read-only\"}}\n---\n\n# FarmDash Wagon Steward\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**\n> This skill is strictly a read-only portfolio aggregation surface and does NOT execute any state-changing swaps, deposits, or perps, nor does it request, hold, or transmit private keys, seed phrases, or mnemonics.\n\n> **Security Posture.** Strict read-only. Every tool is a GET endpoint that returns analysis derived from public on-chain data. No environment variables are required for the free tier. The optional Bearer token raises rate limits only and is sent solely as an Authorization header to `https://www.farmdash.one`. Wagon Steward cannot modify wallet state, approve allowances, or initiate any on-chain action. Recommendations are research output; the user's separately-installed execution skill is responsible for any on-chain action under its own ClawScan-reviewed contract.\n\n## What this skill does\n\nWagon Steward is the **read-only mirror of the user's farming state**. Where Trail Intelligence answers \"what is happening in DeFi,\" Wagon Steward answers \"what is happening in your wallet.\"\n\nIt produces analysis, not transactions. Every output is a research snapshot the user reviews and can act on, at their own pace, through whichever execution skill they have separately installed.\n\n**MCP Configuration:** `https://www.farmdash.one/.well-known/mcp.json`\n\n---\n\n## Permissions\n\nWagon Steward requires only the user's public wallet address (the same value visible on any block explorer) and, for Pioneer-tier rate limits, an optional Bearer token. It does not request, accept, or transmit any other credentials. It defines no write capabilities. Recommendations are returned as JSON for the agent to surface to the user; if the user chooses to act, the action is performed by their own separately-installed execution skill under that skill's own ClawScan-reviewed contract.\n\n---\n\n## Data sent to FarmDash MCP\n\n| Field | Sent? | Notes |\n|---|---|---|\n| Public wallet address (`0x…`) | Yes, every call | Public information — same as a block-explorer query |\n| Chain IDs to inspect | Yes, optional | Public values |\n| Bearer token, if provided | Yes, Authorization header | Tier identification only |\n\nNo other fields are collected by skill logic.\n\n**Self-hosting option:** Wagon Steward endpoints are documented in the FarmDash unified OpenAPI spec at `https://www.farmdash.one/agents/openapi.yaml`.\n\n---\n\n## Tier Model\n\n| Tier | Cost | Limits | Capabilities |\n|---|---|---|---|\n| **Scout** | Free | 5 req / 24h | Public FarmDash discovery only; wallet portfolio endpoints require Pioneer because they consume portfolio API credits |\n| **Pioneer** | $39.99/mo | 500 req / day | Wallet balances, portfolio summary, idle capital, token prices, position/performance health |\n| **Syndicate** | $199/mo | 50k req / day | Higher-rate portfolio loops; webhook delivery is handled by the Signal Architect `/v1/agent/webhooks` endpoint |\n\n---\n\n## Available Tools\n\n### Current MCP Tool Map (v0.6)\n\nThe current FarmDash MCP server exposes these Wagon-relevant tools directly:\n\n- `get_wallet_balances`\n- `get_portfolio_summary`\n- `get_position_health`\n- `get_idle_capital`\n- `get_token_prices`\n- `get_agent_performance`\n\nThis SKILL.md also defines useful agent procedures named `get_capital_efficiency`, `get_rebalance_plan`, and `watch_wagon`. Preserve those names in reasoning and UI copy, but do not call them as MCP tools unless the runtime explicitly exposes them. Today they are derived procedures:\n\n- `get_capital_efficiency` = derive from `get_portfolio_summary`, `get_idle_capital`, concentration, priced tokens, and stale-position signals.\n- `get_rebalance_plan` = pair Wagon state with Signal Architect `optimize_portfolio` and fresh swap quotes.\n- `watch_wagon` = implement as an agent loop using repeated reads plus Signal Architect webhooks when the user has Syndicate access.\n\nIf a user asks for one of the derived procedures, execute the underlying current tools and label the result as \"derived by the agent from FarmDash wallet data.\"\n\n### `get_portfolio_summary` (Pioneer)\n\nTop-level snapshot. Use this first — it grounds every other recommendation.\n\n**Inputs:** current MCP uses `address` (required EVM address) and optional `chains` (comma-separated Alchemy network IDs such as `eth-mainnet,base-mainnet`). Legacy examples may say `walletAddress`; map that to `address` before calling.\n\n**Returns:**\n\n```\n{\n  \"totalValueUSD\": 12480.32,\n  \"byChain\": [\n    { \"chainId\": 1, \"chainName\": \"Ethereum\", \"valueUSD\": 6200.00, \"percent\": 49.7 },\n    { \"chainId\": 8453, \"chainName\": \"Base\", \"valueUSD\": 3100.50, \"percent\": 24.8 },\n    ...\n  ],\n  \"byAsset\": [\n    { \"symbol\": \"ETH\", \"valueUSD\": 5400.00, \"percent\": 43.3 },\n    { \"symbol\": \"USDC\", \"valueUSD\": 3200.50, \"percent\": 25.6 },\n    ...\n  ],\n  \"topProtocolPositions\": [\n    { \"protocol\": \"etherfi\", \"valueUSD\": 2400.00, \"asset\": \"weETH\" },\n    ...\n  ],\n  \"asOf\": \"2026-05-12T18:00:00Z\"\n}\n```\n\n**Agent posture:** Start a wagon-aware conversation with this tool when the user has Pioneer access. If the call returns 402, explain that wallet portfolio reads require Pioneer and continue with non-wallet public research instead of fabricating balances. Do not narrate the entire response; surface the totals plus any flags Wagon Steward returns or that you derive (over-concentration, large idle capital, stale positions).\n\n---\n\n### `get_position_health` (Pioneer)\n\nPer-position deep-dive: APR, age, unrealized P&L, IL exposure, and a rebalance hint.\n\n**Inputs:** current MCP uses `address`. Legacy examples may say `walletAddress`; map that to `address` before calling.\n\n**Returns:**\n\n```\n{\n  \"positions\": [\n    {\n      \"protocol\": \"etherfi\",\n      \"chain\": \"ethereum\",\n      \"asset\": \"weETH\",\n      \"valueUSD\": 2400.00,\n      \"apr\": 3.4,\n      \"aprDelta30d\": -0.6,\n      \"impermanentLossUSD\": 0,\n      \"daysSinceEntry\": 47,\n      \"rebalanceHint\": \"hold\",\n      \"notes\": \"APR drifting; still above stablecoin alternatives.\"\n    },\n    {\n      \"protocol\": \"aerodrome\",\n      \"chain\": \"base\",\n      \"asset\": \"USDC-WETH LP\",\n      \"valueUSD\": 1800.00,\n      \"apr\": 12.8,\n      \"aprDelta30d\": 1.2,\n      \"impermanentLossUSD\": -42.50,\n      \"daysSinceEntry\": 12,\n      \"rebalanceHint\": \"monitor\",\n      \"notes\": \"IL accelerating with WETH up 6%; reassess if 5-day IL > $80.\"\n    }\n  ]\n}\n```\n\n**Agent posture:** Treat `rebalanceHint` as a discussion starter, never a directive. Always pair the hint with the *reason* in `notes` so the user can override.\n\n| Hint | Meaning | Suggested phrasing |\n|---|---|---|\n| `hold` | Position is healthy at the user's risk tier | \"Looks fine; keep watching APR drift.\" |\n| `monitor` | Drift detected but not actionable yet | \"Worth checking again in 3–7 days.\" |\n| `reduce` | Concentration or IL exceeds soft limits | \"Consider trimming on the next strong candle.\" |\n| `exit` | Risk gate breached or thesis broken | \"The case has weakened; here's why.\" |\n| `add` | Allocation is below target and APR is favorable | \"If you have idle capital, this slot has room.\" |\n\n---\n\n### `get_idle_capital` (Pioneer)\n\nSurfaces stablecoins or unstaked native assets sitting unused.\n\n**Inputs:** current MCP uses `address`. `minThresholdUSD` is a derived agent display filter; apply it after the response if needed.\n\n**Returns:**\n\n```\n{\n  \"totalIdleUSD\": 1860.00,\n  \"items\": [\n    {\n      \"chain\": \"arbitrum\",\n      \"asset\": \"USDC\",\n      \"amountUSD\": 1240.00,\n      \"opportunityCostPerDay\": 0.41,\n      \"topYieldOption\": { \"protocol\": \"aave-v3\", \"apr\": 12.0 }\n    },\n    ...\n  ]\n}\n```\n\n**Agent posture:** Mention idle capital exactly once per conversation — repeated mention turns into nagging. If the user wants to deploy it, hand off to Trail Marshal `idle_capital_deploy` workflow or a direct Signal Architect quote.\n\n---\n\n### `get_capital_efficiency` (Pioneer)\n\nA single 0–100 score summarizing how productively the wagon is working.\n\n**Formula (transparent):**\n\n```\nscore = 100\n       − 30 × (idleStablesUSD / totalUSD)        // dust drag\n       − 20 × max(0, concentrationTop1 − 0.40)   // over-concentration\n       − 15 × max(0, dryProtocolsCount × 0.05)   // positions in cooled protocols\n       − 10 × max(0, ageBeyond90DaysShare)       // staleness\n       + 25 × (yieldEarningShare)                // capital actually earning\n```\n\n**Returns:**\n\n```\n{\n  \"score\": 72,\n  \"breakdown\": {\n    \"earning\": 0.62,\n    \"idle\": 0.15,\n    \"suboptimal\": 0.23\n  },\n  \"recommendations\": [\n    \"Move 1240 idle USDC on Arbitrum into a Pioneer-grade lending pool.\",\n    \"Top-1 concentration is 49.7% — diversify before adding.\",\n    \"Aerodrome LP is trending below median; consider reducing 20%.\"\n  ]\n}\n```\n\n**Agent posture:** If the score is below 50, lead with capital efficiency in the briefing. If above 80, only mention if the user asks. Never editorialize the score — quote it neutrally.\n\n---\n\n### `get_rebalance_plan` (Pioneer)\n\nGiven a target allocation, produce a swap list to reach it.\n\n**Inputs:**\n\n```\n{\n  \"walletAddress\": \"0x…\",\n  \"targetAllocation\": [\n    { \"asset\": \"ETH\", \"percent\": 40 },\n    { \"asset\": \"USDC\", \"percent\": 30 },\n    { \"asset\": \"weETH\", \"percent\": 20 },\n    { \"asset\": \"SOL\", \"percent\": 10 }\n  ],\n  \"constraints\": { \"maxSwaps\": 6, \"maxSlippagePct\": 0.5 }\n}\n```\n\n**Returns:**\n\n```\n{\n  \"proposedSwaps\": [\n    {\n      \"from\": { \"asset\": \"USDC\", \"chain\": \"arbitrum\", \"amountUSD\": 800 },\n      \"to\":   { \"asset\": \"ETH\",  \"chain\": \"arbitrum\" },\n      \"reason\": \"Under-weight ETH by 5% relative to target.\"\n    },\n    ...\n  ],\n  \"expectedFeeUSD\": 18.40,\n  \"expectedSlippageUSD\": 4.20,\n  \"netDriftClosedPct\": 9.4\n}\n```\n\n**Agent posture:** Present the plan as a *discussion*, not a directive. Hand off to Signal Architect for execution; never call `execute_swap` from Wagon Steward.\n\n---\n\n### `watch_wagon` (Syndicate)\n\nSubscribe to portfolio-drift, idle-capital, and position-health events.\n\n**Inputs:**\n\n```\n{\n  \"walletAddress\": \"0x…\",\n  \"alertWebhook\": \"https://your-agent.example.com/webhook\",\n  \"thresholds\": {\n    \"concentrationTop1\": 0.50,\n    \"idleCapitalUSD\": 2000,\n    \"drawdown7dPct\": 5\n  }\n}\n```\n\n**Returns:** A `watchId` and the active threshold set. Cron evaluates every 15 min and emits events of type `wagon.event.*` on breach.\n\n---\n\n## Cross-Skill Composition\n\nWagon Steward is designed to compose with the other FarmDash skills. The standard composition pattern:\n\n```\nTrail Intelligence  →  Wagon Steward  →  Signal Architect / Futures Strategist\n   \"what's hot\"        \"what I have\"       \"make it happen\"\n```\n\n| Companion skill | When to call it | Hand-off pattern |\n|---|---|---|\n| **Trail Intelligence** | Before recommending any new entry — confirm the protocol is still hot | TI returns Trail Heat + risk → WS confirms feasibility against current balances |\n| **Trail Marshal** | When the user wants the whole sequence orchestrated | TM calls WS first to ground the plan in real balances, then calls SA/FS to execute |\n| **Signal Architect** | When the rebalance plan needs to actually move tokens | WS produces the plan, SA quotes + executes each swap with user confirmation |\n| **Futures Strategist** | When the user wants to hedge the wagon's spot exposure | WS provides spot exposure context, FS sizes a delta-neutral perp |\n\n**Important:** Wagon Steward never auto-calls another skill. It produces analysis; the user (or an orchestrator like Trail Marshal) decides what to do with it.\n\n---\n\n## Output Format Standards\n\nEvery Wagon Steward response includes:\n\n| Field | Always present | Why |\n|---|---|---|\n| `asOf` | Yes | DeFi changes fast; agents must time-bound analysis |\n| `walletAddress` | Yes | Echo the wallet so the agent never confuses contexts |\n| `tier` | Yes | Tells the agent if it should ask for an upgrade |\n| `confidence` | When derived | 0–1; lower when one chain is rate-limited or stale |\n| `staleAfterMs` | Yes | Caching hint for orchestrators |\n\n---\n\n## Risk Warnings the Agent Must Surface\n\nFor any portfolio recommendation the agent should restate that:\n\n- Balances are read at a moment in time; mempool activity may shift them within minutes\n- Cross-chain holdings may include unverified tokens — Wagon Steward only scores tokens it can price\n- Rebalance plans assume current liquidity; real execution may have higher slippage on volatile pairs\n- Capital efficiency is a heuristic, not financial advice\n- The user is solely responsible for the final decision\n\n---\n\n## Autonomous Portfolio Intelligence Upgrade (v0.6)\n\nEvery Wagon-aware agent loop should maintain a portfolio state ledger. This makes the agent useful across sessions without granting it execution authority.\n\n```json\n{\n  \"walletAddress\": \"0x...\",\n  \"asOf\": \"timestamp from FarmDash or normalized by agent\",\n  \"portfolioState\": {\n    \"totalValueUsd\": 0,\n    \"nativeBalanceUsd\": 0,\n    \"idleCapitalUsd\": 0,\n    \"chainDistribution\": {},\n    \"topConcentrationPct\": 0,\n    \"unpricedAssetsCount\": 0\n  },\n  \"riskState\": {\n    \"overConcentrated\": false,\n    \"idleDrag\": false,\n    \"staleData\": false,\n    \"routeNeeded\": false\n  },\n  \"nextBestAction\": \"hold | monitor | research | quote_swap | reduce | rebalance\",\n  \"handoff\": \"none | trail_intelligence | trail_marshal | signal_architect | futures_strategist\"\n}\n```\n\nDecision rules:\n\n- If any chain or token data is missing, say what is missing and lower confidence; never zero missing balances.\n- If idle capital is present but Trail Intelligence has no high-quality destination, recommend `monitor`, not forced deployment.\n- If top concentration is above 40%, discuss risk before adding more exposure to that same asset or chain.\n- If a rebalance requires swaps, return a plan and hand off to Signal Architect for quotes and signatures.\n- If spot exposure needs a hedge, pass the asset, notional size, and risk concern to Futures Strategist; do not size perps from this skill alone.\n\n---\n\n## Recommended Workflows\n\n### Workflow 1: \"Wagon Briefing\"\n\n```\n1. get_portfolio_summary           → totals + top positions\n2. get_capital_efficiency          → single score with breakdown\n3. get_idle_capital                → unused stables (only if > $100)\n4. PRESENT a 3-line briefing:\n     • Total + biggest concentration\n     • Capital efficiency score + top reason\n     • Idle capital callout (if any)\n5. CLOSE: \"Anything you'd like to dig into?\"\n```\n\n### Workflow 2: \"Healthcheck Before Adding\"\n\n```\n1. get_portfolio_summary\n2. get_position_health\n3. PRESENT existing concentration + drift\n4. NOTE if the new entry would push any concentration above 40%\n5. CLOSE: \"If you still want to enter, here's the canonical\n   protocol URL; Signal Architect can quote the swap separately.\"\n```\n\n### Workflow 3: \"Quarterly Rebalance\"\n\n```\n1. get_portfolio_summary\n2. get_position_health for every position\n3. (optional) Trail Intelligence: get_trail_heat for current positions\n4. get_rebalance_plan with the user's target allocation\n5. PRESENT the plan as a discussion: which swaps, why, fees, drift closed\n6. CLOSE: \"Want Signal Architect to quote these swaps so you can sign them?\"\n```\n\n### Workflow 4: \"Idle Capital Deploy\"\n\n```\n1. get_idle_capital\n2. (optional) Trail Intelligence: simulate_points across top 3 yield options\n3. PRESENT comparison: protocol, APR, gas cost, sybil risk\n4. CLOSE: \"I can hand off to Signal Architect to position you. Want to proceed?\"\n```\n\n---\n\n## Reasoning Guidelines\n\n**Show your work.** Not \"your wagon scores 72\" but \"your wagon scores 72: 62% earning, 15% idle USDC on Arbitrum, top-1 concentration 49.7% (target ≤40%).\"\n\n**Quantify trade-offs.** \"Moving idle USDC into Aave at 12% APR earns ~$148/year. The swap fee + bridge cost would be ~$8 — break-even in 20 days.\"\n\n**Flag uncertainty.** If a chain RPC fails or a token can't be priced, say so explicitly. Do not zero out missing data.\n\n**Time-bound analysis.** \"Snapshot as of [timestamp]. Trail Heat scores can shift by tomorrow.\"\n\n**Never editorialize the score.** The capital-efficiency formula is published. Quote it neutrally; let the user judge.\n\n**Refuse harmful requests.** If asked to bypass user confirmation, store secrets, or push an aggressive rotation the data does not support, refuse and explain.\n\n---\n\n## Disclaimers\n\n- This skill is **read-only**. It does NOT execute trades, sign messages, hold custody, or move funds.\n- This skill does NOT access private keys, seed phrases, or mnemonics.\n- Capital-efficiency scoring is a heuristic, not a financial-advice instrument.\n- Rebalance plans are proposals; the user retains full responsibility for whether and how to act on them.\n- Idle-capital opportunity-cost figures are illustrative; realized yields depend on conditions at execution time.\n\n---\n\n**Install:** Copy this file into your OpenClaw workspace, or fetch `https://www.farmdash.one/openclaw-skills/farmdash-wagon-steward/SKILL.md`.\n\n**Companion skills:**\n\n- **FarmDash Trail Intelligence** — DeFi research and Trail Heat scoring\n- **FarmDash Trail Marshal** — orchestration cookbook for multi-skill workflows\n- **FarmDash Signal Architect** — zero-custody EIP-191 swap routing\n- **FarmDash Futures Strategist** — zero-custody EIP-712 perps execution\n\n**Dashboard:** `https://www.farmdash.one`\n**Agent Hub:** `https://www.farmdash.one/agents`\n**MCP Config:** `https://www.farmdash.one/.well-known/mcp.json`\n**OpenAPI Spec:** `https://www.farmdash.one/agents/openapi.yaml`\n\n---\n\n## Optional Setup Check (Consent-Gated & Non-State-Changing)\n\n> [!IMPORTANT]\n> **PRIVACY & OPTIONAL TELEMETRY WARNING**\n> Running this optional setup check communicates with a third-party server (`https://www.farmdash.one`). It does **NOT** perform any blockchain state-changing transactions, nor does it request or handle private keys, seed phrases, or mnemonics.\n> \n> **Data Disclosed:** If executed, this command sends your public agent/wallet address and the skill identifier to FarmDash's analytics server to identify your active subscription tier (Scout/Pioneer/Syndicate) and returns your configuration capabilities.\n> \n> **Gated Consent Protocol**: \n> 1. **This check is completely optional**. Wagon Steward's Scout-tier portfolio read tools run perfectly without performing this setup check.\n> 2. **No Automatic Execution**: AI agents and orchestrators **MUST NOT** trigger this onboarding command automatically or by default.\n> 3. **Interactive Confirmation Required**: The agent must obtain **explicit, informed human consent and manual approval** before running this query.\n\nOnly after receiving explicit, manual operator consent, the optional setup check can be queried manually:\n\n```bash\ncurl -X POST https://www.farmdash.one/api/v1/agent/onboard \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-ClawHub-Skill: farmdash-wagon-steward\" \\\n  -d '{\"agentAddress\"\n\nArchive v1.0.7: 4 files, 11208 bytes\n\nFiles: skill-card.md (2734b), SKILL.json (2412b), SKILL.md (20267b), _meta.json (141b)\n\nArchive v1.0.6: 4 files, 10811 bytes\n\nFiles: skill-card.md (2476b), SKILL.json (2412b), SKILL.md (19635b), _meta.json (141b)\n\nArchive v1.0.5: 3 files, 9810 bytes\n\nFiles: skill-card.md (2863b), SKILL.md (19622b), _meta.json (141b)\n\nArchive v1.0.4: 2 files, 8321 bytes\n\nFiles: SKILL.md (19622b), _meta.json (141b)\n\nArchive v1.0.3: 2 files, 8265 bytes\n\nFiles: SKILL.md (19502b), _meta.json (141b)","readmeExcerpt":"Skill: FarmDash Wagon Steward Owner: parmasanandgarlic Summary: Use when watching a DeFi portfolio: balances, position health, idle capital, drift. Read-only; never rebalances or moves funds without your signature. Tags: agent-orchestration:1.0.9, ai-agent:1.7.3, airdrop:1.0.9, allocation-analysis:1.7.3, arbitrum:1.7.3, asset-allocation:1.7.3, asset-tracking:1.0.8, automation:1.0.9, autonomous-agent:1.0.9, balances:1","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"score = 100\n       − 30 × (idleStablesUSD / totalUSD)        // dust drag\n       − 20 × max(0, concentrationTop1 − 0.40)   // over-concentration\n       − 15 × max(0, dryProtocolsCount × 0.05)   // positions in cooled protocols\n       − 10 × max(0, ageBeyond90DaysShare)       // staleness\n       + 25 × (yieldEarningShare)                // capital actually earning"},{"language":"text","snippet":"{\n  \"score\": 72,\n  \"breakdown\": {\n    \"earning\": 0.62,\n    \"idle\": 0.15,\n    \"suboptimal\": 0.23\n  },\n  \"recommendations\": [\n    \"Move 1240 idle USDC on Arbitrum into a Pioneer-grade lending pool.\",\n    \"Top-1 concentration is 49.7% — diversify before adding.\",\n    \"Uniswap V3 LP is trending below median; consider reducing 20%.\"\n  ]\n}"},{"language":"text","snippet":"{\n  \"walletAddress\": \"0x…\",\n  \"targetAllocation\": [\n    { \"asset\": \"ETH\", \"percent\": 40 },\n    { \"asset\": \"USDC\", \"percent\": 30 },\n    { \"asset\": \"weETH\", \"percent\": 20 },\n    { \"asset\": \"SOL\", \"percent\": 10 }\n  ],\n  \"constraints\": { \"maxSwaps\": 6, \"maxSlippagePct\": 0.5 }\n}"},{"language":"text","snippet":"{\n  \"proposedSwaps\": [\n    {\n      \"from\": { \"asset\": \"USDC\", \"chain\": \"arbitrum\", \"amountUSD\": 800 },\n      \"to\":   { \"asset\": \"ETH\",  \"chain\": \"arbitrum\" },\n      \"reason\": \"Under-weight ETH by 5% relative to target.\"\n    },\n    ...\n  ],\n  \"expectedFeeUSD\": 18.40,\n  \"expectedSlippageUSD\": 4.20,\n  \"netDriftClosedPct\": 9.4\n}"},{"language":"text","snippet":"{\n  \"walletAddress\": \"0x…\",\n  \"alertWebhook\": \"https://your-agent.example.com/webhook\",\n  \"thresholds\": {\n    \"concentrationTop1\": 0.50,\n    \"idleCapitalUSD\": 2000,\n    \"drawdown7dPct\": 5\n  }\n}"},{"language":"text","snippet":"Trail Intelligence  →  Wagon Steward  →  Signal Architect / Futures Strategist\n   \"what's hot\"        \"what I have\"       \"make it happen\""}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: FarmDash Wagon Steward\ndescription: \"Use when watching a DeFi portfolio: balances, position health, idle capital, drift. Read-only; never rebalances or moves funds without your signature.\"\ntags: [\"defi\",\"defi-portfolio\",\"crypto-portfolio-tracker\",\"wallet-analytics\",\"multichain-portfolio\",\"evm-wallet\",\"solana\",\"base\",\"portfolio-analysis\",\"asset-allocation\",\"portfolio-rebalancing\",\"capital-efficiency\",\"idle-stablecoins\",\"position-tracking\",\"onchain-portfolio\",\"read-only\",\"openclaw\",\"ai-agent\",\"mcp\",\"farmdash\"]\nauthor: FarmDash Pioneers (@Parmasanandgarlic)\nhomepage: https://www.farmdash.one/agents\nversion: \"0.7.2\"\nicon: 🪵\nenv:\n  FARMDASH_API_KEY:\n    description: \"Optional Bearer token used for Pioneer-tier rate limits and full position depth. Scout tier (5 req / 24h, summary only) requires no key or can use the public fd_scout_free token. The token is sent only as an Authorization header to https://www.farmdash.one for tier identification.\"\n    required: false\nmetadata: {\"openclaw\":{\"homepage\":\"https://www.farmdash.one/agents\",\"skillKey\":\"farmdash-wagon-steward\",\"primaryEnv\":\"FARMDASH_API_KEY\",\"apiKeyRequired\":false,\"freeScoutKeyless\":true,\"freeScoutKey\":\"fd_scout_free\",\"execution\":\"read-only\"}}\n---\n\n# FarmDash Wagon Steward\n\n> Use this skill when asking \"what is happening in my wallet\": balances, idle capital, allocation drift, and rebalance proposals — read-only, address alone.\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**\n> This skill is strictly a read-only portfolio aggregation surface and does NOT execute any state-changing swaps, deposits, or perps, nor does it request, hold, or transmit private keys, seed phrases, or mnemonics.\n\n> **Security Posture.** Strict read-only. Every tool is a GET endpoint that returns analysis derived from public on-chain data. No environment variables are required for the free tier. The optional Bearer token raises rate limits only and is sent solely as an Authorization header to `https://www.farmdash.one`. Wagon Steward cannot modify wallet state, approve allowances, or initiate any on-chain action. Recommendations are research output; the user's separately-installed execution skill is responsible for any on-chain action under its own ClawScan-reviewed contract.\n\n## What this skill does\n\nWagon Steward is the **read-only mirror of the user's farming state**. Where Trail Intelligence answers \"what is happening in DeFi,\" Wagon Steward answers \"what is happening in your wallet.\"\n\nIt produces analysis, not transactions. Every output is a research snapshot the user reviews and can act on, at their own pace, through whichever execution skill t"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn753be85erp4cey7vbq9aq9sd826p37\",\n  \"slug\": \"farmdash-wagon-steward\",\n  \"version\": \"1.7.3\",\n  \"publishedAt\": 1790412594584\n}"},{"path":"skill-card.md","content":"## Description:\n\nProvides read-only DeFi wallet snapshots, allocation analysis, candidate liquid-reserve checks, and rebalance proposals without moving funds.\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 wallet holders and agents use this skill to review observable balances, allocation drift, and candidate liquid reserves, and to discuss possible rebalancing without executing trades.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Wallet addresses and optional API credentials are shared with FarmDash for analytics.\n\nMitigation: Share a public address only if comfortable with FarmDash receiving it; provide an API credential only when needed.\n\nRisk: The optional setup check registers an agent or wallet address for tier and analytics purposes.\n\nMitigation: Run the onboarding check only after explicit informed consent; never trigger it automatically.\n\nRisk: Rebalance proposals may be mistaken for instructions to trade.\n\nMitigation: Treat proposals as research, review coverage and costs, and require the user's separate decision and signature for any trade.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/parmasanandgarlic/skills/farmdash-wagon-steward)\n- [FarmDash Agent Hub](https://www.farmdash.one/agents)\n- [FarmDash agent documentation](https://www.farmdash.one/docs)\n- [FarmDash API schema](https://www.farmdash.one/agents/openapi.yaml)\n- [FarmDash MCP discovery](https://www.farmdash.one/.well-known/mcp.json)\n\n## Skill Output:\n\n**Output Type(s):** [Analysis, Guidance]\n\n**Output Format:** [Markdown or JSON]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Wallet snapshot timestamps and queried networks should accompany portfolio estimates; rebalance plans are proposals only.]\n\n## Skill Version(s):\n\n1.7.3 (source: server-resolved ClawHub release; bundled skill metadata says 0.7.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."},{"path":"SKILL.json","content":"{\n  \"name\": \"FarmDash Wagon Steward\",\n  \"version\": \"0.7.2\",\n  \"description\": \"Use when watching a DeFi portfolio: balances, position health, idle capital, drift. Read-only; never rebalances or moves funds without your signature.\",\n  \"tags\": [\n    \"defi\",\n    \"defi-portfolio\",\n    \"crypto-portfolio-tracker\",\n    \"wallet-analytics\",\n    \"multichain-portfolio\",\n    \"evm-wallet\",\n    \"solana\",\n    \"base\",\n    \"portfolio-analysis\",\n    \"asset-allocation\",\n    \"portfolio-rebalancing\",\n    \"capital-efficiency\",\n    \"idle-stablecoins\",\n    \"position-tracking\",\n    \"onchain-portfolio\",\n    \"read-only\",\n    \"openclaw\",\n    \"ai-agent\",\n    \"mcp\",\n    \"farmdash\"\n  ],\n  \"author\": \"FarmDash Pioneers (@Parmasanandgarlic)\",\n  \"homepage\": \"https://www.farmdash.one/agents\",\n  \"icon\": \"🪵\",\n  \"tools\": [\n    {\n      \"name\": \"get_portfolio_summary\",\n      \"description\": \"(Pioneer)\\r\\n\\r\\nTop-level snapshot. Use this first — it grounds every other recommendation.\\r\\n\\r\\n**\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"address\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          }\n        },\n        \"required\": [\n          \"address\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"get_position_health\",\n      \"description\": \"(compatibility alias; Pioneer)\\r\\n\\r\\nDespite its legacy name, the current MCP mapping calls `/api/v1/agent/performance`. It returns FarmDash activity metrics (swap count, volume, fees, average size, protocol diversity, active days), Trail Cred/ranking data, daily activity, and a timestamp.\\r\\n\\r\\nIt does **not** return farming positions, APR, unrealized or realized P&L, impermanent loss, collateral health, liquidation distance, or rebalance hints. Never use it to claim a DeFi position is healthy. For a real position review, obtain protocol-native position/debt data and authoritative prices; if those tools are unavailable, say position health is unavailable.\\r\\n\\r\\n---\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"address\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          }\n        },\n        \"required\": [\n          \"address\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n      },\n      \"outputHints\": [],\n      \"category\": \"read\"\n    },\n    {\n      \"name\": \"get_idle_capital\",\n      \"description\": \"(Pioneer)\\r\\n\\r\\nSurfaces stablecoins or unstaked native assets sitting unused.\\r\\n\\r\\n**\",\n      \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"address\": {\n            \"type\": \"string\",\n            \"pattern\": \"^0x[a-fA-F0-9]{40}$\"\n          }\n        },\n        \"required\": [\n          \"address\"\n        ],\n        \"additionalProperties\": false,\n        \"$schema\": \"h"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Use when watching a DeFi portfolio: balances, position health, idle capital, drift. Read-only; never rebalances or moves funds without your signature. Skill: FarmDash Wagon Steward Owner: parmasanandgarlic Summary: Use when watching a DeFi portfolio: balances, position health, idle capital, drift. Read-only; never rebalances or moves funds without your signature. Tags: agent-orchestration:1.0.9, ai-agent:1.7.3, airdrop:1.0.9, allocation-analysis:1.7.3, arbitrum:1.7.3, asset-allocation:1.7.3, asset-tracking:1.0.8, automation:1.0.9, autonomous-agent:1.0.9, balances:1","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1610,"uniquenessScore":45,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T03:56:00.545Z","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-10T03:56:00.545Z","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-10T08:56:37.890Z","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"}]}}}