跳到主要内容

subscribe_trades —— 实时交易

该池上执行的每一笔交易,带完整细节(钱包、签名、金额、价格)。服务器发出 trade。传 mint 或 pool 二者之一。

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

示例​

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

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

socket.on("trade", (t) => {
const side = t.is_buy ? "BUY " : "SELL";
console.log(`${side} ${t.token_amount.toFixed(2)} @ ${t.price} by ${t.wallet.slice(0, 4)}…`);
});

socket.emit("subscribe_trades", { pool: "4mBL…" });

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

响应 —— trade​

{
"protocol": "PUMPSWAP",
"pool": "4mBLRPUyfE7CvxmXiGJx5WA51isanbxpdbdPjFuuBzmY",
"mint": "Gc6rNxGnoQt6vCfhNzn5iJnPBu1V38GZfdYERfnXpump",
"signature": "c9asMSPXxiEYC4RQpLBFUAASCL63TXZpPgSPgivDcJxsNoNc7ptrh6DfJy67NS2p7nEQBbVR45ZuPhyBqectR76",
"is_buy": true,
"token_amount": 153285714.285714,
"quote_amount": 5.0,
"price": 0.000000033,
"marketcap": 32.618826,
"wallet": "9AiXyDfy6cKieVPgwyfsNS37HypoS8k7ju2CV3WnyvZG",
"timestamp": 1779812627
}
  • is_buy——交易者收到基础代币(价格上涨)为 true;卖出则为 false。
  • token_amount / quote_amount——人类可读单位(已按精度调整)。
  • timestamp——该交易所在 slot 的链上时间(秒):即 getBlockTime 对该 slot 返回的值,所有发射平台都一样。

错误​

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

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

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

试一试​

说明​

  • 免费且无需密钥——trade 消息从不计费。
  • 我们只为至少有一个在线订阅者的池发布交易,这样洪流保持低成本。
  • 池内的交易顺序得到保留。
  • 只想要价格/市值?用更轻量的 subscribe。

LimitsFree 2 socketsLite 5 socketsDeveloper 50 socketsSee plans →