hive-token-diligence — Token Diligence
Build a provenance-aware diligence picture of one token: identity, market
context, liquidity, holders, enrichment, and risk. Never answer from model
memory when the conclusion depends on live data.
Task toolset and identifiers
Toolset: token_diligence. Read hive://toolsets/token_diligence before
execution; it is authoritative for the current output schema, material-call
budget, phases, fallback condition, and stop conditions.
- Required: chain/network plus exact token contract or provider-specific token id.
- Optional: quote token, pool address, holder wallet, time window.
If the user gives only a ticker or name, resolve the exact contract before
execution. Tickers collide across chains, and scam tokens deliberately reuse
well-known names — an answer keyed to the wrong contract is worse than no
answer.
Before choosing endpoints, select exactly one matching entry from the exact
workflow's routes[]. Follow its ordered steps, use a fallback only under that
step's published condition, stop at four material calls, and preserve the
selected route_id in the typed result. The broad coverageCatalog is discovery
coverage, not an execution plan.
Procedure
- Resolve chain and contract from the prompt, or ask for them.
- Call
search_tools for token metadata, market, holder, DEX liquidity, and
risk capabilities matching the question.
- Call
get_api_endpoint_schema for each endpoint before calling it.
- Call
invoke_api_endpoint with schema-valid, bounded arguments.
- Start with metadata and market/liquidity checks. Add holder distribution
and enrichment only when the user needs depth, and security/risk checks
when the user asks whether to trade, approve, or trust the token.
- For supply-dilution or unlock questions, use CoinGecko supply breakdown and
circulating/total supply charts when the configured plan permits them.
Report a plan gate instead of substituting market-cap fields.
Bounded calls
- Limit holder lists and pool searches; do not page through everything for a
quick read.
- Keep token-level data separate from pool-level data.
- Preserve provider-specific risk fields when they drive the conclusion.
Worked example
User: "Thinking about buying PEPE — contract
0x6982508145454Ce325dDbE47a25d4ec3d2311933 on Ethereum. Is it liquid and is
anything sketchy in the holders?"
search_tools → {"query": "token metadata liquidity holders risk ethereum", "limit": 5}
get_api_endpoint_schema for the metadata, liquidity, and holder endpoints
the search returned.
invoke_api_endpoint per schema — argument names come from the schema you
just fetched (typically a contract address plus a network/chain field),
never from memory.
- Read each MCP response's
_hive object for provider, fetched_at,
observed_at, cache_age_ms, runtime_status, and receipt_id, then answer with the report template
below. REST/client-adapter envelopes expose the equivalent fields under
meta.
Report template
## Summary
[Token identity and overall diligence posture in one or two sentences.]
## Calls made
- Toolset: token_diligence
- Endpoint(s): [exact endpoint names]
- Identifiers: [chain, contract, pools, wallets]
## Evidence
- Metadata: [name, symbol, supply, verification]
- Market/liquidity: [price, volume, pool depth + venue]
- Holders: [concentration, notable wallets]
- Risk/enrichment: [flags, provider-specific fields]
- Provenance: [provider, fetched_at, observed_at/cache_age_ms, runtime status per call]
## Caveats
[Missing provider keys, plan gates, stale liquidity, unresolved ambiguity.]
## Next action
[Security drilldown, liquidity venue check, or holder analysis — only if needed.]
Gotchas
- A verified name/logo is not proof of safety.
- High FDV or high volume without pool depth can still be risky.
- Missing enrichment is not the same as a clean risk result.
Evidence receipt (required)
End every Hive-backed answer with a compact receipt built from the _hive
object on each material tool response:
provider, tool, fetched_at, observed_at, cache_age_ms, and runtime_status
receipt_id, receipt_version, server/build version, and SHA-256 input/result
digests when present (self-checks, not signatures)
source, cache_status, truncated, and any warnings
- canonical chain/entity identifiers plus block, slot, transaction, or query ids
present in provider data
- material provider disagreements and how they were handled
- checks that were unavailable, gated, stale, truncated, or intentionally not run
- a
claims[] citation from each material statement to exact receipt IDs
- one
coverage[] entry for every canonical evidence phase, with each gap explained
Never turn missing evidence into a clean result, silently merge conflicting
provider values, or omit a degraded/fallback call from the receipt.
observed_at is Hive's first-observation/original cache-population time, and
cache_age_ms: 0 only means newly retrieved by Hive. Use provider time, block,
slot, transaction, or candle close for source recency; if absent, mark it
unknown. Run validate_task_result before presenting the typed workflow result;
it checks structure but cannot authenticate an invented receipt.
Runtime status handling
Use Hive's runtime statuses directly: ok, invalid_input, missing_key, plan_required,
rate_limited, degraded, failing. If one provider is gated (for example
enrichment returns plan_required), keep the rest of the diligence report and
mark that section unavailable rather than claiming diligence failed.
Hand-offs
- User is about to sign, approve, or swap →
hive-security-risk.
- Pool-level depth, trades, or OHLCV →
hive-dex-pool-analysis.
- Solana mint or DAS asset →
hive-solana-analysis.
1---2name: hive-token-diligence3description: Use this skill whenever the user asks whether a specific token is real, legit, liquid, well-held, enriched, investable, or worth researching — "is this token a scam", "run diligence on 0x…", "who holds this", "does it have real liquidity" — even if they never say "diligence". Investigates metadata, market context, holders, DEX liquidity, enrichment, and risk signals for an exact chain and contract. For pre-transaction risk checks (approvals, signing, swap simulation) use hive-security-risk; for pool-level depth and trade flow use hive-dex-pool-analysis; for Solana mints use hive-solana-analysis.4license: MIT5---67# hive-token-diligence — Token Diligence89Build a provenance-aware diligence picture of one token: identity, market10context, liquidity, holders, enrichment, and risk. Never answer from model11memory when the conclusion depends on live data.1213## Task toolset and identifiers1415Toolset: `token_diligence`. Read `hive://toolsets/token_diligence` before16execution; it is authoritative for the current output schema, material-call17budget, phases, fallback condition, and stop conditions.1819- Required: chain/network plus exact token contract or provider-specific token id.20- Optional: quote token, pool address, holder wallet, time window.2122If the user gives only a ticker or name, resolve the exact contract before23execution. Tickers collide across chains, and scam tokens deliberately reuse24well-known names — an answer keyed to the wrong contract is worse than no25answer.2627Before choosing endpoints, select exactly one matching entry from the exact28workflow's routes[]. Follow its ordered steps, use a fallback only under that29step's published condition, stop at four material calls, and preserve the30selected route_id in the typed result. The broad coverageCatalog is discovery31coverage, not an execution plan.3233## Procedure34351. Resolve chain and contract from the prompt, or ask for them.362. Call `search_tools` for token metadata, market, holder, DEX liquidity, and37 risk capabilities matching the question.383. Call `get_api_endpoint_schema` for each endpoint before calling it.394. Call `invoke_api_endpoint` with schema-valid, bounded arguments.405. Start with metadata and market/liquidity checks. Add holder distribution41 and enrichment only when the user needs depth, and security/risk checks42 when the user asks whether to trade, approve, or trust the token.436. For supply-dilution or unlock questions, use CoinGecko supply breakdown and44 circulating/total supply charts when the configured plan permits them.45 Report a plan gate instead of substituting market-cap fields.4647## Bounded calls4849- Limit holder lists and pool searches; do not page through everything for a50 quick read.51- Keep token-level data separate from pool-level data.52- Preserve provider-specific risk fields when they drive the conclusion.5354## Worked example5556User: "Thinking about buying PEPE — contract570x6982508145454Ce325dDbE47a25d4ec3d2311933 on Ethereum. Is it liquid and is58anything sketchy in the holders?"59601. `search_tools` → `{"query": "token metadata liquidity holders risk ethereum", "limit": 5}`612. `get_api_endpoint_schema` for the metadata, liquidity, and holder endpoints62 the search returned.633. `invoke_api_endpoint` per schema — argument names come from the schema you64 just fetched (typically a contract `address` plus a `network`/chain field),65 never from memory.664. Read each MCP response's `_hive` object for `provider`, `fetched_at`,67 `observed_at`, `cache_age_ms`, `runtime_status`, and `receipt_id`, then answer with the report template68 below. REST/client-adapter envelopes expose the equivalent fields under69 `meta`.7071## Report template7273```markdown74## Summary75[Token identity and overall diligence posture in one or two sentences.]7677## Calls made78- Toolset: token_diligence79- Endpoint(s): [exact endpoint names]80- Identifiers: [chain, contract, pools, wallets]8182## Evidence83- Metadata: [name, symbol, supply, verification]84- Market/liquidity: [price, volume, pool depth + venue]85- Holders: [concentration, notable wallets]86- Risk/enrichment: [flags, provider-specific fields]87- Provenance: [provider, fetched_at, observed_at/cache_age_ms, runtime status per call]8889## Caveats90[Missing provider keys, plan gates, stale liquidity, unresolved ambiguity.]9192## Next action93[Security drilldown, liquidity venue check, or holder analysis — only if needed.]94```9596## Gotchas9798- A verified name/logo is not proof of safety.99- High FDV or high volume without pool depth can still be risky.100- Missing enrichment is not the same as a clean risk result.101102## Evidence receipt (required)103104End every Hive-backed answer with a compact receipt built from the `_hive`105object on each material tool response:106107- `provider`, `tool`, `fetched_at`, `observed_at`, `cache_age_ms`, and `runtime_status`108- `receipt_id`, `receipt_version`, server/build version, and SHA-256 input/result109 digests when present (self-checks, not signatures)110- `source`, `cache_status`, `truncated`, and any warnings111- canonical chain/entity identifiers plus block, slot, transaction, or query ids112 present in provider data113- material provider disagreements and how they were handled114- checks that were unavailable, gated, stale, truncated, or intentionally not run115- a `claims[]` citation from each material statement to exact receipt IDs116- one `coverage[]` entry for every canonical evidence phase, with each gap explained117118Never turn missing evidence into a clean result, silently merge conflicting119provider values, or omit a degraded/fallback call from the receipt.120`observed_at` is Hive's first-observation/original cache-population time, and121`cache_age_ms: 0` only means newly retrieved by Hive. Use provider time, block,122slot, transaction, or candle close for source recency; if absent, mark it123unknown. Run `validate_task_result` before presenting the typed workflow result;124it checks structure but cannot authenticate an invented receipt.125126## Runtime status handling127128Use Hive's runtime statuses directly: `ok`, `invalid_input`, `missing_key`, `plan_required`,129`rate_limited`, `degraded`, `failing`. If one provider is gated (for example130enrichment returns `plan_required`), keep the rest of the diligence report and131mark that section unavailable rather than claiming diligence failed.132133## Hand-offs134135- User is about to sign, approve, or swap → `hive-security-risk`.136- Pool-level depth, trades, or OHLCV → `hive-dex-pool-analysis`.137- Solana mint or DAS asset → `hive-solana-analysis`.