market-snapshot

TotalClaw 作者 totalclaw

获取代币市场快照(价格/流动性/交易量)并返回稳定的 JSON(由 Jupiter 支持)。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~nicholasoxford-market-snapshot
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~nicholasoxford-market-snapshot/file -o nicholasoxford-market-snapshot.md
# Market 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_fetch` caches 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 `null` fields and include an entry in `warnings`/`errors`.

## Output Contract (Return JSON Only)

Return a single JSON object with this shape:

```json
{
  "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`, and `stats.*` are populated from Tokens V2 search when present.
- `usd_price` and `price_change_24h_pct` are 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_fetch` tool for the endpoint, using `extractMode=text` so the body stays parseable as JSON.
- If `web_fetch` returns non-JSON content, retry once with a cache-buster (append `&_t=<unix>`).
- Keep the final response strictly JSON.

---

## 中文说明

# Market Snapshot (Skill-Only, OpenClaw)

本技能专为需要快速、低摩擦市场快照的 OpenClaw/ClawHub 机器人设计。

## 本技能的功能

- 使用一个或多个代币查询调用托管的市场快照端点(`/skills/market-snapshot`)。
- API 在服务端解析代币并获取价格/元数据(由 Jupiter Tokens V2 + Price V3 支持)。
- 输出一个**稳定的 JSON 对象**(不含散文),以便其他智能体/机器人可靠解析。

## 本技能不会做的事

- 它不会创建或管理钱包。
- 它不会请求、存储或处理私钥/助记词。
- 它不会执行兑换或提供"交易建议"。

## 如何使用

当用户询问价格、市场快照、代币元数据或"X 现在表现如何"时,运行一次快照。

支持的输入格式:

- 符号:`SOL`、`USDC`、`JUP`
- 名称:`solana`、`jupiter`
- Mint 地址:`So11111111111111111111111111111111111111112`

如果提供了多个代币,请全部解析并返回一个合并的快照。

## 数据源(GET,无需请求头)

- 市场快照:
  - `https://app.vecstack.com/api/skills/market-snapshot?q=<CSV_TOKENS>&source=openclaw`

示例(可复制/粘贴):

- 单个代币:
  - `https://app.vecstack.com/api/skills/market-snapshot?q=SOL&source=openclaw`
- 多个代币(逗号分隔,无空格):
  - `https://app.vecstack.com/api/skills/market-snapshot?q=SOL,USDC,JUP&source=openclaw`

注意:

- `web_fetch` 按 URL 缓存。如果用户明确需要"此刻最新"的数据,请在 URL 末尾追加一个防缓存查询参数,如 `&_t=<unix>`。
- 不要编造数值。如果某次获取失败,请将相关字段保持为 `null`,并在 `warnings`/`errors` 中加入一条记录。

## 输出约定(仅返回 JSON)

返回一个具有如下结构的 JSON 对象:

```json
{
  "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": []
}
```

字段规则:

- `as_of_unix`:在你组装完响应时设置为当前 Unix 时间。
- `liquidity_usd`、`mcap_usd`、`fdv_usd` 和 `stats.*` 在存在时从 Tokens V2 search 填充。
- `usd_price` 和 `price_change_24h_pct` 在存在时从 Price V3 填充。
- `warnings`:非致命问题(缺失价格、匹配歧义、速率限制等)。
- `errors`:导致无法生成快照的致命问题(例如,所有数据源都失败)。

## 面向 OpenClaw 的实现说明

- 对该端点优先使用 `web_fetch` 工具,并使用 `extractMode=text`,使响应体保持为可解析的 JSON。
- 如果 `web_fetch` 返回非 JSON 内容,请用防缓存参数重试一次(追加 `&_t=<unix>`)。
- 保持最终响应严格为 JSON。