SkillJavaScriptv1.0.0
market-snapshot
Fetch a token market snapshot (price/liquidity/volume) and return stable JSON (backed by Jupiter).
0 downloads
nicholasoxford
Updated Feb 15, 2026Market Snapshot (Skill-Only, OpenClaw)
This skill is designed for OpenClaw/ClawHub bots that need a fast, low-friction market snapshot.
What This Skill Does
- Calls a hosted market snapshot endpoint (
/skills/market-snapshot) with one or more token queries. - The API resolves tokens + fetches pricing/metadata server-side (backed by Jupiter Tokens V2 + Price V3).
- Emits a stable JSON object (no prose) so other agents/bots can parse it reliably.
What This Skill Will Not Do
- It will not create or manage wallets.
- It will not request, store, or handle private keys / seed phrases.
- It will not execute swaps or provide "trade recommendations".
How To Use
When the user asks for prices, market snapshots, token metadata, or "what is X doing", run a snapshot.
Input formats supported:
- Symbols:
SOL,USDC,JUP - Names:
solana,jupiter - Mints:
So11111111111111111111111111111111111111112
If multiple tokens are provided, resolve all of them and return a combined snapshot.
Data Sources (GET, No Headers Needed)
- Market snapshot:
https://app.vecstack.com/api/skills/market-snapshot?q=<CSV_TOKENS>&source=openclaw
Examples (copy/paste):
- Single token:
https://app.vecstack.com/api/skills/market-snapshot?q=SOL&source=openclaw
- Multiple tokens (comma-separated, no spaces):
https://app.vecstack.com/api/skills/market-snapshot?q=SOL,USDC,JUP&source=openclaw
Notes:
web_fetchcaches by URL. If the user explicitly needs "fresh right now" data, append a cache-buster query param like&_t=<unix>to the URL.- Do not invent values. If a fetch fails, keep
nullfields and include an entry inwarnings/errors.
Output Contract (Return JSON Only)
Return a single JSON object with this shape:
{
"as_of_unix": 0,
"provider": "jupiter",
"inputs": ["SOL", "USDC"],
"tokens": [
{
"query": "SOL",
"mint": "So11111111111111111111111111111111111111112",
"symbol": "SOL",
"name": "Wrapped SOL",
"decimals": 9,
"verified": true,
"tags": [],
"liquidity_usd": null,
"mcap_usd": null,
"fdv_usd": null,
"usd_price": null,
"price_change_24h_pct": null,
"stats": {
"5m": {
"price_change_pct": null,
"volume_usd": null,
"buy_volume_usd": null,
"sell_volume_usd": null
},
"1h": {
"price_change_pct": null,
"volume_usd": null,
"buy_volume_usd": null,
"sell_volume_usd": null
},
"24h": {
"price_change_pct": null,
"volume_usd": null,
"buy_volume_usd": null,
"sell_volume_usd": null
}
},
"sources": {
"token_search_url": null,
"price_url": null
}
}
],
"warnings": [],
"errors": []
}
Field rules:
as_of_unix: set to current Unix time when you finish assembling the response.liquidity_usd,mcap_usd,fdv_usd, andstats.*are populated from Tokens V2 search when present.usd_priceandprice_change_24h_pctare populated from Price V3 when present.warnings: non-fatal issues (missing price, ambiguous match, rate limits, etc).errors: fatal issues that prevented a snapshot (e.g., all sources failed).
Implementation Notes For OpenClaw
- Prefer the
web_fetchtool for the endpoint, usingextractMode=textso the body stays parseable as JSON. - If
web_fetchreturns non-JSON content, retry once with a cache-buster (append&_t=<unix>). - Keep the final response strictly JSON.