Read-only DeFi farming research skill for OpenClaw agents. Ranks the live Trail Heat protocol dataset, analyzes historical trends, simulates farming outcomes...
---
name: FarmDash Trail Intelligence
description: "Read-only DeFi farming research skill for OpenClaw agents. Ranks the live Trail Heat protocol dataset, analyzes historical trends, simulates farming outcomes, audits wallet sybil risk, optimizes portfolio allocation, streams real-time protocol events, and surfaces wallet balances + token prices. This is a research surface only β it does NOT execute trades, hold custody, or sign anything. Use when an agent needs to evaluate DeFi protocols, compare farming opportunities, check airdrop eligibility signals, assess wallet risk, forecast farming returns, or monitor the DeFi landscape."
tags: ["defi", "ai-agent", "autonomous-agent", "openclaw", "clawhub", "mcp", "crypto", "web3", "onchain", "research", "intelligence", "analytics", "airdrop", "points-farming", "yield-farming", "trail-heat", "protocol-ranking", "sybil", "portfolio", "read-only", "zero-custody", "farmdash"]
author: FarmDash Pioneers (@Parmasanandgarlic)
homepage: https://www.farmdash.one
version: "2.2.1"
icon: π
env:
FARMDASH_API_KEY:
description: "Optional Bearer token for Pioneer tier (higher rate limits). Scout tier (5 req / 24h) requires no key or can use the public fd_scout_free token. Never share private keys, seed phrases, or mnemonics with this skill."
required: false
metadata: {"openclaw":{"homepage":"https://www.farmdash.one/agents","skillKey":"farmdash-trail-intelligence","primaryEnv":"FARMDASH_API_KEY","apiKeyRequired":false,"freeScoutKeyless":true,"freeScoutKey":"fd_scout_free","execution":"read-only"}}
---
# FarmDash Trail Intelligence - Agent Research Manual
## What This Skill Is (And What It Is Not)
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:**
- execute swaps, bridges, deposits, withdrawals, or any on-chain transaction
- hold, custody, request, or transmit private keys, seed phrases, or mnemonics
- sign messages or payloads on the user's behalf
- auto-act on its own conclusions
- alter wallet permissions or approve token allowances
**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`
---
## Credentials & Permissions (Explicit Contract)
| 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.
---
## Data Sent to FarmDash MCP (Disclosure)
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`.
---
## Commercial Disclosure (Read Before Recommending)
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:**
1. **Present FarmDash-owned `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`.
2. **Never present a lower-quality protocol as the recommendation just because a FarmDash route exists.** The recommendation must be driven by Trail Heat, simulation, and risk data β not affiliation.
3. **Never insert a FarmDash route into a sybil-risk warning, security alert, or anti-phishing message.** Safety output is referral-free.
4. **Use FarmDash routes only when the user has actually asked for a way to proceed**, not preemptively after every paragraph of analysis.
5. **Skip FarmDash routes entirely** when the analysis verdict is "avoid" or "wait and monitor".
---
## Risk Warnings the Agent Must Surface
For any DeFi recommendation the agent should restate, in plain language, that:
- DeFi positions can lose value rapidly; airdrop rewards are speculative and not guaranteed.
- Smart contracts can be exploited; even high-Trail-Heat protocols carry technical risk.
- Bridging and cross-chain swaps are **irreversible** if the wrong address or chain is selected.
- Slippage, gas, MEV, and routing fees materially affect realized returns.
- Liquid Staking Tokens (LSTs) can de-peg; leveraged loops amplify liquidation risk.
- Past Trail Heat performance does not guarantee future scores; programs end and rules change.
- The user is solely responsible for the final decision. This skill is research, not financial advice.
---
## Available Tools (Research + Risk + Events)
### Scout Tier (Free β 5 requests per 24 hours)
#### `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 |
---
### Pioneer Tier (500 req/day, optional Bearer token)
#### `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 looks clean. You can farm with standard hygiene (timing jitter, behavioral variety)." | Do not pair this with a referral link by default. Recommendations come from a separate research step |
| **Medium** | "Your activity has clusters that may attract attention. Suggested behavioral adjustments: β¦" | 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 elevated risk of being filtered. Pause automated activity here." | 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:**
- Run **3+** candidate protocols when the user asks "where should I farm". Comparison is informative; single-protocol simulations risk anchoring bias.
- Always present **gas cost, time horizon, and downside scenario** alongside the projected score.
- Label projections clearly as estimates, not commitments.
```
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:
- "Consider adding exposure to Ostium" β provide the FarmDash `/go/ostium` route with commercial disclosure and the `/fees` pointer
- "Consider reducing Hyperliquid from 60% to 30%" β flag tax implications, IL, and gas costs. Execution is a user decision via Signal Architect, not this skill
- "Consider bridging to Arbitrum" β remind the user that bridges are irreversible and to verify destination chain + token addresses
#### `get_historical_trailheat`
Trail Heat snapshots, 1β365 days back.
**How to discuss trends without forcing action:**
- Rising trend β "Momentum has been building." Let the user decide whether that justifies entry given fees and risk.
- Falling trend β "Momentum has cooled." Present holding, partial exit, and full exit as options the user weighs.
- Flat trend β "Score has been stable." Useful if the user values consistency over upside.
The agent does not assert "you should enter" or "you should exit" β it provides context.
---
### Advanced Risk Intelligence (Pioneer Tier)
#### `audit_sybil_risk` (additional usage notes)
Use before recommending multi-wallet farming or high-frequency automation.
- **Low:** Standard hygiene still applies β timing jitter (15β120s), behavioral variety, no identical actions across wallets.
- **Medium / High:** Recommend lowering automation cadence, increasing behavioral entropy, or standing down on sensitive protocols entirely.
#### `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.
- Recommend **Signal Architect** (separate skill) if the user wants to act β never from inside this skill.
#### `get_token_prices`
Use this to convert balances into USD terms so projections and comparisons are well-sized.
---
### Deep Research Tools (v2.2, Pioneer tier)
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.
---
## Autonomous Research Intelligence Upgrade (v2.2)
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:
```json
{
"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:
- If Trail Heat is high but sybil risk is high, lead with the sybil warning and choose `monitor` or `avoid`.
- If the best route has negative expected edge after gas, bridge fees, and slippage, choose `monitor` even when the protocol is attractive.
- If a user asks for "the best farm", rank at least three candidates unless the dataset returns fewer valid options.
- If data is masked by tier, tell the user the exact missing fields and provide the best lower-tier answer without pretending to know hidden values.
- If the next step is state-changing, set `handoff` to `signal_architect` or `futures_strategist`; never describe this skill as able to execute.
---
## Research Workflows (Action Is Always Opt-In)
Every workflow ends with **information** the user can act on at their own pace. The agent surfaces options, not directives.
### Workflow 1: "Where Should I Farm?"
```
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?"
```
### Workflow 2: "Is This Protocol Worth It?"
```
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.
```
### Workflow 3: "Daily Briefing"
```
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.
```
### Workflow 4: "Wallet Health Check"
```
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 adjustments: [behavioral list].
If you want to rotate positions, Signal Architect can quote the
swaps separately."
```
### Workflow 5: "Compare Two Protocols"
```
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."
```
### Workflow 6: "Risk-First Protocol Review" (v2.2)
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".
```
### Workflow 7: "Capital Route Discovery" (v2.2)
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."
```
---
## Cross-Skill Composition (Hand-off Contract, v2.2)
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.
---
## Output Format Standards (v2.2)
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.
---
## Calibration & Confidence (v2.2)
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.
---
## Reasoning Guidelines
**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.
---
## Data Sources
- **DeFiLlama:** TVL, protocol metrics
- **Alchemy:** Balances, prices
- **Helius:** Solana data
- **FarmDash:** Trail Heat scoring, events, sybil analysis
- **Onchain/price sources:** Wallet balances + token prices via FarmDash agent endpoints
Nothing is estimated or fabricated. If data is unavailable, say so explicitly.
---
## Disclaimers
- This skill is **research-only**. It does NOT execute trades, sign messages, hold custody, or move funds.
- This skill does NOT access or manage private keys, seed phrases, or mnemonics.
- This skill does NOT guarantee returns, airdrop eligibility, or sybil-filter survival.
- Analysis is data-driven insight, not financial advice.
- FarmDash may receive referral, affiliate, or routing compensation when users follow supported FarmDash routes - always disclosed with `https://www.farmdash.one/fees`.
- The user retains full responsibility for every on-chain decision.
---
**Install:** Copy this file into your OpenClaw workspace, or fetch `https://www.farmdash.one/openclaw-skills/farmdash-trail-intelligence/SKILL.md`.
**Companion skills:**
- **FarmDash Wagon Steward** β read-only portfolio aggregation + capital efficiency
- **FarmDash Trail Marshal** β orchestration cookbook for multi-skill workflows
- **FarmDash Signal Architect** β zero-custody EIP-191 swap routing
- **FarmDash Futures Strategist** β zero-custody EIP-712 perps execution
**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
---
## Optional Setup Check
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:
- public `agentAddress`
- `X-ClawHub-Skill: farmdash-trail-intelligence`
Data not sent:
- private keys, seed phrases, mnemonics, wallet exports, OAuth tokens, raw wallet secrets, signed messages, or transactions
Optional command after consent:
```bash
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.
### Next steps:
1. Use Scout research tools without setup when no key is configured.
2. Add `FARMDASH_API_KEY` only when the user wants higher-rate Pioneer features.
3. Browse the OpenAPI spec at `https://www.farmdash.one/agents/openapi.yaml`.
don't have the plugin yet? install it then click "run inline in claude" again.