hive-nft-research — NFT Research
Research NFT collections and assets — ownership, metadata, floors, sales,
rarity, spam — with collection-level and token-level facts kept separate.
Task toolset and identifiers
Toolset: nft_research. Read hive://toolsets/nft_research before execution;
it is authoritative for the current output schema, material-call budget,
phases, fallback condition, and stop conditions.
- Required: chain/network plus collection contract, token id, asset id, or
wallet address.
- Optional: marketplace, time window, trait filter, owner.
Ask for chain and contract/asset identifiers when the user gives only a
collection name — collection names are not unique and copycat collections are
common.
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 collection contract, token id, wallet, or asset id.
- Call
search_tools for metadata, owner, floor, sales, rarity, and spam
capabilities.
- Call
get_api_endpoint_schema for each endpoint before calling it.
- Start with metadata/identity; add floor/sales or owner/rarity only when
relevant.
- Preserve raw metadata when the user asks about traits or provenance.
Bounded calls
- Limit owner and sales lists.
- Keep collection-level and token-level evidence separate.
- Do not treat one marketplace floor as the entire market without a caveat.
Worked example
User: "What's the floor and recent sales for this collection? Contract is
0x… on Ethereum."
search_tools → {"query": "nft collection metadata floor price sales ethereum", "limit": 5}
get_api_endpoint_schema for the metadata, floor, and sales endpoints
returned, then invoke_api_endpoint with schema-valid arguments and a
bounded sales window.
- Report floor (with marketplace scope), recent sales, and freshness using
the template below.
Report template
## Summary
[Collection/token ownership or market read in one or two sentences.]
## Calls made
- Toolset: nft_research
- Endpoint(s): [exact endpoint names]
- Identifiers: [chain, contract, token/asset ids]
## Evidence
- Identity/metadata: [name, supply, verification]
- Market: [floor + marketplace, sales in window]
- Ownership/rarity/spam: [if requested]
- Provenance: [provider, fetched_at, observed_at/cache_age_ms, runtime status per call]
## Caveats
[Marketplace coverage, stale floor, missing metadata, degraded data.]
## Next action
[Trait drilldown, ownership verification, or market comparison — only if needed.]
Gotchas
- NFT metadata can be mutable or stale.
- Spam checks can lag new collections — "not flagged" is not "authentic".
- Floor price is marketplace-scoped unless the provider aggregates.
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
If market data is degraded, still return the metadata/ownership that
succeeded and label floor or sales metrics as unavailable.
Hand-offs
- Solana mints, DAS assets, compressed NFTs →
hive-solana-analysis.
- Wallet-wide NFT exposure →
hive-wallet-investigation.
- Mint/contract safety before buying →
hive-security-risk.
1---2name: hive-nft-research3description: Use this skill when the user asks about NFT collections or assets on EVM chains — ownership, metadata, traits, floor prices, sales, rarity, spam/authenticity checks — like "what's the floor on this collection", "who owns this NFT", "is this collection spam". Use it whenever the user needs current NFT evidence rather than a general explanation of NFTs. For Solana-native assets (mints, DAS, compressed NFTs) use hive-solana-analysis.4license: MIT5---67# hive-nft-research — NFT Research89Research NFT collections and assets — ownership, metadata, floors, sales,10rarity, spam — with collection-level and token-level facts kept separate.1112## Task toolset and identifiers1314Toolset: `nft_research`. Read `hive://toolsets/nft_research` before execution;15it is authoritative for the current output schema, material-call budget,16phases, fallback condition, and stop conditions.1718- Required: chain/network plus collection contract, token id, asset id, or19 wallet address.20- Optional: marketplace, time window, trait filter, owner.2122Ask for chain and contract/asset identifiers when the user gives only a23collection name — collection names are not unique and copycat collections are24common.2526Before choosing endpoints, select exactly one matching entry from the exact27workflow's routes[]. Follow its ordered steps, use a fallback only under that28step's published condition, stop at four material calls, and preserve the29selected route_id in the typed result. The broad coverageCatalog is discovery30coverage, not an execution plan.3132## Procedure33341. Resolve collection contract, token id, wallet, or asset id.352. Call `search_tools` for metadata, owner, floor, sales, rarity, and spam36 capabilities.373. Call `get_api_endpoint_schema` for each endpoint before calling it.384. Start with metadata/identity; add floor/sales or owner/rarity only when39 relevant.405. Preserve raw metadata when the user asks about traits or provenance.4142## Bounded calls4344- Limit owner and sales lists.45- Keep collection-level and token-level evidence separate.46- Do not treat one marketplace floor as the entire market without a caveat.4748## Worked example4950User: "What's the floor and recent sales for this collection? Contract is510x… on Ethereum."52531. `search_tools` → `{"query": "nft collection metadata floor price sales ethereum", "limit": 5}`542. `get_api_endpoint_schema` for the metadata, floor, and sales endpoints55 returned, then `invoke_api_endpoint` with schema-valid arguments and a56 bounded sales window.573. Report floor (with marketplace scope), recent sales, and freshness using58 the template below.5960## Report template6162```markdown63## Summary64[Collection/token ownership or market read in one or two sentences.]6566## Calls made67- Toolset: nft_research68- Endpoint(s): [exact endpoint names]69- Identifiers: [chain, contract, token/asset ids]7071## Evidence72- Identity/metadata: [name, supply, verification]73- Market: [floor + marketplace, sales in window]74- Ownership/rarity/spam: [if requested]75- Provenance: [provider, fetched_at, observed_at/cache_age_ms, runtime status per call]7677## Caveats78[Marketplace coverage, stale floor, missing metadata, degraded data.]7980## Next action81[Trait drilldown, ownership verification, or market comparison — only if needed.]82```8384## Gotchas8586- NFT metadata can be mutable or stale.87- Spam checks can lag new collections — "not flagged" is not "authentic".88- Floor price is marketplace-scoped unless the provider aggregates.8990## Evidence receipt (required)9192End every Hive-backed answer with a compact receipt built from the `_hive`93object on each material tool response:9495- `provider`, `tool`, `fetched_at`, `observed_at`, `cache_age_ms`, and `runtime_status`96- `receipt_id`, `receipt_version`, server/build version, and SHA-256 input/result97 digests when present (self-checks, not signatures)98- `source`, `cache_status`, `truncated`, and any warnings99- canonical chain/entity identifiers plus block, slot, transaction, or query ids100 present in provider data101- material provider disagreements and how they were handled102- checks that were unavailable, gated, stale, truncated, or intentionally not run103- a `claims[]` citation from each material statement to exact receipt IDs104- one `coverage[]` entry for every canonical evidence phase, with each gap explained105106Never turn missing evidence into a clean result, silently merge conflicting107provider values, or omit a degraded/fallback call from the receipt.108`observed_at` is Hive's first-observation/original cache-population time, and109`cache_age_ms: 0` only means newly retrieved by Hive. Use provider time, block,110slot, transaction, or candle close for source recency; if absent, mark it111unknown. Run `validate_task_result` before presenting the typed workflow result;112it checks structure but cannot authenticate an invented receipt.113114## Runtime status handling115116If market data is `degraded`, still return the metadata/ownership that117succeeded and label floor or sales metrics as unavailable.118119## Hand-offs120121- Solana mints, DAS assets, compressed NFTs → `hive-solana-analysis`.122- Wallet-wide NFT exposure → `hive-wallet-investigation`.123- Mint/contract safety before buying → `hive-security-risk`.