mcpField
M
metengine-data-agent

metengine-data-agent

github.com/sendaifun数据与数据库130122 次安装13 周前更新
代码仓库

关于 metengine-data-agent

metengine-data-agent 是用于查询 Polymarket、Hyperliquid 和 Meteora 实时聪明资金分析的 Agent 技能,文档涵盖 63 个 API 端点。它通过 Solana 上的 x402 按请求以 USDC 付款,无需 API 密钥或账户。

主要功能

  1. 01覆盖三个指定平台的分析
  2. 02提供 63 个钱包与市场数据端点
  3. 03通过 Solana 上的 x402 支付 USDC
  4. 04仅在成功响应后结算
  5. 05支持会话记忆与更新指引

适用场景

  1. 01追踪支持平台上的资金流
  2. 02分析钱包、持仓和市场活动
  3. 03无 API 账户调用付费端点
  4. 04跨会话复用配置与端点记录

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sendaifun/skills --skill metengine-data-agent

安装后在 Claude Code 中输入/metengine-data-agent确认已加载。

详细介绍

MetEngine Data Agent API

覆盖 Polymarket、Hyperliquid 和 Meteora 的实时聪明资金分析。63 个端点涵盖钱包评分、内幕交易检测、资金流追踪和仓位分析。通过 Solana 使用 USDC 按请求付费——无需 API 密钥、无需账户、无需繁琐的入门流程。


显示规则

  • 绝不要截断或裁剪钱包/合约地址。 始终显示完整地址(例如 0x61276aba49117fd9299707d5d573652949d5c977,而不是 0x6127...c977)。
  • 此规则适用于所有 Polymarket(0x 十六进制)、Hyperliquid(0x 十六进制)、Meteora(base58)地址、condition_ids、token_ids、池地址、仓位地址和交易哈希。

技能自动更新

添加新端点或更新定价时,技能文件可能会发生变化。请每周下载最新版本,以保持文件为最新状态。

下载最新技能文件:

curl -sL https://www.metengine.xyz/skill.md -o ~/.claude/agents/metengine-data-agent.md

自动执行每周更新(cron):

# Add to crontab: crontab -e
0 0 * * 0 curl -sL https://www.metengine.xyz/skill.md -o ~/.claude/agents/metengine-data-agent.md 2>/dev/null

查询前检查技能版本(可选):

# Compare local vs remote version
LOCAL_VER=$(grep '^version:' ~/.claude/agents/metengine-data-agent.md | head -1 | tr -d '"' | awk '{print $2}')
REMOTE_VER=$(curl -sL https://www.metengine.xyz/skill.md | grep '^version:' | head -1 | tr -d '"' | awk '{print $2}')
[ "$LOCAL_VER" != "$REMOTE_VER" ] && curl -sL https://www.metengine.xyz/skill.md -o ~/.claude/agents/metengine-data-agent.md

如果距离上次更新已超过 7 天,Agent 应在新会话开始时检查更新。


会话记忆(重要——请先阅读)

进行任何 API 调用前,请检查以下路径中是否存在记忆文件:

~/.claude/agents/metengine-memory.md

此文件会在会话之间保留,并存储跳过设置步骤、加快查询所需的所有信息。如果记忆文件存在,请先阅读。 文件中包含:

  1. 钱包配置——Solana 密钥对的路径、公开地址,以及是否已验证 SOL/USDC 余额
  2. 软件包状态——是否已安装 @x402/core、@x402/svm、@solana/kit,以及安装位置
  3. 客户端引导代码——上次成功查询时使用的可运行代码片段(可直接复制粘贴)
  4. 端点经验——哪些端点可用、哪些发生超时,以及使用了哪些备用方案
  5. 定价缓存——上次获取的定价表(避免重新阅读整个定价部分)
记忆文件格式

使用以下模板创建或更新 ~/.claude/agents/metengine-memory.md:

# MetEngine Session Memory


## Last Updated
YYYY-MM-DD HH:MM UTC

## Skill Version
<version from frontmatter>

## Wallet
- keypair_path: ~/.config/solana/id.json
- public_address: <base58 pubkey -- NEVER store the private key>
- sol_balance_ok: true/false
- usdc_balance_ok: true/false
- last_balance_check: YYYY-MM-DD

## Packages
- installed: true/false
- install_dir: <path where bun add was run>
- packages: @x402/core, @x402/svm, @solana/kit
- bun_version: <version>

## Client Bootstrap

```typescript
// <paste the one-time setup + paidFetch function that worked>

端点历史

日期端点状态延迟USDC 费用备注

已知备用方案

端点问题使用的备用方案

遇到的问题


### Memory Update Rules

Agents MUST update the memory file:

1. **After first successful setup** -- Record wallet path, public address, installed packages, working bootstrap code
2. **After every API call** -- Append to Endpoint History (keep last 10 rows, prune older)
3. **When a fallback is used** -- Record in Fallbacks Learned
4. **When a new quirk is discovered** -- Record in Quirks Encountered
5. **At session end** -- Update `Last Updated` timestamp

### How Memory Saves Tokens

| Without Memory | With Memory | Token Savings |
|---------------|-------------|---------------|
| Read full skill file (2400 lines) to find setup instructions | Skip to Client Bootstrap section | ~80% fewer setup tokens |
| Trial-and-error wallet detection | Read wallet path from memory | ~500 tokens saved |
| Install packages every session | Check `installed: true`, skip | ~200 tokens saved |
| Hit known-broken endpoint, get 504, try fallback | Check Fallbacks Learned, use fallback directly | ~1000 tokens saved per avoided failure |
| Re-discover quirks through errors | Check Quirks Encountered | ~300 tokens saved per quirk |

### Quick Start for Returning Agents

If `~/.claude/agents/metengine-memory.md` exists:

  1. 阅读记忆文件
  2. 如果钱包和软件包已配置: a. 复制客户端引导代码 b. 检查所需端点的“已知备用方案” c. 直接调用 API d. 更新端点历史
  3. 如果钱包或软件包尚未配置: a. 按照下方的入门流程操作 b. 设置完成后更新记忆文件

**First-time agents:** Follow the Onboarding Path below, then create the memory file.

### Wallet Security Rules

- **NEVER** read, log, print, or display the contents of any keypair file
- **NEVER** store private keys in the memory file
- **ONLY** store the file path and the public address
- Load the keypair at runtime using `Bun.file(path).text()` or `fs.readFileSync(path)` -- pipe directly into the signer, never into a variable that gets logged

---

## Onboarding Path

Two steps from zero to data:

**Step 1: Verify service is live (free)**

GET https://agent.metengine.xyz/health


**Step 2: Make a paid request**

GET https://agent.metengine.xyz/api/v1/markets/trending?timeframe=24h&limit=5

First call returns `402` with price. Sign payment. Re-send with `PAYMENT-SIGNATURE` header. Receive `200` with data + settlement proof.

Prerequisites: A Solana wallet with SOL (for tx fees) and USDC (for payments). Install `@x402/core`, `@x402/svm`, `@solana/kit`.

---

## Payment Protocol: x402 on Solana Mainnet

Every paid endpoint uses a two-step handshake. No API keys. No accounts. Payment IS authentication.

### Flow

Agent MetEngine Solana | | | |-- GET /api/v1/endpoint ------>| | |<-- 402 + PaymentRequired -----| | | | | | [本地签署付款] | | | | | |-- GET + PAYMENT-SIGNATURE --->| | | |-- 验证 ------------------->| | |<-- 有效 -------------------| | | | | | [执行查询] | | | | | |-- 结算 ------------------->| | |<-- 交易哈希 ---------------| |<-- 200 + 数据 + PAYMENT- -----| | | RESPONSE(结算信息) | |


### Important: Settle-After-Execute

If the query fails (timeout, server error), no payment is settled. The agent keeps their funds. This is enforced server-side. Only successful `2xx` responses trigger settlement.

### Headers

| Header | Direction | Description |
|--------|-----------|-------------|
| `PAYMENT-REQUIRED` | Response (402) | Encoded payment requirements |
| `X-PAYMENT-REQUIRED` | Response (402) | Duplicate of above for compatibility |
| `PAYMENT-SIGNATURE` | Request | Signed payment payload |
| `X-PAYMENT` | Request | Alternate payment header name |
| `PAYMENT-RESPONSE` | Response (200) | Settlement proof with tx hash |
| `X-PAYMENT-RESPONSE` | Response (200) | Duplicate of above for compatibility |

### Client Implementation (TypeScript/Bun)

```typescript
import { x402Client, x402HTTPClient } from "@x402/core/client";
import { registerExactSvmScheme } from "@x402/svm/exact/client";
import { toClientSvmSigner } from "@x402/svm";
import { getBase58Encoder, createKeyPairSignerFromBytes } from "@solana/kit";
import type { PaymentRequired, SettleResponse } from "@x402/core/types";

// --- One-time setup ---
const bytes = getBase58Encoder().encode(process.env.SOLANA_PRIVATE_KEY!);
const signer = await createKeyPairSignerFromBytes(bytes);
const client = new x402Client();
registerExactSvmScheme(client, { signer: toClientSvmSigner(signer) });
const httpClient = new x402HTTPClient(client);

// --- Reusable paid fetch ---
const BASE_URL = "https://agent.metengine.xyz";

async function paidFetch(
  path: string,
  options?: { method?: string; body?: Record<string, unknown> },
): Promise<{ data: unknown; settlement: SettleResponse; price: number }> {
  const method = options?.method ?? "GET";
  const url = `${BASE_URL}${path}`;
  const fetchOpts: RequestInit = { method };
  if (options?.body) {
    fetchOpts.headers = { "Content-Type": "application/json" };
    fetchOpts.body = JSON.stringify(options.body);
  }

  // Step 1: Get 402 with price
  const initial = await fetch(url, fetchOpts);
  if (initial.status !== 402) throw new Error(`Expected 402, got ${initial.status}`);
  const body = await initial.json();

  // Step 2: Parse payment requirements
  const paymentRequired: PaymentRequired = httpClient.getPaymentRequiredResponse(
    (name) => initial.headers.get(name), body,
  );
  const price = Number(paymentRequired.accepts[0]!.amount);

  // Step 3: Sign payment
  const paymentPayload = await httpClient.createPaymentPayload(paymentRequired);
  const paymentHeaders = httpClient.encodePaymentSignatureHeader(paymentPayload);

  // Step 4: Re-send with payment
  const paid = await fetch(url, {
    ...fetchOpts,
    headers: { ...fetchOpts.headers as Record<string, string>, ...paymentHeaders },
  });
  if (paid.status !== 200) {
    const err = await paid.json();
    throw new Error(`Payment failed (${paid.status}): ${JSON.stringify(err)}`);
  }
  const paidBody = (await paid.json()) as { data: unknown };

  // Step 5: Extract settlement proof
  const settlement = httpClient.getPaymentSettleResponse(
    (name) => paid.headers.get(name),
  );

  return { data: paidBody.data, settlement, price };
}
使用示例
// GET endpoint
const { data, price } = await paidFetch("/api/v1/markets/trending?timeframe=24h&limit=5");
console.log(`Paid $${price} USDC. Got ${(data as any[]).length} markets.`);

// POST endpoint
const { data: intel } = await paidFetch("/api/v1/markets/intelligence", {
  method: "POST",
  body: { condition_id: "0xabc123...", top_n_wallets: 10 },
});
NPM 依赖
bun add @x402/core @x402/svm @solana/kit

定价

所有价格均以 Solana Mainnet 上的 USDC 计价。定价会根据端点等级、时间范围、数量限制和筛选器的使用情况动态调整。

等级基础费用
等级基础费用(USDC)描述
light$0.01简单查询、搜索、信息流
medium$0.02聚合分析、趋势数据
heavy$0.05计算得出的情报、排行榜、评分
whale$0.08多实体比较、复杂扫描
价格调整系数

时间范围乘数(应用于基础费用):

时间范围乘数
1h0.5x
4h0.7x
12h0.9x
24h / today1.0x
7d2.0x
30d3.0x
90d4.0x
365d / all5.0x

数量限制乘数:price *= max(1, requested_limit / default_limit)

筛选器折扣(降低扫描费用):

筛选器折扣适用端点
category0.7xtrending、top-performers、whales、capital-flow、high-conviction、opportunities
condition_id0.5xwhales、sentiment、participants、wallet activity
smart_money_only=true0.7xwhales、capital-flow、volume-heatmap(Polymarket + HL)
coin/coins0.7xHL whales、long-short-ratio、pressure/pairs
pool_type (not "all")0.7x所有带有 pool_type 参数的 Meteora 端点
pool_address0.5xpool detail、volume-history、events、fee-analysis、positions/active

特殊规则:

  • wallets/compare:price *= wallets.length / 2
  • hl/traders/compare:price *= traders.length / 2
  • meteora/lps/compare:price *= owners.length / 2
  • wallets/profile:两个 includes 均为 1.0x,一个 include 为 0.7x,均不包含为 0.4x
  • 不带 category 的 wallets/top-performers:加收 2.0x 费用

硬性上限:

  • /api/v1/markets/opportunities:最高 $0.15
  • /api/v1/wallets/copy-traders:最高 $0.12

全局范围:每个请求最低 $0.01,最高 $0.20。

机器可读定价
GET https://agent.metengine.xyz/api/v1/pricing

以 JSON 格式返回完整定价表,包括所有等级、路由、乘数、折扣和特殊规则。免费端点。无需付款。


能力清单

Polymarket(27 个端点)
#MethodPathTierDescription
1GET/api/v1/markets/trendingmedium成交量激增的热门市场
2GET/api/v1/markets/searchlight按关键词、类别、状态或 Polymarket URL 搜索市场
3GET/api/v1/markets/categorieslight所有类别及其活跃度统计
4GET/api/v1/platform/statslight平台整体汇总统计
5POST/api/v1/markets/intelligenceheavy市场的完整聪明资金情报报告
6GET/api/v1/markets/price-historylightOHLCV 价格/概率时间序列
7POST/api/v1/markets/sentimentmedium叠加聪明资金数据的情绪时间序列
8POST/api/v1/markets/participantsmedium按评分层级汇总参与者
9POST/api/v1/markets/insidersheavy内部人士行为模式检测(7 项信号行为评分)
10GET/api/v1/markets/tradeslight市场的按时间顺序排列的交易动态
11GET/api/v1/markets/similarwhale根据钱包重合度查找相关市场
12GET/api/v1/markets/opportunitieswhale聪明资金与价格走势意见不一致的市场
13GET/api/v1/markets/high-convictionheavy聪明资金的高确信度押注
14GET/api/v1/markets/capital-flowmedium按类别划分的资金流向(板块轮动)
15GET/api/v1/trades/whalesmedium巨鲸大额交易
16GET/api/v1/markets/volume-heatmapmedium各类别/时段/日期的成交量分布
17POST/api/v1/wallets/profileheavy钱包完整档案,包含评分、持仓和交易
18POST/api/v1/wallets/activitymedium钱包近期交易活动
19POST/api/v1/wallets/pnl-breakdownmedium按市场划分的盈亏明细
20POST/api/v1/wallets/comparewhale并排比较 2-5 个钱包
21POST/api/v1/wallets/copy-traderswhale检测复制目标钱包交易的钱包
22GET/api/v1/wallets/top-performersheavy按盈亏、ROI、夏普比率、胜率和成交量排列的排行榜
23GET/api/v1/wallets/niche-expertsheavy特定类别中的顶级钱包
24GET/api/v1/markets/resolutionslight已结算市场及聪明资金准确度
25GET/api/v1/wallets/alpha-callersheavy在市场后来走热前提前交易的钱包
26GET/api/v1/markets/dumb-moneymedium低评分交易者的持仓(反向指标)
27GET/api/v1/wallets/insidersheavy按行为评分筛选的全局内部人士候选者
Hyperliquid(18 个端点)
#MethodPathTierDescription
28GET/api/v1/hl/platform/statslight平台汇总统计
29GET/api/v1/hl/coins/trendingmedium按活跃度排列的热门代币
30GET/api/v1/hl/coins/listlight所有交易代币及 7d 统计
31GET/api/v1/hl/coins/volume-heatmapmedium按代币和小时统计的交易量
32GET/api/v1/hl/traders/leaderboardheavy排名交易者排行榜
33POST/api/v1/hl/traders/profileheavy交易者完整档案
34POST/api/v1/hl/traders/comparewhale比较 2-5 名交易者
35GET/api/v1/hl/traders/daily-pnlmedium含连胜连败情况的每日 PnL 时间序列
36POST/api/v1/hl/traders/pnl-by-coinmedium按代币拆分的 PnL(仅已平仓 PnL)
37GET/api/v1/hl/traders/fresh-whalesheavy新出现的大额交易钱包
38GET/api/v1/hl/trades/whalesmedium大额交易
39GET/api/v1/hl/trades/feedlight某个代币的按时间顺序排列的交易动态
40GET/api/v1/hl/trades/long-short-ratiomedium多空交易量比率时间序列
41GET/api/v1/hl/smart-wallets/listlight含评分的智能钱包列表
42GET/api/v1/hl/smart-wallets/activitymedium智能钱包近期交易
43GET/api/v1/hl/smart-wallets/signalsheavy按代币汇总的方向性信号
44GET/api/v1/hl/pressure/pairsheavy含智能持仓的多空压力
45GET/api/v1/hl/pressure/summarymedium所有代币的压力摘要
Meteora(18 个端点)
#MethodPathTierDescription
46GET/api/v1/meteora/pools/trendingmedium按交易量激增情况排列的热门池
47GET/api/v1/meteora/pools/topmedium按交易量、手续费或 LP 数量排列的顶级池
48GET/api/v1/meteora/pools/searchlight按地址或代币名称搜索池
49GET/api/v1/meteora/pools/detailmedium池的完整详情
50GET/api/v1/meteora/pools/volume-historylight交易量时间序列
51GET/api/v1/meteora/pools/eventslight按时间顺序排列的事件动态
52GET/api/v1/meteora/pools/fee-analysismedium手续费领取分析
53GET/api/v1/meteora/lps/topheavy顶级 LP 排行榜
54POST/api/v1/meteora/lps/profileheavyLP 完整档案
55GET/api/v1/meteora/lps/whalesmedium大额 LP 事件
56POST/api/v1/meteora/lps/comparewhale比较 2-5 个 LP
57GET/api/v1/meteora/positions/activemedium活跃 LP 持仓
58GET/api/v1/meteora/positions/historylight持仓事件历史记录(仅限 DLMM)
59GET/api/v1/meteora/platform/statslight平台整体统计
60GET/api/v1/meteora/platform/volume-heatmapmedium按操作和小时统计的交易量
61GET/api/v1/meteora/platform/metengine-sharelightMetEngine 路由份额
62GET/api/v1/meteora/dca/pressuremedium按代币统计的 DCA 累积压力
63GET/api/v1/meteora/pools/smart-walletheavy智能钱包 LP 活动量最高的池

完整端点参考

响应封装

所有 200 响应均使用以下格式:{ "data": <payload> }

所有错误响应均使用:{ "error": "<message>" },可选包含 "reason" 字段。


POLYMARKET
1. GET /api/v1/markets/trending

交易量激增的热门市场。

参数(查询字符串):

参数类型默认值可选值必填
timeframestring24h1h, 4h, 12h, 24h, 7d否
categorystring-任意有效类别否
sort_bystringvolume_spikevolume_spike, trade_count, smart_money_inflow否
limitinteger201-100否

响应架构:

{
  "data": [
    {
      "condition_id": "string",
      "question": "string",
      "category": "string",
      "period_volume_usdc": "number",
      "period_trade_count": "number",
      "volume_spike_multiplier": "number",
      "smart_money_wallets_active": "number",
      "smart_money_net_direction": "string",
      "buy_sell_ratio": "number",
      "leader_price": "number"
    }
  ]
}
2. GET /api/v1/markets/search

按关键词、类别和状态搜索市场。支持将 Polymarket URL 作为 query 参数。

参数(查询字符串):

参数类型默认值可选值必填
querystring-关键词或 Polymarket URL否
categorystring-任意有效类别否
statusstringactiveactive, closing_soon, resolved否
has_smart_money_signalboolean-true, false否
sort_bystringrelevanceend_date, volume, relevance否
limitinteger201-100否

响应架构:

{
  "data": [
    {
      "condition_id": "string",
      "question": "string",
      "category": "string",
      "end_date": "string (ISO 8601)",
      "status": "string",
      "total_volume_usdc": "number",
      "smart_money_outcome": "string | null",
      "smart_money_wallets": "number",
      "has_contrarian_signal": "boolean",
      "leader_price": "number"
    }
  ]
}
3. GET /api/v1/markets/categories

列出所有类别及其活跃度统计。

参数(查询字符串):

参数类型默认值可选值必填
include_statsbooleantruetrue, false否
timeframestring24h24h, 7d否

响应架构:

{
  "data": [
    {
      "name": "string",
      "active_markets": "number",
      "period_volume": "number",
      "period_trades": "number",
      "unique_traders": "number"
    }
  ]
}
4. GET /api/v1/platform/stats

平台范围的汇总统计数据。

参数(查询字符串):

参数类型默认值可选值必填
timeframestring24h24h, 7d, 30d否

响应架构:

{
  "data": {
    "timeframe": "string",
    "total_volume_usdc": "number",
    "total_trades": "number",
    "active_traders": "number",
    "active_markets": "number",
    "resolved_markets": "number",
    "smart_wallet_count": "number",
    "avg_trade_size_usdc": "number"
  }
}
5. POST /api/v1/markets/intelligence

针对特定市场的完整聪明资金情报报告。

请求正文(JSON):

字段类型默认值可选值必填
condition_idstring--是
top_n_walletsinteger101-50否

响应架构:

{
  "data": {
    "condition_id": "string",
    "question": "string",
    "category": "string",
    "end_date": "string",
    "outcomes": "object",
    "smart_money": {
      "consensus_outcome": "string",
      "consensus_strength": "number",
      "by_outcome": {
        "<outcome_name>": {
          "wallet_count": "number",
          "total_usdc": "number",
          "percentage": "number",
          "top_wallets": [
            {
              "wallet": "string",
              "score": "number",
              "tags": ["string"],
              "usdc_invested": "number",
              "net_position": "number",
              "avg_buy_price": "number"
            }
          ]
        }
      }
    },
    "dumb_money": {
      "consensus_outcome": "string",
      "contrarian_to_smart": "boolean",
      "by_outcome": "object"
    },
    "signal_analysis": {
      "smart_vs_price_aligned": "boolean",
      "contrarian_signal": "boolean",
      "signal_summary": "string"
    },
    "recent_activity": {
      "volume_24h": "number",
      "trade_count_24h": "number",
      "buy_sell_ratio": "number",
      "volume_trend": "string"
    }
  }
}
6. GET /api/v1/markets/price-history

OHLCV 价格/概率时间序列。

参数(查询字符串):

参数类型默认值可选值必填
condition_idstring--是
timeframestring7d1h, 4h, 12h, 24h, 7d, 30d否
bucket_sizestring1h5m, 15m, 1h, 4h, 12h, 1d否

响应架构:

{
  "data": {
    "condition_id": "string",
    "question": "string",
    "category": "string",
    "candles_by_outcome": {
      "<outcome_name>": [
        {
          "bucket": "string (ISO 8601)",
          "token_id": "string",
          "outcome": "string",
          "open": "number",
          "high": "number",
          "low": "number",
          "close": "number",
          "volume": "number",
          "trade_count": "number",
          "vwap": "number"
        }
      ]
    }
  }
}
7. POST /api/v1/markets/sentiment

带有聪明资金叠加信息的情绪时间序列。

请求正文(JSON):

字段类型默认值可选值必填
condition_idstring--是
timeframestring7d24h, 7d, 30d否
bucket_sizestring4h1h, 4h, 12h, 1d否

响应架构:

{
  "data": {
    "condition_id": "string",
    "question": "string",
    "overall_sentiment": "object",
    "by_outcome": "object",
    "time_series": "array",
    "momentum": "object"
  }
}
8. POST /api/v1/markets/participants

按评分层级汇总参与者信息。

请求正文(JSON):

字段类型默认值可选值必填
condition_idstring--是

响应架构:

{
  "data": {
    "condition_id": "string",
    "question": "string",
    "total_wallets": "number",
    "total_usdc": "number",
    "by_outcome": "object",
    "tier_distribution": "object"
  }
}
9. POST /api/v1/markets/insiders

使用 7 项信号行为评分检测内幕模式。

请求正文(JSON):

字段类型默认值可选值必填
condition_idstring--是
limitinteger251-100否
min_scoreinteger200-100否

响应架构:

{
  "data": {
    "condition_id": "string",
    "question": "string",
    "category": "string",
    "insiders": [
      {
        "wallet": "string",
        "insider_score": "number",
        "signals": "object",
        "outcome": "string",
        "net_shares": "number",
        "buy_usdc": "number",
        "wallet_age_days": "number",
        "first_trade_timestamp": "string"
      }
    ],
    "summary": "object"
  }
}
10. GET /api/v1/markets/trades

市场的按时间排序的交易动态。

参数(查询字符串):

参数类型默认值可选值必填
condition_idstring--是
timeframestring24h1h, 4h, 12h, 24h, 7d, 30d否
sidestring-BUY, SELL否
min_usdcnumber0>= 0否
smart_money_onlybooleanfalsetrue, false否
limitinteger1001-500否

响应架构:

{
  "data": {
    "condition_id": "string",
    "question": "string",
    "category": "string",
    "trade_count": "number",
    "total_volume": "number",
    "trades": [
      {
        "tx_hash": "string",
        "wallet": "string",
        "token_id": "string",
        "outcome": "string",
        "side": "string",
        "price": "number",
        "size": "number",
        "usdc_size": "number",
        "timestamp": "string",
        "wallet_score": "number",
        "wallet_tags": ["string"]
      }
    ]
  }
}
11. GET /api/v1/markets/similar

根据钱包重叠情况查找相关市场。

参数(查询字符串):

参数类型默认值可选值必填
condition_idstring--是
limitinteger101-50否

响应架构:

{
  "data": [
    {
      "condition_id": "string",
      "question": "string",
      "category": "string",
      "shared_wallet_count": "number",
      "wallet_overlap_pct": "number",
      "total_volume_usdc": "number"
    }
  ]
}
12. GET /api/v1/markets/opportunities

聪明资金与价格走势相左的市场。

参数(查询字符串):

参数类型默认值取值必填
min_signal_strengthstringmoderateweak, moderate, strong否
categorystring-any valid category否
closing_within_hoursinteger-max 720否
min_smart_walletsinteger3>= 1否
limitinteger201-100否

响应架构:

{
  "data": [
    {
      "condition_id": "string",
      "question": "string",
      "category": "string",
      "smart_money_favors": "string",
      "smart_money_percentage": "number",
      "smart_wallet_count": "number",
      "avg_smart_score": "number",
      "price_signal_gap": "number",
      "signal_direction": "string",
      "signal_strength": "string",
      "leader_price": "number",
      "time_until_close": "string"
    }
  ]
}
13. GET /api/v1/markets/high-conviction

高信念的聪明资金押注。

参数(查询字符串):

参数类型默认值取值必填
categorystring-any valid category否
min_smart_walletsinteger5>= 1否
min_avg_scoreinteger650-100否
limitinteger201-100否

响应架构:

{
  "data": [
    {
      "condition_id": "string",
      "question": "string",
      "category": "string",
      "smart_wallet_count": "number",
      "avg_smart_score": "number",
      "total_smart_usdc": "number",
      "conviction_score": "number",
      "favored_outcome": "string",
      "favored_outcome_percentage": "number",
      "entry_vs_current_gap": "number"
    }
  ]
}
14. GET /api/v1/markets/capital-flow

按类别划分的资金流(板块轮动)。

参数(查询字符串):

参数类型默认值取值必填
timeframestring7d24h, 7d, 30d否
smart_money_onlybooleanfalsetrue, false否
top_n_categoriesinteger201-50否

响应架构:

{
  "data": {
    "timeframe": "string",
    "total_net_flow": "number",
    "categories": [
      {
        "category": "string",
        "current_buy_volume": "number",
        "current_sell_volume": "number",
        "current_net_flow": "number",
        "previous_buy_volume": "number",
        "previous_sell_volume": "number",
        "previous_net_flow": "number",
        "net_flow_change": "number",
        "flow_trend": "string"
      }
    ],
    "biggest_inflow": "string",
    "biggest_outflow": "string"
  }
}
15. GET /api/v1/trades/whales

巨鲸的大额交易。

参数(查询字符串):

参数类型默认值取值必填
min_usdcnumber10000>= 1否
timeframestring24h1h, 4h, 12h, 24h, 7d, 30d否
condition_idstring--否
categorystring-any valid category否
sidestring-BUY, SELL否
smart_money_onlybooleanfalsetrue, false否
limitinteger501-200否

响应架构:

{
  "data": [
    {
      "tx_hash": "string",
      "wallet": "string",
      "condition_id": "string",
      "token_id": "string",
      "question": "string",
      "outcome": "string",
      "category": "string",
      "side": "string",
      "price": "number",
      "size": "number",
      "usdc_size": "number",
      "timestamp": "string",
      "wallet_score": "number",
      "win_rate": "number",
      "wallet_tags": ["string"]
    }
  ]
}

注意: 此端点除了真实交易,还会返回 REDEEM 交易(已结算市场的派彩)。按 side=BUY 或 side=SELL 筛选即可排除这些交易。REDEEM 的 price=1.00,且 side=REDEEM。

16. GET /api/v1/markets/volume-heatmap

按类别、小时或日期显示成交量分布。

参数(查询字符串):

参数类型默认值取值必填
timeframestring24h24h, 7d, 30d否
group_bystringcategorycategory, hour_of_day, day_of_week否
smart_money_onlybooleanfalsetrue, false否

响应架构:

{
  "data": {
    "total_volume": "number",
    "total_trades": "number",
    "breakdown": [
      {
        "label": "string",
        "volume": "number",
        "trade_count": "number",
        "pct_of_total": "number",
        "volume_change_pct": "number",
        "trend": "string"
      }
    ],
    "biggest_gainer": "string",
    "biggest_loser": "string"
  }
}
17. POST /api/v1/wallets/profile

完整的钱包档案。

请求正文(JSON):

字段类型默认值取值必填
walletstring-lowercase address是
include_positionsbooleantruetrue, false否
include_tradesbooleantruetrue, false否
trades_limitinteger501-500否

响应架构:

{
  "data": {
    "wallet": "string",
    "profile": {
      "score": "number",
      "sharpe": "number",
      "win_rate": "number",
      "total_pnl": "number",
      "total_volume": "number",
      "resolved_positions": "number",
      "tags": ["string"],
      "tier": "string",
      "primary_category": "string",
      "is_specialist": "boolean"
    },
    "category_breakdown": "array",
    "active_positions": "array",
    "recent_trades": "array"
  }
}

注意: 钱包地址必须为小写。

18. POST /api/v1/wallets/activity

钱包的近期交易活动。

请求正文(JSON):

字段类型默认值取值必填
walletstring-lowercase address是
timeframestring24h1h, 4h, 24h, 7d, 30d否
categorystring-any valid category否
min_usdcnumber0>= 0否
limitinteger1001-500否

响应架构:

{
  "data": {
    "wallet": "string",
    "wallet_score": "number",
    "wallet_tags": ["string"],
    "period_summary": "object",
    "trades": "array"
  }
}
19. POST /api/v1/wallets/pnl-breakdown

按市场细分的盈亏情况。

请求正文(JSON):

字段类型默认值取值必填
walletstring-lowercase address是
timeframestring90d7d, 30d, 90d, all否
limitinteger501-200否

响应架构:

{
  "data": {
    "wallet": "string",
    "total_realized_pnl": "number",
    "total_positions": "number",
    "winning_positions": "number",
    "losing_positions": "number",
    "best_trade": "object",
    "worst_trade": "object",
    "positions": "array"
  }
}
20. POST /api/v1/wallets/compare

并排比较 2-5 个钱包。

请求正文(JSON):

字段类型默认值取值必填
walletsstring[]-2-5 个小写地址是
include_shared_positionsbooleantruetrue, false否

响应架构:

{
  "data": {
    "wallets": "array of wallet profiles",
    "comparison_winners": "object",
    "category_overlap": "object",
    "shared_positions": "array"
  }
}

定价说明: 费用随钱包数量变化:base * wallets.length / 2。

21. POST /api/v1/wallets/copy-traders

检测复制目标钱包交易的钱包。

请求正文(JSON):

字段类型默认值取值必填
walletstring-小写地址是
max_lag_minutesinteger601-1440否
timeframestring7d24h, 7d, 30d否
min_overlap_tradesinteger3>= 1否
limitinteger201-100否

响应架构:

{
  "data": [
    {
      "wallet": "string",
      "overlap_trades": "number",
      "avg_lag_seconds": "number",
      "copied_tokens": "array",
      "wallet_score": "number"
    }
  ]
}
22. GET /api/v1/wallets/top-performers

排行榜。

参数(查询字符串):

参数类型默认值取值必填
timeframestring7dtoday, 24h, 7d, 30d, 90d, 365d否
categorystring-任意有效类别否
metricstringpnlpnl, roi, sharpe, win_rate, volume否
min_tradesinteger5>= 1否
limitinteger251-100否

响应架构:

{
  "data": [
    {
      "rank": "number",
      "wallet": "string",
      "period_pnl_usdc": "number",
      "period_roi_percent": "number",
      "period_trades": "number",
      "period_win_rate": "number",
      "overall_score": "number",
      "sharpe_ratio": "number",
      "primary_category": "string",
      "tags": ["string"],
      "active_positions_count": "number"
    }
  ]
}

定价说明: 未设置 category 筛选条件的查询费用为 2 倍,因为需要全表扫描。

23. GET /api/v1/wallets/niche-experts

特定类别中的顶级钱包。

参数(查询字符串):

参数类型默认值取值必填
categorystring-任意有效类别是
min_category_tradesinteger10>= 1否
sort_bystringcategory_sharpecategory_sharpe, category_pnl, category_volume否
limitinteger251-100否

响应架构:

{
  "data": [
    {
      "wallet": "string",
      "category_sharpe": "number",
      "category_win_rate": "number",
      "category_volume": "number",
      "category_pnl": "number",
      "category_positions": "number",
      "is_specialist": "boolean",
      "volume_concentration": "number",
      "overall_score": "number",
      "tags": ["string"]
    }
  ]
}
24. GET /api/v1/markets/resolutions

包含聪明资金准确率的已结算市场。

参数(查询字符串):

参数类型默认值取值必填
categorystring-任意有效类别否
querystring-关键词否
sort_bystringresolved_recentlyresolved_recently, volume, smart_money_accuracy否
limitinteger251-100否

响应架构:

{
  "data": [
    {
      "condition_id": "string",
      "question": "string",
      "category": "string",
      "winning_outcome": "string",
      "end_date": "string",
      "total_volume_usdc": "number",
      "smart_money_correct": "number",
      "smart_money_wrong": "number",
      "smart_money_accuracy": "number"
    }
  ]
}
25. GET /api/v1/wallets/alpha-callers

在市场后来呈现趋势之前提前交易的钱包。

参数(查询字符串):

参数类型默认值取值必填
days_backinteger301-90否
min_days_earlyinteger71-60否
min_bet_usdcnumber100>= 0否
limitinteger251-100否

响应架构:

{
  "data": [
    {
      "wallet": "string",
      "market_question": "string",
      "condition_id": "string",
      "entry_date": "string",
      "days_before_resolution": "number",
      "bet_size_usdc": "number",
      "winning_outcome": "string",
      "wallet_score": "number",
      "win_rate": "number"
    }
  ]
}
26. GET /api/v1/markets/dumb-money

市场中低分交易者的持仓(反向指标)。

参数(查询字符串):

参数类型默认值取值必填
condition_idstring--是
max_scoreinteger300-100否
min_tradesinteger5>= 1否
limitinteger501-200否

响应架构:

{
  "data": {
    "condition_id": "string",
    "question": "string",
    "category": "string",
    "summary": {
      "total_wallets": "number",
      "total_usdc": "number",
      "avg_score": "number",
      "consensus_outcome": "string"
    },
    "positions": "array"
  }
}
27. GET /api/v1/wallets/insiders

按行为评分列出全局内幕交易候选钱包。

参数(查询字符串):

参数类型默认值取值必填
limitinteger501-200否
min_scoreinteger500-100否
max_wallet_age_daysinteger601-90否

响应架构:

{
  "data": {
    "candidates": [
      {
        "wallet": "string",
        "insider_score": "number",
        "wallet_age_days": "number",
        "first_trade": "string",
        "markets_traded": "number",
        "total_buy_usdc": "number",
        "category_count": "number",
        "categories": ["string"],
        "win_count": "number",
        "total_resolved": "number",
        "win_rate": "number",
        "signals": "object"
      }
    ],
    "total_candidates": "number"
  }
}

HYPERLIQUID
28. GET /api/v1/hl/platform/stats

平台汇总统计。无参数。

响应架构:

{
  "data": {
    "total_volume_usd": "number",
    "total_trades": "number",
    "active_traders": "number",
    "smart_wallet_count": "number",
    "unique_coins": "number"
  }
}
29. GET /api/v1/hl/coins/trending

按活跃度排列的热门币种。

参数(查询字符串):

参数类型默认值可选值必填
timeframestring24h1h, 4h, 12h, 24h, 7d否
limitinteger201-100否

响应架构:

{
  "data": [
    {
      "coin": "string",
      "volume_usd": "number",
      "trade_count": "number",
      "unique_traders": "number",
      "long_short_ratio": "number",
      "smart_wallet_count": "number",
      "volume_change_pct": "number"
    }
  ]
}

已知问题: timeframe=24h 经常返回空结果。请使用 timeframe=7d 作为备用。

30. GET /api/v1/hl/coins/list

所有交易币种及其 7d 统计数据。

参数(查询字符串):

参数类型默认值可选值必填
limitinteger1001-500否

响应架构:

{
  "data": [
    {
      "coin": "string",
      "volume_usd": "number",
      "trade_count": "number",
      "unique_traders": "number"
    }
  ]
}
31. GET /api/v1/hl/coins/volume-heatmap

按币种和小时统计的交易量。

参数(查询字符串):

参数类型默认值可选值必填
timeframestring24h24h, 7d否
limitinteger201-50否

响应架构:

{
  "data": [
    {
      "coin": "string",
      "bucket": "string",
      "volume_usd": "number",
      "trade_count": "number",
      "smart_volume_usd": "number"
    }
  ]
}
32. GET /api/v1/hl/traders/leaderboard

按排名排列的交易者排行榜。

参数(查询字符串):

参数类型默认值可选值必填
timeframestringall1d, 7d, 30d, all否
sort_bystringpnlpnl, roi, win_rate, volume否
sort_orderstringdescdesc, asc否
min_tradesinteger10>= 1否
limitinteger251-100否

响应架构:

{
  "data": [
    {
      "trader": "string",
      "total_pnl": "number",
      "total_volume": "number",
      "total_trades": "number",
      "winning_trades": "number",
      "win_rate": "number",
      "roi_pct": "number",
      "smart_score": "number"
    }
  ]
}
33. POST /api/v1/hl/traders/profile

交易者完整档案。

请求正文(JSON):

字段类型默认值可选值必填
traderstring-0x address是
daysinteger301-365否
trades_limitinteger501-500否

响应架构:

{
  "data": {
    "trader": "string",
    "stats": "object",
    "coin_breakdown": "array",
    "daily_pnl": "array",
    "recent_trades": "array"
  }
}

已知问题: 偶尔会出现 500 错误。备用方案:使用 leaderboard + pnl-by-coin。

34. POST /api/v1/hl/traders/compare

比较 2-5 名交易者。

请求正文(JSON):

字段类型默认值可选值必填
tradersstring[]-2-5 个 0x address是

响应架构:

{
  "data": {
    "traders": "array of trader profiles",
    "shared_coins": "array",
    "comparison_winners": "object"
  }
}

定价说明: 费用随交易者数量变化:base * traders.length / 2。

35. GET /api/v1/hl/traders/daily-pnl

包含连胜和连败信息的每日 PnL 时间序列。

参数(查询字符串):

参数类型默认值可选值必填
traderstring-0x address是
daysinteger301-365否

响应架构:

{
  "data": [
    {
      "date": "string",
      "pnl": "number",
      "volume": "number",
      "trades": "number",
      "cumulative_pnl": "number",
      "streak": "number"
    }
  ]
}
36. POST /api/v1/hl/traders/pnl-by-coin

按币种拆分的 PnL 明细。仅显示已实现(已平仓)PnL。

请求正文(JSON):

字段类型默认值可选值必填
traderstring-0x address是
daysinteger901-365否

响应架构:

{
  "data": [
    {
      "coin": "string",
      "pnl": "number",
      "volume": "number",
      "trades": "number",
      "winning_trades": "number",
      "win_rate": "number"
    }
  ]
}

注意: 仅包含已实现(已平仓)PnL。无法获取未平仓头寸的未实现 PnL。

37. GET /api/v1/hl/traders/fresh-whales

新出现的大额交易钱包(由经验丰富的交易者创建的新账户、机构交易台或内部人士)。

参数(查询字符串):

参数类型默认值可选值必填
max_wallet_age_daysinteger141-90否
min_volumenumber100000>= 0否
min_pnlnumber0任意否
limitinteger251-100否

响应架构:

{
  "data": [
    {
      "trader": "string",
      "first_trade": "string",
      "wallet_age_days": "number",
      "total_pnl": "number",
      "total_volume": "number",
      "total_trades": "number",
      "winning_trades": "number"
    }
  ]
}
38. GET /api/v1/hl/trades/whales

大额交易。

参数(查询字符串):

参数类型默认值可选值必填
min_usdnumber50000>= 1否
timeframestring24h1h, 4h, 12h, 24h, 7d否
coinstring-大写交易代码(例如 BTC)否
sidestring-Open Long, Open Short, Close Long, Close Short否
directionstring-Long, Short否
smart_money_onlybooleanfalsetrue, false否
limitinteger501-200否

响应架构:

{
  "data": [
    {
      "trader": "string",
      "coin": "string",
      "side": "string",
      "direction": "string",
      "price": "number",
      "size": "number",
      "usd_value": "number",
      "closed_pnl": "number",
      "timestamp": "string",
      "smart_score": "number"
    }
  ]
}
39. GET /api/v1/hl/trades/feed

某个币种的时间顺序交易动态。

参数(查询字符串):

参数类型默认值可选值必填
coinstring-大写交易代码是
limitinteger1001-500否

响应架构:

{
  "data": [
    {
      "trader": "string",
      "coin": "string",
      "side": "string",
      "direction": "string",
      "price": "number",
      "size": "number",
      "usd_value": "number",
      "closed_pnl": "number",
      "timestamp": "string"
    }
  ]
}
40. GET /api/v1/hl/trades/long-short-ratio

多空交易量比率时间序列。

参数(查询字符串):

参数类型默认值可选值必填
coinstring-大写交易代码是
timeframestring7d24h, 7d, 30d否
bucket_sizestring4h1h, 4h, 12h, 1d否

响应架构:

{
  "data": [
    {
      "bucket": "string",
      "long_volume": "number",
      "short_volume": "number",
      "long_short_ratio": "number",
      "smart_long_volume": "number",
      "smart_short_volume": "number",
      "smart_long_short_ratio": "number"
    }
  ]
}

已知问题: 可能返回全为 0 的结果。备用方案:通过统计 /hl/trades/whales 中的多头与空头交易量来重建。

41. GET /api/v1/hl/smart-wallets/list

智能钱包列表。

参数(查询字符串):

参数类型默认值可选值必填
sort_bystringscorescore, pnl, volume否
limitinteger501-200否

响应架构:

{
  "data": [
    {
      "trader": "string",
      "score": "number",
      "total_pnl": "number",
      "total_volume": "number",
      "total_trades": "number",
      "win_rate": "number"
    }
  ]
}
42. GET /api/v1/hl/smart-wallets/activity

智能钱包近期交易。

参数(查询字符串):

参数类型默认值可选值必填
timeframestring24h1h, 4h, 12h, 24h, 7d否
min_scoreinteger600-100否
limitinteger1001-500否

响应架构:

{
  "data": {
    "period_summary": "object",
    "trades": "array"
  }
}
43. GET /api/v1/hl/smart-wallets/signals

按币种汇总的方向性信号。

参数(查询字符串):

参数类型默认值可选值必填
timeframestring24h6h, 12h, 24h, 7d否
min_scoreinteger600-100否
limitinteger201-50否

响应架构:

{
  "data": [
    {
      "coin": "string",
      "direction": "string",
      "smart_wallet_count": "number",
      "total_volume": "number",
      "avg_score": "number",
      "top_traders": "array"
    }
  ]
}

已知问题: timeframe=24h 经常返回空结果。备用方案:使用 timeframe=7d。

44. GET /api/v1/hl/pressure/pairs

包含智能仓位的多空压力。

参数(查询字符串):

参数类型默认值可选值必填
coinsstring-逗号分隔(默认使用排名前 10 的币种)否
trades_limitinteger201-100否

响应架构:

{
  "data": {
    "coins": [
      {
        "coin": "string",
        "long_pressure": "number",
        "short_pressure": "number",
        "long_avg_entry": "number",
        "short_avg_entry": "number",
        "long_smart_count": "number",
        "short_smart_count": "number",
        "smart_positions": "array"
      }
    ]
  }
}
45. GET /api/v1/hl/pressure/summary

所有币种的压力摘要。无参数。

响应架构:

{
  "data": {
    "coins": [
      {
        "coin": "string",
        "long_pressure": "number",
        "short_pressure": "number",
        "long_percent": "number",
        "short_percent": "number",
        "long_avg_entry": "number",
        "short_avg_entry": "number"
      }
    ]
  }
}

METEORA
46. GET /api/v1/meteora/pools/trending

按交易量激增情况排列的热门池。

参数(查询字符串):

参数类型默认值可选值必填
pool_typestringalldlmm, damm_v2, all否
timeframestring24h24h, 7d否
limitinteger201-100否

响应架构:

{
  "data": [
    {
      "pool_address": "string",
      "pool_type": "string",
      "token_x": "string",
      "token_y": "string",
      "volume_usd": "number",
      "event_count": "number",
      "unique_lps": "number",
      "volume_change_pct": "number"
    }
  ]
}

已知问题: 可能包含重复条目。请按 pool_address 去重。

47. GET /api/v1/meteora/pools/top

按交易量、费用或 LP 数量排列的顶级池。

参数(查询字符串):

参数类型默认值可选值必填
pool_typestringalldlmm, damm_v2, all否
sort_bystringvolumevolume, lp_count, events, fees否
timeframestring7d24h, 7d, 30d否
limitinteger201-100否

响应架构:

{
  "data": [
    {
      "pool_address": "string",
      "pool_type": "string",
      "token_x": "string",
      "token_y": "string",
      "volume_usd": "number",
      "event_count": "number",
      "unique_lps": "number",
      "total_fees_usd": "number"
    }
  ]
}
48. GET /api/v1/meteora/pools/search

按地址或代币名称搜索池。

参数(查询字符串):

参数类型默认值可选值必填
querystring-池地址或代币名称是
pool_typestringalldlmm, damm_v2, all否
limitinteger101-50否

响应架构:

{
  "data": [
    {
      "pool_address": "string",
      "pool_type": "string",
      "token_x": "string",
      "token_y": "string",
      "volume_usd": "number",
      "event_count": "number",
      "unique_lps": "number"
    }
  ]
}
49. GET /api/v1/meteora/pools/detail

完整的池详情。

参数(查询字符串):

参数类型默认值可选值必填
pool_addressstring-Solana 公钥是
pool_typestring-dlmm, damm_v2(省略时自动检测)否

响应架构:

{
  "data": {
    "pool_address": "string",
    "pool_type": "string",
    "token_x": "string",
    "token_y": "string",
    "total_volume_usd": "number",
    "total_events": "number",
    "unique_lps": "number",
    "volume_by_action": "object",
    "net_liquidity_usd": "number"
  }
}
50. GET /api/v1/meteora/pools/volume-history

成交量时间序列。

参数(查询字符串):

参数类型默认值可选值必填
pool_addressstring-Solana 公钥是
pool_typestring-dlmm, damm_v2(省略时自动检测)否
timeframestring7d24h, 7d, 30d否
bucket_sizestring4h1h, 4h, 1d否

响应架构:

{
  "data": [
    {
      "bucket": "string",
      "volume_usd": "number",
      "event_count": "number",
      "action_breakdown": "object"
    }
  ]
}
51. GET /api/v1/meteora/pools/events

按时间顺序排列的事件流。

参数(查询字符串):

参数类型默认值可选值必填
pool_addressstring-Solana 公钥是
pool_typestring-dlmm, damm_v2(省略时自动检测)否
limitinteger1001-500否

响应架构:

{
  "data": [
    {
      "owner": "string",
      "pool_address": "string",
      "event_type": "string",
      "usd_total": "number",
      "timestamp": "string",
      "tx_id": "string"
    }
  ]
}
52. GET /api/v1/meteora/pools/fee-analysis

费用领取分析。

参数(查询字符串):

参数类型默认值可选值必填
pool_addressstring-Solana 公钥是
pool_typestring-dlmm, damm_v2(省略时自动检测)否
timeframestring7d24h, 7d, 30d否

响应架构:

{
  "data": {
    "pool_address": "string",
    "total_fees_claimed": "number",
    "unique_claimers": "number",
    "time_series": "array",
    "top_claimers": "array"
  }
}
53. GET /api/v1/meteora/lps/top

顶级 LP 排行榜。

参数(查询字符串):

参数类型默认值可选值必填
pool_typestringalldlmm, damm_v2, all否
sort_bystringvolumevolume, pool_count, events否
timeframestring30d7d, 30d否
limitinteger251-100否

响应架构:

{
  "data": [
    {
      "owner": "string",
      "total_volume_usd": "number",
      "pool_count": "number",
      "event_count": "number",
      "pool_types": ["string"]
    }
  ]
}

已知问题: sort_by=fees 可能返回 500。请使用 sort_by=volume 作为备用选项。

54. POST /api/v1/meteora/lps/profile

LP 完整档案。

请求正文(JSON):

字段类型默认值可选值必填
ownerstring-Solana 公钥是
pool_typestringalldlmm, damm_v2, all否
events_limitinteger501-500否

响应架构:

{
  "data": {
    "owner": "string",
    "summary": "object",
    "pool_breakdown": "array",
    "recent_events": "array"
  }
}
55. GET /api/v1/meteora/lps/whales

大额 LP 事件。

参数(查询字符串):

参数类型默认值可选值必填
pool_typestringalldlmm, damm_v2, all否
min_usdnumber10000>= 1否
timeframestring24h24h, 7d, 30d否
limitinteger501-200否

响应架构:

{
  "data": [
    {
      "owner": "string",
      "pool_address": "string",
      "pool_type": "string",
      "event_type": "string",
      "usd_total": "number",
      "timestamp": "string"
    }
  ]
}
56. POST /api/v1/meteora/lps/compare

比较 2-5 个 LP。

请求正文(JSON):

字段类型默认值可选值必填
ownersstring[]-2-5 个 Solana 公钥是
pool_typestringalldlmm, damm_v2, all否

响应架构:

{
  "data": {
    "lps": "array of LP profiles",
    "shared_pools": "array",
    "comparison_winners": "object"
  }
}

定价说明: 费用随 LP 数量增加:base * owners.length / 2。

57. GET /api/v1/meteora/positions/active

活跃的 LP 仓位。

参数(查询字符串):

参数类型默认值可选值必填
pool_addressstring-Solana 公钥否
ownerstring-Solana 公钥否
pool_typestringalldlmm, damm_v2, all否
limitinteger501-200否

响应结构:

{
  "data": [
    {
      "owner": "string",
      "pool_address": "string",
      "pool_type": "string",
      "position_address": "string",
      "deposited_usd": "number",
      "withdrawn_usd": "number",
      "net_value_usd": "number",
      "event_count": "number"
    }
  ]
}
58. GET /api/v1/meteora/positions/history

仓位事件历史记录(仅限 DLMM)。

参数(查询字符串):

参数类型默认值可选值必填
position_addressstring--是

响应结构:

{
  "data": {
    "position_address": "string",
    "events": [
      {
        "event_type": "string",
        "usd_total": "number",
        "timestamp": "string",
        "tx_id": "string"
      }
    ]
  }
}
59. GET /api/v1/meteora/platform/stats

平台整体统计数据。

参数(查询字符串):

参数类型默认值可选值必填
pool_typestringalldlmm, damm_v2, all否

响应结构:

{
  "data": {
    "total_volume_usd": "number",
    "total_events": "number",
    "active_lps": "number",
    "active_pools": "number",
    "by_pool_type": "object"
  }
}
60. GET /api/v1/meteora/platform/volume-heatmap

按操作和小时统计的交易量。

参数(查询字符串):

参数类型默认值可选值必填
pool_typestringalldlmm, damm_v2, all否
timeframestring24h24h, 7d否

响应结构:

{
  "data": [
    {
      "action": "string",
      "bucket": "string",
      "pool_type": "string",
      "volume_usd": "number",
      "event_count": "number"
    }
  ]
}
61. GET /api/v1/meteora/platform/metengine-share

MetEngine 路由份额。

参数(查询字符串):

参数类型默认值可选值必填
pool_typestringalldlmm, damm_v2, all否
timeframestring7d24h, 7d, 30d否

响应结构:

{
  "data": {
    "total_events": "number",
    "metengine_events": "number",
    "metengine_share_pct": "number",
    "total_volume_usd": "number",
    "metengine_volume_usd": "number"
  }
}
62. GET /api/v1/meteora/dca/pressure

按代币统计的 DCA 累积压力。

参数(查询字符串):

参数类型默认值可选值必填
tokenstring-特定的 mint 地址否
timeframestring1h1m, 5m, 30m, 1h, 6h, 24h否

响应结构(单个代币):

{
  "data": {
    "tokenMint": "string",
    "timeframe": "string",
    "buyVolume": "number",
    "sellVolume": "number",
    "netPressure": "number",
    "score": "number"
  }
}

响应结构(所有代币,省略 token 时):

{
  "data": {
    "timeframe": "string",
    "tokens": "array",
    "lastUpdated": "string"
  }
}
63. GET /api/v1/meteora/pools/smart-wallet

智能钱包 LP 活动最频繁的池。

参数(查询字符串):

参数类型默认值可选值必填
pool_typestringalldlmm, damm_v2, all否
limitinteger201-100否
timeframestring7d24h, 7d, 30d否

响应结构:

{
  "data": {
    "pools": [
      {
        "pool_address": "string",
        "pool_type": "string",
        "token_a": "string",
        "token_b": "string",
        "smart_lp_count": "number",
        "total_volume_usd": "number",
        "smart_volume_usd": "number",
        "smart_share_pct": "number"
      }
    ]
  }
}

与自行计算的比较

为什么调用此 API,而不是自行计算

1. 专有评分数据集。 MetEngine 为全部三个平台维护钱包评分模型(Polymarket 0-100 综合评分、Hyperliquid 0-100 智能评分、Meteora LP 智能评分)。这些评分根据数十亿笔历史交易、已结算头寸和行为模式计算得出。Agent 需要:(a) 为 5.74 亿多笔 Polymarket 交易建立索引;(b) 构建并维护评分流水线;(c) 存储并更新数百万个钱包的评分。自行计算成本:数周工程投入 + 持续的基础设施开销。

2. 预聚合的物化视图。 需要扫描 5.74 亿多行交易数据才能完成的查询(按类别划分的资金流、表现最佳者、内幕交易检测),会通过预聚合的 SummingMergeTree 表执行。直接扫描 ClickHouse 交易表需要 30-60 秒,计算成本为 0.50-2.00 美元。API 只需 1-5 秒即可返回结果,费用为 0.01-0.08 美元。

3. 跨平台情报。 内幕交易检测使用包含 7 个信号的行为评分系统。聪明资金共识会将评分较高的钱包与市场价格进行比较。资金流会跟踪所有类别的板块轮动。要从原始链上数据构建这些功能,需要为多条链建立索引、维护市场元数据,并持续运行评分流水线。

4. 实时链上数据。 该 API 以不到一分钟的延迟为 Polymarket(Polygon)、Hyperliquid(L1)和 Meteora(Solana)的交易数据建立索引。Agent 需要在 3 条链上部署 RPC 节点、解析事件并搭建数据库基础设施。

典型工作流的成本比较(分析一个 Polymarket 市场):

步骤自行计算MetEngine API
查找市场抓取 Polymarket 前端GET /markets/search($0.01)
获取聪明资金共识为所有交易建立索引、为钱包评分并汇总POST /markets/intelligence($0.05)
获取价格历史解析链上事件、构建 OHLCVGET /markets/price-history($0.01)
查找内幕交易模式构建包含 7 个信号的检测流水线POST /markets/insiders($0.05)
总计数小时的计算 + 基础设施$0.12,约 10 秒

性能

指标值
p50 延迟800ms
p95 延迟3s
p99 延迟8s
处理器超时60s(超时不收费)
最大并发付费请求数50
支付验证超时5s
限流(未付费的 402 请求)基于 IP,较宽松
数据新鲜度
平台新鲜度
Polymarket 交易不到一分钟(持续建立索引)
Polymarket 钱包评分每日重新计算
Hyperliquid 交易不到一分钟
Hyperliquid 智能评分持续更新(基于公式)
Meteora 事件不到一分钟
Meteora LP 评分每日重新计算

错误处理

HTTP 状态码
代码含义Agent 操作
200成功。数据位于 { "data": ... } 中。结算证明位于 PAYMENT-RESPONSE 标头中。处理数据
400请求错误(参数无效、支付标头格式错误)修正请求参数
402需要付款(首次请求)或支付验证失败签名并重新发送请求(附带付款),或检查付款有效性
404找不到端点根据本文档确认端点路径
429超出限流限制暂停后重试
500内部服务器错误重试一次,然后尝试备用端点
502支付验证失败(facilitator 错误)重试
503服务器已满负荷或支付服务不可用查看 Retry-After 标头,等待一段时间后重试
504查询执行超时。不收费。缩小参数范围后重试,或使用备用端点
错误响应格式
{
  "error": "Human-readable error message",
  "reason": "Optional machine-readable reason (on 402 verification failures)"
}
结算边缘情况
Header含义
X-Payment-Settlement: failed查询成功,但结算失败。已返回数据,不收费。罕见的边缘情况。
200 响应中没有 PAYMENT-RESPONSE header未尝试结算(正常流程中不应发生)。
备用策略

当端点失败时,使用以下替代方案:

失败的端点备用方案
/markets/opportunities (504)/markets/high-conviction
/wallets/top-performers (503 on 7d)尝试 timeframe=24h
/markets/insiders (timeout)使用带有 market 筛选条件的 /markets/trades
/hl/coins/trending (empty on 24h)使用 timeframe=7d
/hl/smart-wallets/signals (empty on 24h)使用 timeframe=7d
/hl/trades/long-short-ratio (all zeros)按 side 从 /hl/trades/whales 重建
/hl/traders/profile (500)/hl/traders/leaderboard + /hl/traders/pnl-by-coin
/meteora/lps/top?sort_by=fees (500)使用 sort_by=volume
/meteora/lps/profile (500)使用 /meteora/pools/fee-analysis 获取 claimer 数据

健康检查

GET https://agent.metengine.xyz/health

免费。无需付款。返回:

{
  "status": "ok | degraded",
  "service": "data-agent",
  "auth_mode": "x402",
  "clickhouse": { "status": "ok | down" },
  "postgres": { "status": "ok | down" },
  "redis": { "status": "ok | down" },
  "semaphore": {
    "active": "number",
    "waiting": "number",
    "max": 250,
    "timeouts_1m": "number"
  },
  "queries_1m": "object",
  "cache_1m": "object",
  "top_errors": "object",
  "facilitator": "boolean",
  "network": "mainnet"
}
  • status: "ok" 表示所有后端均正常。
  • status: "degraded" 表示至少有一个后端不可用。请检查各组件的状态。
  • facilitator: true 表示 x402 付款处理正常运行。
  • semaphore.active 接近 semaphore.max 表示服务负载较高(预计会出现 503)。

限制

此 API 不提供以下功能:

  1. 不执行交易。 仅提供只读分析。无法在任何平台下单。
  2. 不提供实时流。 仅支持请求/响应。不提供 WebSocket 数据流。
  3. 不支持按需回填历史数据。 数据始于 MetEngine 开始为各平台建立索引的时间。
  4. 不提供 Hyperliquid 未实现盈亏。 仅提供已平仓(已实现)盈亏。
  5. 不提供 Meteora 持仓的按市值计价数据。 净值按存款减去取款计算,而非当前市值。
  6. 不提供 Polymarket 订单簿数据。 仅提供交易数据,不包括未成交订单或流动性深度。
  7. 不提供自定义评分模型。 钱包评分使用 MetEngine 的专有模型,无法按 Agent 自定义。
  8. 不支持跨平台钱包关联。 即使由同一实体控制,Polymarket 上的 Polygon 地址也不会与 Meteora 上的 Solana 地址关联。
  9. 不提供代币价格数据流。 这不是价格预言机。Polymarket 上的市场价格是隐含概率(0-1)。
  10. 仅有 63 个端点。 如果本文档未列出某条路径,则该路径不存在。

已知特性

Polymarket
  • /markets/opportunities 在高负载下经常超时(504)。请使用 /markets/high-conviction 作为备用方案。
  • /wallets/top-performers?timeframe=7d 可能返回 503。可尝试 timeframe=24h,但请注意时间范围较窄。
  • /trades/whales 除真实交易外,还会返回 REDEEM 交易(已结算市场的赔付)。可通过 side=BUY 或 side=SELL 筛选排除这些交易。REDEEM 的字段为 price=1.00, side=REDEEM。
  • /markets/insiders 有时会超时。可使用按市场筛选的 /markets/trades 作为备用方案。
  • 钱包地址必须为小写。
  • condition_id 用于标识市场。一个 condition_id 对应多个 token_id 值(每种结果对应一个)。
  • 价格 = 隐含概率(0 到 1)。价格为 0.73 表示概率为 73%。
Hyperliquid
  • /hl/coins/trending?timeframe=24h 和 /hl/smart-wallets/signals?timeframe=24h 经常返回空数组。默认使用 timeframe=7d。
  • /hl/trades/long-short-ratio 可能返回全零。可从 /hl/trades/whales 重建方向性偏向。
  • /hl/traders/profile 有时会返回 500。可使用排行榜 + pnl-by-coin 作为备用方案。
  • /hl/traders/pnl-by-coin 仅显示已实现(已平仓)盈亏。不提供未实现盈亏。
  • 币种符号仅使用大写基础币种:BTC,而非 BTC-USDC。
  • 交易者地址为带 0x 前缀的十六进制字符串(不区分大小写)。
  • closed_pnl 仅在平仓交易中非零。开仓交易的 closed_pnl = 0。
  • 智能钱包阈值:score >= 85(比 Polymarket 的 60 更严格)。
Meteora
  • DAMM v2 池的手续费率经常高得不合理(占交易量的 30-50%)。这是新代币发行时反狙击手续费调度器造成的假象。请将 DAMM v2 与 DLMM 结果分开,并标记异常情况。
  • /meteora/pools/trending 可能会有重复条目。请按 pool_address 去重。
  • /meteora/lps/top?sort_by=fees 可能返回 500 错误。请使用 sort_by=volume 作为备用方案。
  • 部分代币铸造地址显示为「???」(未解析)。请检查交易对上下文以确认其身份。
  • 地址为 Solana 公钥(base58,区分大小写)。
  • DLMM 使用 token_x/token_y 和 PascalCase 事件类型(AddLiquidity、RemoveLiquidity、Swap、ClaimFee)。
  • DAMM v2 使用 token_a/token_b 和 snake_case 事件类型(add_liquidity、remove_liquidity、swap、claim_fee)。
  • 仓位地址仅适用于 DLMM,不适用于 DAMM v2。

地址格式约定

平台格式是否区分大小写
Polymarket0x 十六进制(Polygon)必须为小写
Hyperliquid0x 十六进制不区分大小写
MeteoraBase58(Solana 公钥)区分大小写

评分系统

Polymarket 钱包评分(0-100)
等级分数含义
精英>= 80历史盈利能力顶尖
聪明60-79持续盈利,具有信号价值
一般40-59业绩喜忧参半
新手< 40新手或亏损交易者

聪明资金阈值:分数 >= 60。愚蠢资金阈值:分数 < 30。

Hyperliquid 聪明评分(0-100)
score = min(log2(trade_count + 1) * 4, 40)             // Activity (max 40)
      + (winning_trades / max(closing_trades, 1)) * 40  // Win rate (max 40)
      + min(if(pnl > 0, log10(pnl + 1) * 4, 0), 20)    // Profitability (max 20)

聪明阈值:分数 >= 85。

Meteora LP 聪明评分(0-100)
win_ratio (0-35 pts) + volume (0-25 pts, log10-scaled) + avg_pnl% (0-30 pts) + experience (0-10 pts)

至少需要 3 个已平仓仓位。

评论

支持 Markdown