跳到主要内容

subscribe —— 实时价格

一个池的实时价格 / 市值更新。每当该池的最新成交价变化,服务器就发出 token_update。传 mint 或 pool 二者之一(mint → pool 的查询在服务端完成)。

通道Socket.IO 事件
认证不需要;你套餐的密钥可提高限额
发出token_update
费用免费

支持的 DEX​

价格来自每一个主流 Solana DEX 和发射台上的交易:

PumpFun
PumpFun Mayhem
SWAP
PumpSwap
Meteora
Raydium
Orca
Bonk
StonkFun

Meteora 覆盖 DAMM v2 和 DBC(动态联合曲线);Raydium 覆盖 CPMM 和 AMM v4。每条更新上的 quote 字段告诉你价格以哪个 mint(WSOL 或 USDC)计价。

示例​

import { io } from "socket.io-client";

const socket = io("https://sol.shrine.trade"); // 无需密钥

socket.on("token_update", (u) => {
console.log(`${u.pool} → ${u.price} (mcap ${u.mcap})`);
});

socket.emit("subscribe", { mint: "Gc6rNxGnoQt…pump" }, (ack) => {
console.log("subscribed:", ack); // { ok: true, pool: "...", room: "..." }
});

// 之后要停止(免费):socket.emit("unsubscribe", { pool: "4mBL…" });

响应 —— token_update​

{
"pool": "4mBLRPUyfE7CvxmXiGJx5WA51isanbxpdbdPjFuuBzmY",
"price": 0.000000033,
"mcap": 32.62,
"quote": "So11111111111111111111111111111111111111112",
"priceUSD": 0.0000049,
"mcapUSD": 4893.0,
"time": 1779812627
}
字段含义
price每个基础代币以计价代币计的价格
quote价格所计价的计价侧 mint——WSOL、USDC 或 USD1
mcap以计价代币计的市值(价格 × 总供应量)
priceUSDprice 换算成美元
mcapUSDmcap 换算成美元

对 USDC 和 USD1 计价的池,USD 字段等于 price / mcap(这些计价本身就是美元)。对 WSOL 计价的池,它们用实时 SOL/USD 汇率换算(与 subscribe_sol_price 推送的是同一汇率)。在看到第一个 SOL/USD tick 之前的短暂窗口内,priceUSD / mcapUSD 为 0。

错误​

如果订阅无法创建,ack 回调收到的是一个错误对象而不是 { ok: true }:

{ "error": "not_found", "message": "pool not found" }
error何时
invalid_requestmint 和 pool 都没有提供。
not_found该 mint 没有活跃池,或给定的 pool 对数据平面来说是未知的。
unavailable瞬时后端错误(服务器已经重试过)。可以安全重试——它不是确定的"未找到"。
limit_exceeded这个连接的订阅数已达上限。

如果你不传 ack 回调,同样的负载会改以 subscription_error 事件发出。

试一试​

说明​

  • 免费且无需密钥,和每一个实时流一样——用它做"当前价格"卡片或简单的行情条。
  • 完整的交易细节(钱包、签名、金额)请用 subscribe_trades。
  • K 线请用 subscribe_ohlcv。

LimitsFree 2 socketsLite 5 socketsDeveloper 50 socketsSee plans →