> [!NOTE]
> THEMATIC METAPHOR DISCLAIMER
> FarmDash is exclusively a decentralized finance (DeFi) software and AI agent intelligence platform. The "farming," "trail," "wagon," and "frontier" terminology is a gamified visual theme representing crypto yield hunting and airdrop points farming. It does not relate to physical agriculture or agrifood industries.
> [!IMPORTANT]
> ZERO-CUSTODY CRITICAL BOUNDARY & ANTI-EVASION POLICY
> This skill is strictly a read-only research 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.
>
> Anti-Evasion Gate:
> All airdrop simulations, Sybil risk indicators, and concurrency analytics are read-only planning heuristics. They are provided solely for risk management and system rate-limit compliance. Operators must never use this guidance to evade protocol anti-abuse controls, circumvent terms of service, or engage in deceptive sybil behavior.
This skill is a read-only research surface for DeFi farming. It calls FarmDash's MCP tools to answer questions, rank protocols, simulate outcomes, and assess wallet health. It produces analysis, not transactions.
This skill does NOT:
Execution is a separate, opt-in path. If a user wants to act on a recommendation, they must explicitly choose to do so using a dedicated execution skill (e.g. FarmDash Signal Architect for swaps, FarmDash Futures Strategist for perps) — both of which use local user-signed payloads (EIP-191 / EIP-712) and never see private keys.
MCP Configuration: https://www.farmdash.one/.well-known/mcp.json
| Capability | Required? | Why |
|---|---|---|
| Public wallet address (read-only) | Optional | To run audit_sybil_risk, simulate_points, optimize_portfolio, get_wallet_balances |
| Bearer API key (FARMDASH_API_KEY) | Optional | Raises rate limits to Pioneer tier (500 req/day). Scout tier works without any key |
| Private key / seed phrase / mnemonic | NEVER | This skill will refuse and explain |
| Transaction signing | NEVER | Not in scope — handled by Signal Architect / Futures Strategist with user-local signing |
| Token allowance approval | NEVER | Not in scope |
| Wallet write permission | NEVER | All endpoints are GET / read-only POST with public inputs |
If an agent or user asks this skill to sign, transact, or store secrets — refuse and redirect to the appropriate dedicated execution skill with explicit user confirmation.
Every MCP call is HTTPS to farmdash.one. The following table is the complete list of what may be transmitted. Verify yourself at https://www.farmdash.one/.well-known/mcp.json.
| Field | Sent? | Visible to | Notes |
|---|---|---|---|
| Public wallet address (0x…) | When tool requires it | FarmDash + upstream RPC | Public information — same as Etherscan |
| Token addresses, chain IDs, amounts | Yes (research params) | FarmDash | Public values used to size projections |
| Bearer API key (if provided) | Yes (Authorization header) | FarmDash | Tier identification only |
| Private key / seed phrase | Never | — | Refused by skill design |
| Account passwords / OAuth tokens | Never | — | Not requested |
| User PII (email, IP beyond TLS) | Never | — | Not collected by skill logic |
Self-hosting option: the FarmDash MCP surface is fully described by the OpenAPI spec at https://www.farmdash.one/agents/openapi.yaml. Users wanting full data sovereignty can run an equivalent MCP locally and point the MCP server at it via FARMDASH_BASE_URL.
FarmDash may receive referral, affiliate, or routing compensation when a user visits a protocol through a https://www.farmdash.one/go/{slug} route or uses a supported execution venue. This must be disclosed in any recommendation that uses such a route. Example phrasing:
> "Disclosure: this is a FarmDash partner route. FarmDash may receive referral, affiliate, or routing compensation. Fee details: https://www.farmdash.one/fees."
Rules the agent must follow:
https://www.farmdash.one/go/{slug} routes as optional managed routes. Name the protocol and, when known, identify its canonical domain so the user can independently verify the destination before opening any link. Point fee questions to https://www.farmdash.one/fees.
For any DeFi recommendation the agent should restate, in plain language, that:
get_trail_heat
Returns the live Trail Heat dataset ranked 0–100.
Formula: 30% TVL + 25% Status + 15% Category + 15% Momentum + 15% Recency. Data sourced from DeFiLlama.
How the agent should interpret scores:
| Range | Label | Agent posture |
|---|---|---|
| 80–100 | Blazing | Present the data clearly. If the user expresses interest in acting, the agent may mention the FarmDash https://www.farmdash.one/go/{slug} route with the commercial disclosure and /fees pointer. The agent does not preemptively push entry |
| 60–79 | Warm | Present as one option for consideration; emphasize diversification |
| 40–59 | Cooling | Mention only if directly relevant; do not push entry |
| Below 40 | Cold | Discuss only on explicit user request |
The score is one input. Risk, fit, and user goals override it.
get_chain_breakdown
Protocol distribution across chains: count, percentage, confirmed airdrops, points programs, categories.
Use this to give the user objective chain-level context. If the analysis reveals a gap in their portfolio, describe the gap; do not auto-propose a bridge. Bridging is irreversible and is the user's decision.
get_agent_events
Real-time stream of protocol events: new airdrops, upcoming snapshots, program changes, TVL spikes.
Event-to-information mapping (no mandatory close):
| Event Type | Agent Response |
|---|---|
| New airdrop announced | Surface it. Run further research if the user asks. Do not assume entry is appropriate |
| Snapshot in <48h | Surface the deadline and let the user weigh it. Eligibility checks if requested |
| Multiplier increase | Recalculate simulations if asked. Disclose that program rules can change again |
| TVL spike | Flag dilution risk for existing holders. No automatic "add more" suggestion |
| Program ending soon | Inform the user. Exiting is a user decision, not a default close |
audit_sybil_risk
Sybil risk assessment for 1–10 EVM addresses. Inputs are public wallet addresses only — never request signatures or private keys to run this tool.
How to communicate results:
| Risk Level | What to say | What NOT to do |
|---|---|---|
| Low | "The wallet has a clean status. Ensure all operations adhere to standard protocol limits and concurrency guidelines." | Do not pair this with a referral link by default. Recommendations come from a separate research step |
| Medium | "Your activity has clusters that may trigger node provider rate-limiting. Suggested network safety settings: …" | Do not use this output to redirect the user to a different referral. The output is advice, not a sales hook |
| High | "This wallet is at risk of being blocked by protocol safety systems. Pause concurrent automated execution immediately to avoid RPC/node bans." | Do not append a "fresh wallet on protocol X — here's the ref link" close. Sybil warnings are referral-free |
simulate_points
Projects a FarmScore for a hypothetical configuration.
Formula: (Volume/$1k × 50) + (Balance × 1) + (Txs × 10) + (LP × 2) + (Fees × 100)
How to use simulations responsibly:
Example comparison block:
Protocol | Projected Points | Est. Value (Speculative) | Gas Cost | Net (Best Case)
Ostium | 42,000 | $1,200 *speculative* | $45 | $1,155
Hyperliquid | 38,000 | $980 *speculative* | $30 | $950
Altura | 35,000 | $900 *speculative* | $60 | $840
"Ostium has the highest projected net value in this scenario. Whether
that's the right choice depends on your existing exposure, risk tolerance,
and how confident you are in the program continuing. If you'd like to
proceed, use FarmDash's route: https://www.farmdash.one/go/ostium.
Disclosure: FarmDash may receive referral, affiliate, or routing
compensation. Fee details: https://www.farmdash.one/fees."
optimize_portfolio
Personalized rebalancing suggestions based on current positions, risk tolerance, and goals.
This tool proposes moves; it does not execute them. Present the suggestion list as a discussion starter:
/go/ostium route with commercial disclosure and the /fees pointer
get_historical_trailheat
Trail Heat snapshots, 1–365 days back.
How to discuss trends without forcing action:
The agent does not assert "you should enter" or "you should exit" — it provides context.
audit_sybil_risk (additional usage notes)
Use this defensively to monitor your addresses' compatibility with standard protocol concurrency policies.
get_wallet_balances
Use this only when the user explicitly asks "what can I do with this wallet?" or you need feasibility sizing. Pass only the public wallet address.
Good follow-ups (still user-gated):
simulate_points to compare a few candidate farms at the user's budget.
get_token_prices
Use this to convert balances into USD terms so projections and comparisons are well-sized.
These tools surface FarmDash backend capabilities that previously had no public skill exposure. Every tool below is read-only and follows the same refusal/disclosure rules as the rest of this skill. The current implementation notes in each section are authoritative when they differ from older illustrative examples.
get_protocol_metadata
Current implementation contract (authoritative): call this with protocolId, not legacy slug. The current API returns FarmDash protocol fields (protocol_id, protocol_name, trail_heat_score, sybil_risk, tvl, category, status, chains, description, tags, hot, date_added, recommended_agent_deploy_link). Do not invent audits, treasury structure, contracts, or canonical URLs when they are absent. Scout tier may return masked numeric fields; say that plainly rather than estimating them.
Returns the current FarmDash record for one protocol: protocol id/name, Trail Heat score, sybil-risk label, TVL when available for the user's tier, category, status, chains, description, tags, hot/recency signals, and any FarmDash recommended deploy link returned by the API.
Inputs: current MCP uses protocolId (required, e.g. hyperliquid, ostium). Legacy examples may say slug; map that to protocolId before calling.
Returns shape:
{
"protocol_id": "hyperliquid",
"protocol_name": "Hyperliquid",
"trail_heat_score": 84,
"sybil_risk": "medium",
"tvl": 123456789,
"category": "perps-dex",
"status": "live",
"chains": ["HyperEVM"],
"description": "Protocol summary returned by FarmDash.",
"tags": ["perps", "points"],
"hot": true,
"date_added": "2026-05-12T18:00:00Z",
"recommended_agent_deploy_link": "https://www.farmdash.one/go/hyperliquid"
}
Use this before any recommendation, to ground the rest of the analysis in the same metadata that powers Trail Heat. Do not paraphrase the chains list. If the response omits audits, contracts, treasury structure, or canonical URLs, say they were not returned rather than filling them in.
get_protocol_risk_factors
Current implementation contract (authoritative): this tool returns FarmDash protocol risk indicators from the same metadata/ranking surface: sybil-risk label, status, category, chains, Trail Heat data, hot/recency signals, and tier-masked fields when applicable. It is not a formal smart-contract audit and should not be presented as one. If the user asks for audit-level assurance, give the FarmDash triage result and say that manual audit/source review is still required.
Returns FarmDash protocol risk indicators for triage. Use this when the user asks why a protocol is or is not safe; the metadata alone is not enough, but this output is still not a substitute for a manual smart-contract audit.
Inputs: current MCP uses protocolId (required). Legacy examples may say slug; map that to protocolId before calling.
Returns shape:
{
"protocol_id": "hyperliquid",
"riskScore": 72, // 0–100, higher is safer
"factors": {
"adminKey": { "type": "multisig-2of3", "score": 75 },
"tvlConcentration": { "top10WalletsPct": 0.42, "score": 80 },
"auditStatus": { "auditCount": 2, "score": 90 },
"timelock": { "delaySeconds": 86400, "score": 85 },
"incidentHistory": { "exploits": 0, "score": 100 },
"governanceCentralization": { "score": 70 }
},
"redFlags": ["top-10 wallets hold 42% of TVL — exit liquidity is concentrated"],
"greenFlags": ["timelock = 24h", "two completed audits", "zero incidents to date"],
"asOf": "2026-05-12T18:00:00Z"
}
Agent posture by score:
| Range | Posture |
|---|---|
| 80–100 | Low residual risk for the user's tier; reasonable to recommend if Trail Heat is also strong |
| 60–79 | Acceptable for moderate risk profiles; surface the lowest-scoring factor as a cautionary note |
| 40–59 | Caution — only mention if the user explicitly asks; do NOT pair with a FarmDash route |
| 0–39 | Avoid — explain the disqualifier; never include a FarmDash route |
find_capital_route
Current implementation contract (authoritative): this is a route quote preview using fromChainId, toChainId, fromToken, toToken, fromAmount in base units, and optional protocol (lifi, zerox, x402). It does not return deposit calldata or perform approvals. Treat it as an economic feasibility check; Signal Architect must still get a fresh get_swap_quote, disclose terms, collect explicit user confirmation, and use a local EIP-191 signature before execution.
Given a source token/chain and destination token/chain, returns route economics for planning: estimated output, route provider, cost, timing, slippage assumptions, and constraints. It does not produce execution-ready approvals, deposits, or calldata.
Inputs:
{
"walletAddress": "0x... or null",
"toChainId": 8453,
"fromToken": "0x...",
"toToken": "0x...",
"fromAmount": "1000000",
"protocol": "lifi" | "zerox" | "x402"
}
Returns shape:
{
"ecosystem": "evm",
"provider": "lifi",
"fromChainId": 1,
"toChainId": 8453,
"fromToken": "0x...",
"toToken": "0x...",
"fromAmount": "1000000",
"estimatedToAmount": "990000",
"estimatedGasUsd": 4.25,
"estimatedTimeSeconds": 180,
"constraints": {
"maxSlippageBps": 50,
"positiveNetEdge": true
},
"summary": "Route preview only. Re-quote in Signal Architect before signing."
}
This is research, not execution. Trail Intelligence returns route feasibility only. Signal Architect must create a fresh executable quote, disclose all terms, collect explicit user confirmation, and use local EIP-191 signing before any transaction.
Use a structured decision ledger for every autonomous or semi-autonomous research run. The goal is to make the downstream agent smarter without allowing this read-only skill to become an execution surface.
Required ledger fields:
{
"researchGoal": "rank_farms | protocol_review | route_feasibility | wallet_health",
"walletAddress": "0x... or null",
"candidateProtocolIds": ["hyperliquid", "ostium"],
"userConstraints": {
"riskPreference": "conservative | balanced | aggressive",
"budget": "low | medium | high",
"allowedChains": [],
"deniedProtocols": []
},
"evidence": {
"trailHeat": "fresh | stale | masked",
"historicalTrend": "rising | flat | falling | unavailable",
"events": "none | warning | opportunity",
"sybilRisk": "low | medium | high | unknown",
"routeFeasibility": "positive_edge | negative_edge | not_checked"
},
"decision": "recommend | monitor | avoid | needs_execution_skill",
"handoff": "none | wagon_steward | signal_architect | futures_strategist | trail_marshal"
}
Decision rules:
monitor or avoid.
monitor even when the protocol is attractive.
handoff to signal_architect or futures_strategist; never describe this skill as able to execute.
Every workflow ends with information the user can act on at their own pace. The agent surfaces options, not directives.
1. get_agent_events → any breaking opportunities?
2. get_trail_heat → current top protocols
3. get_historical_trailheat → trend check
4. get_chain_breakdown → which chain concentrates the hot protocols?
5. simulate_points → project returns for top 3 with the user's budget
6. optimize_portfolio → factor in existing positions
7. audit_sybil_risk → is the wallet healthy for farming?
8. PRESENT a ranked comparison table with risk flags, fees, and trend.
9. CLOSE with: "Based on the above, [Protocol X] looks strongest for your
goals. If you want to proceed, use FarmDash's route: [go link].
Disclosure: FarmDash may receive referral, affiliate, or routing
compensation. Fee details: https://www.farmdash.one/fees. You'd need
[token] on [chain] to start — Signal Architect can quote that swap
separately. Want me to dig deeper first?"
1. get_trail_heat → current score
2. get_historical_trailheat → 30-day trend
3. get_chain_breakdown → chain context
4. get_agent_events → upcoming events
5. simulate_points → project earnings at the user's budget
6. audit_sybil_risk → is the wallet safe to farm here?
7. PRESENT verdict: worth it / conditional / avoid — with risk flags.
8. If "worth it": surface the FarmDash `/go/{slug}` route with disclosure
and the `/fees` pointer. Note required token + chain. Do not push execution.
9. If "avoid": explain why. Do NOT include a FarmDash route.
1. get_agent_events → what happened since last check
2. get_trail_heat → score changes
3. get_historical_trailheat → flag any ±5 point moves
4. PRESENT a neutral summary: opportunities, risk alerts, expiring programs.
5. CLOSE with: "Here's what shifted. Anything you'd like to dig into?"
— no swap offers unless the user explicitly asks.
1. audit_sybil_risk → risk level
2. simulate_points → on track for the user's targets?
3. get_trail_heat → are current farms still hot?
4. PRESENT a health report with risk flags.
5. CLOSE with a neutral status:
"Your wallet is [status]. Suggested rate-limit and RPC safety checklist: [checklist].
If you want to rotate positions, Signal Architect can quote the
swaps separately."
1. get_trail_heat → both scores
2. get_historical_trailheat → both trends (30 days)
3. simulate_points → same budget, both protocols
4. get_chain_breakdown → chain context for each
5. PRESENT a side-by-side table with risk flags and fee assumptions.
6. CLOSE: "[X] looks stronger on the criteria you mentioned. The FarmDash
route is below, with commercial disclosure and fee details at
https://www.farmdash.one/fees. Whether to rebalance is your call —
Signal Architect handles the swap if you decide."
Use this when the user asks whether a protocol is safe, not whether it is hot. Risk and Trail Heat are independent dimensions; a protocol can be hot AND risky.
1. get_protocol_metadata -> FarmDash metadata (chains, category, status)
2. get_protocol_risk_factors → FarmDash protocol risk indicators
3. get_trail_heat → cross-reference performance score
4. get_agent_events → any recent incidents on this protocol?
5. PRESENT the verdict in this exact order:
• Risk score and the lowest-scoring factor
• Trail Heat score and 30-day trend
• Any protocol risk indicators + recent events
• Net verdict: safe-to-recommend / acceptable / avoid
6. NEVER pair a FarmDash route with a verdict of "avoid".
Use this when the user has a target position in mind but is unsure how to fund it from their current wallet.
1. get_wallet_balances → what does the user actually hold?
2. find_capital_route -> route feasibility preview from balances -> target
3. PRESENT the steps with total cost, time, and ecosystem (EVM/Solana)
4. Note any leg that crosses chains — bridges are irreversible
5. CLOSE: "This is the research path. If you want to execute it,
Signal Architect handles the swap legs (EIP-191) and the deposit
step is user-driven via the FarmDash route, with fee details at
https://www.farmdash.one/fees."
Trail Intelligence is the eyes of the FarmDash agent stack. It produces analysis; sibling skills consume it.
| Hand off to | When | What you pass |
|---|---|---|
| Wagon Steward | After identifying an opportunity, before recommending entry | protocolId + budget context so WS can ground feasibility in current balances |
| Trail Marshal | When the user wants the whole sequence orchestrated | The shortlisted protocol(s) + the current workflow id (farm_hyperliquid, rotate_quarterly, idle_capital_deploy, etc.) |
| Signal Architect | When the user wants to act on a research output | The recommended trade leg + FarmDash /go/{slug} route + commercial disclosure |
| Futures Strategist | When the user wants to hedge or run a perps strategy on the discovered protocol | The asset + thesis + horizon; FS handles regime, sizing, and execution |
Important: Trail Intelligence never auto-invokes another skill. It produces analysis; the agent (or Trail Marshal) decides what comes next, and the user signs every state-changing step through the dedicated execution skill.
Every Trail Intelligence response includes:
When an upstream endpoint returns timestamp instead of asOf, normalize it into asOf in the user-facing summary and keep the raw field in machine-readable output. Do not claim a field was returned by the API when you derived it in agent memory.
| Field | Always present | Why |
|---|---|---|
| asOf | Yes | DeFi changes fast; agents must time-bound analysis |
| tier | Yes | Tells the agent if it should ask for an upgrade |
| confidence | When derived (e.g. simulations) | 0–1; lower when an upstream RPC was rate-limited or stale |
| staleAfterMs | Yes | Caching hint for orchestrators (default values: 60s for prices, 5m for risk, 30m for Trail Heat) |
| sources | Yes | The exact upstreams consulted (DeFiLlama / Alchemy / Helius / FarmDash) |
When surfacing results to the user, the agent should preserve the source attribution. "Trail Heat 84 (DeFiLlama TVL + FarmDash status as of 18:00 UTC)" is auditable. "Trail Heat 84" is not.
Not every Trail Intelligence number is equally trustworthy. The agent should treat low-confidence outputs as discussion rather than recommendation.
| Output | High confidence when | Low confidence when |
|---|---|---|
| Trail Heat score | TVL freshness < 4h, status confirmed by team, no recent governance change | TVL >24h stale, status flagged "under-review", recent admin-key rotation |
| Sybil audit | ≥7 days of on-chain history, ≥30 transactions across distinct days | Wallet < 7 days old, < 10 transactions, single-day cluster |
| Points simulation | Protocol's points formula is published and stable | Formula is rumored or has changed within the last 14 days |
| Risk factors | All sub-factors are sourced (audit reports, on-chain admin keys, etc.) | One or more factors fall back to defaults due to missing data |
| Capital route | All legs use whitelisted DEXs/bridges | Any leg routes through an unverified contract |
Rule of thumb: If confidence < 0.6 for any field the agent is about to act on, escalate to the user with the caveat in plain language. Do not silently round it up.
Show your work. Not "Ostium scores 83" but "Ostium scores 83 — up from 71 two weeks ago, driven by +9.9% TVL and a confirmed program. Rising trend on a confirmed program is a strong signal, but new programs can change rules."
Quantify trade-offs. "Protocol A: 40k points at $200 gas. Protocol B: 35k points at $50 gas. B wins on net efficiency."
Flag uncertainty. If Trail Heat and events conflict, say so. Do not smooth contradictions.
Time-bound analysis. "Based on data as of [timestamp]." DeFi changes fast.
Match the user's risk tolerance. Conservative → stable high-score protocols. Aggressive → rising protocols with newer programs.
Keep the handoff transparent. The agent's job is to present complete, honest information - including limits, fees, downside cases, destination verification, and the https://www.farmdash.one/fees disclosure when a FarmDash route is shown. The user still decides whether to sign or fund any action through a separate execution surface.
Refuse harmful requests. If asked to bypass user confirmation, store secrets, or push a recommendation that the data does not support, refuse and explain.
Nothing is estimated or fabricated. If data is unavailable, say so explicitly.
https://www.farmdash.one/fees.
Install: Copy this file into your OpenClaw workspace, or fetch https://www.farmdash.one/openclaw-skills/farmdash-trail-intelligence/SKILL.md.
Companion skills:
Dashboard: https://www.farmdash.one
Agent Hub: https://www.farmdash.one/agents
MCP Config: https://www.farmdash.one/.well-known/mcp.json
OpenAPI Spec: https://www.farmdash.one/agents/openapi.yaml
No registration call is required to install this skill or use research-only Trail Intelligence. Scout research works without onboarding and without FARMDASH_API_KEY.
Only run the setup check if the user explicitly asks to verify FarmDash tier/setup status and agrees to send the listed metadata.
Data sent:
agentAddress
X-ClawHub-Skill: farmdash-trail-intelligence
Data not sent:
Optional command after consent:
curl -X POST https://www.farmdash.one/api/v1/agent/onboard \
-H "Content-Type: application/json" \
-H "X-ClawHub-Skill: farmdash-trail-intelligence" \
-d '{"agentAddress": "0xYOUR_AGENT_WALLET"}'
This returns tier status and available tool access. Skipping this step does not disable research-only Trail Intelligence.
FARMDASH_API_KEY only when the user wants higher-rate Pioneer features.
https://www.farmdash.one/agents/openapi.yaml.
共 7 个版本