跳到文档正文

FOMO 观点与代币认证

在 FOMO 标签页监控用户和代币,通过现有 WebSocket 接收观点和观察到的代币认证。

运行五分钟快速开始
在聊天中打开
按产品代码校对:2026年9月2日

选择用户和代币

  • Minimum 包含 10 个 FOMO 用户和 10 个 FOMO 代币;Pro、Scale 和 Ultra Speed 包含 100 个用户和 100 个代币。这两项额度各自独立,也不占用 X 监控额度。
  • 监控用户可接收其发布的观点。监控代币可接收任何作者对该代币的观点,以及首次观察到的认证。
  • 在控制台的 FOMO 标签页管理两个列表。FOMO 事件仅实时发送,History 不提供回放。

通过 REST 管理列表

使用 Bearer API key 认证请求 /api/callouts。管理时将 platform 设为 fomo_userfomo_coin;两者的事件都使用 d.platform: fomo

  • GET 返回 callerspending 和分平台的 limits。请读取 limits 获取当前额度;没有有效且符合条件的套餐时,各项均为 0。旧的顶层 limit 始终为 10
  • PUT 接受 { platform, input, label? }。用户可用 FOMO 用户名或个人主页 URL。代币请用 FOMO 代币 URL 或 network:address;单独的合约地址必须能确定唯一网络。响应包含 caller;修改后重新获取列表。
  • DELETE 接受 { platform, callerId } 移除监控项,或 { platform, intentId } 取消待处理项。使用 GET 返回的标识符;成功时返回 removed: true

account/thesis

读取 d.authord.thesisd.coind.platformfomo。持仓和代币元数据在可用时提供。使用 thesis.id 标识观点,使用 (coin.networkId, coin.address) 标识代币。

FOMO 事件类型

typescript
type FomoCoin = {
  address: string;
  networkId: number;
  name?: string;
  symbol?: string;
  image?: string;
  metadataObservedAt?: number;
  priceUsd?: string;
  marketCapUsd?: string;
  liquidityUsd?: string;
  volume24hUsd?: string;
  change24hPercent?: string;
};
type FomoThesisEvent = {
  platform: 'fomo';
  coin: FomoCoin;
  author: {
    id: string;
    username: string;
    verified: boolean;
    displayName?: string;
    avatar?: string;
    twitter?: string;
  };
  thesis: {
    id: string;
    text: string;
    createdAt: number;
    likes: number;
    replies: number;
    tradeId?: string;
    parentId?: string;
    segments?: Array<{ text: string; link?: string }>;
  };
  position?: {
    tokenAmount?: string;
    usdValue?: string;
    unrealizedPnlUsd?: string;
    realizedPnlUsd?: string;
    unrealizedPnlPercent?: string;
    realizedPnlPercent?: string;
    closedAt?: number;
  };
  observedAt?: number;
  receivedAt?: number;
};
type FomoTokenVerifiedEvent = {
  platform: 'fomo';
  coin: FomoCoin;
  observedAt: number;
  receivedAt?: number;
};

观点事件

json
{
  "v": 1,
  "t": "account",
  "op": "thesis",
  "id": "fomo:thesis:thesis-1",
  "ts": 1772000001060,
  "d": {
    "platform": "fomo",
    "coin": {
      "address": "So11111111111111111111111111111111111111112",
      "networkId": 1399811149,
      "name": "Example Token",
      "symbol": "EXM",
      "image": "https://cdn.example/token.png",
      "metadataObservedAt": 1772000000900,
      "priceUsd": "0.00000123456789012345",
      "marketCapUsd": "123456.7890123456789"
    },
    "author": {
      "id": "user-1",
      "username": "SignalDesk",
      "displayName": "Signal Desk",
      "avatar": "https://cdn.example/avatar.png",
      "twitter": "signaldesk",
      "verified": true
    },
    "thesis": {
      "id": "thesis-1",
      "text": "Watching liquidity",
      "createdAt": 1772000001000,
      "likes": 2,
      "replies": 1,
      "tradeId": "trade-1",
      "segments": [
        {
          "text": "Watching liquidity",
          "link": "https://example.com/thesis"
        }
      ]
    },
    "position": {
      "tokenAmount": "549351.552212985712345",
      "usdValue": "12.34567890123456789",
      "realizedPnlUsd": "0"
    },
    "receivedAt": 1772000001050
  }
}

account/token_verified

此事件仅包含代币信息,表示 TweetStream 首次观察到被监控代币的认证,不包含作者、观点或持仓。observedAt 是观察时间,不是认证发生的时间。认证不代表安全保证或投资建议。

观察到代币认证

json
{
  "v": 1,
  "t": "account",
  "op": "token_verified",
  "id": "fomo:verified:1399811149:coin:1772000001000",
  "ts": 1772000001060,
  "d": {
    "platform": "fomo",
    "coin": {
      "address": "So11111111111111111111111111111111111111112",
      "networkId": 1399811149,
      "symbol": "EXM"
    },
    "observedAt": 1772000001000,
    "receivedAt": 1772000001050
  }
}

读取时间戳和市场数值

  • 时间戳使用 Unix 毫秒。thesis.createdAt 是观点创建时间;可选的 receivedAt 是 TweetStream 接收时间;信封 ts 是准备发送的时间。
  • 代币市场数值和持仓金额使用十进制字符串。代币市场数值附带 metadataObservedAt,表示该次观察的数据,不保证是当前报价。
  • 按信封 id 幂等处理完全相同的重放。可选字段缺失表示不可用,不代表零。公布的 X 延迟数据不适用于 FOMO。