Messages
{
"type": "join",
"room": "transfer:wallet:BfG7WYmravgBhNdWpGoiFmF8L1duw2vdqdDHiZid2hoJ"
}{
"type": "leave",
"room": "transfer:wallet:BfG7WYmravgBhNdWpGoiFmF8L1duw2vdqdDHiZid2hoJ"
}{
"type": "message",
"room": "transfer:wallet:5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9",
"data": {
"signature": "3sGWwELDWpxMaTWkadG95XK3mYiY2TZw8X6VVG7eZopJ8hGvWt4s2A6KK7ZZMVN7Qujg4WtJcm8dXmwvfnyhZ4NS",
"slot": 462944056,
"timestamp": 1793290384,
"commitment": "processed",
"swapTx": false,
"transfers": [
{
"id": "3sGWwELDWpxMaTWkadG95XK3mYiY2TZw8X6VVG7eZopJ8hGvWt4s2A6KK7ZZMVN7Qujg4WtJcm8dXmwvfnyhZ4NS:3:-1",
"signature": "3sGWwELDWpxMaTWkadG95XK3mYiY2TZw8X6VVG7eZopJ8hGvWt4s2A6KK7ZZMVN7Qujg4WtJcm8dXmwvfnyhZ4NS",
"slot": 462944056,
"timestamp": 1793290384,
"commitment": "processed",
"instruction": 3,
"inner": -1,
"type": "spl",
"program": "token-2022",
"mint": "pumpCmXqMfrsAkQ5r49WcJnRayYRqmXz6ae8H7H9Dfn",
"decimals": 6,
"amount": "18404223000000",
"uiAmount": "18404223",
"from": {
"address": "CEbJzsx15hLQkHD6Tsp5vk58rcnMtvbgLReGLzjiy4uH",
"owner": "5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9",
"postBalance": "1151345685569531"
},
"to": {
"address": "F5zXibinJCcNKY8BJhYC6iX5sKCKkaaSFV3MJgbVz25M",
"owner": "G56HkiSheuhfjnTPGjGC1nNddu7NBtTqedueYKCrEHW2",
"postBalance": "18404223000000"
},
"swapTx": false,
"direction": "out"
}
],
"balances": [
{
"owner": "5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9",
"account": "CEbJzsx15hLQkHD6Tsp5vk58rcnMtvbgLReGLzjiy4uH",
"mint": "pumpCmXqMfrsAkQ5r49WcJnRayYRqmXz6ae8H7H9Dfn",
"program": "token-2022",
"decimals": 6,
"pre": "1169749908569531",
"post": "1151345685569531",
"change": "-18404223000000",
"cause": "transfer"
},
{
"owner": "5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9",
"account": "5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9",
"mint": "So11111111111111111111111111111111111111112",
"program": "system",
"decimals": 9,
"pre": "1029258892726041",
"post": "1029258892711041",
"change": "-15000",
"cause": "other",
"fee": "15000"
}
]
}
}Websockets
Wallet transfers
某个钱包在所有代币上的 SOL 和 SPL 转入与转出。房间:transfer:wallet:{wallet}。每笔转账带有相对于该钱包的 direction(in 或 out),balances 列出该钱包在此交易中的余额变化,包括其支付的 SOL 手续费。添加 :enriched 获取代币元数据、美元价值和钱包身份。事件处于 processed 状态,尚未确认。
WSS
/
WebSocket example
const wallet = "BfG7WYmravgBhNdWpGoiFmF8L1duw2vdqdDHiZid2hoJ";
const room = `transfer:wallet:${wallet}`; // or `${...}:enriched` for token metadata, USD values and wallet identities
const ws = new WebSocket("wss://datastream.solanatracker.io/YOUR_API_KEY");
ws.addEventListener("open", () => {
ws.send(JSON.stringify({ type: "join", room }));
});
ws.addEventListener("message", (event) => {
const msg = JSON.parse(event.data);
if (msg.type === "ping") return ws.send(JSON.stringify({ type: "pong" }));
if (msg.type !== "message") return;
const { signature, transfers, balances } = msg.data;
for (const t of transfers) {
console.log(signature, t.direction ?? "", t.uiAmount, t.mint, t.from.owner, "->", t.to.owner);
}
});
uiAmount。已在交易房间中推送的兑换中的转账不会再次发送;兑换的剩余部分(平台手续费、小费、付款)会带 swapTx: true 推送。历史加实时更新的用法请参阅转账指南。
SDK Example
import { Datastream } from '@solana-tracker/data-api';
const dataStream = new Datastream({
wsUrl: 'wss://datastream.solanatracker.io/YOUR_API_KEY',
});
dataStream.on('error', console.error);
await dataStream.connect();
const sub = dataStream.subscribe.transfers.wallet('FbMxP3GVq8TQ36nbYgx4NP9iygMpwAwFWJwW81ioCiSF', { enriched: true }).on((data) => {
console.log(data);
});
// sub.unsubscribe();
Messages
{
"type": "join",
"room": "transfer:wallet:BfG7WYmravgBhNdWpGoiFmF8L1duw2vdqdDHiZid2hoJ"
}{
"type": "leave",
"room": "transfer:wallet:BfG7WYmravgBhNdWpGoiFmF8L1duw2vdqdDHiZid2hoJ"
}{
"type": "message",
"room": "transfer:wallet:5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9",
"data": {
"signature": "3sGWwELDWpxMaTWkadG95XK3mYiY2TZw8X6VVG7eZopJ8hGvWt4s2A6KK7ZZMVN7Qujg4WtJcm8dXmwvfnyhZ4NS",
"slot": 462944056,
"timestamp": 1793290384,
"commitment": "processed",
"swapTx": false,
"transfers": [
{
"id": "3sGWwELDWpxMaTWkadG95XK3mYiY2TZw8X6VVG7eZopJ8hGvWt4s2A6KK7ZZMVN7Qujg4WtJcm8dXmwvfnyhZ4NS:3:-1",
"signature": "3sGWwELDWpxMaTWkadG95XK3mYiY2TZw8X6VVG7eZopJ8hGvWt4s2A6KK7ZZMVN7Qujg4WtJcm8dXmwvfnyhZ4NS",
"slot": 462944056,
"timestamp": 1793290384,
"commitment": "processed",
"instruction": 3,
"inner": -1,
"type": "spl",
"program": "token-2022",
"mint": "pumpCmXqMfrsAkQ5r49WcJnRayYRqmXz6ae8H7H9Dfn",
"decimals": 6,
"amount": "18404223000000",
"uiAmount": "18404223",
"from": {
"address": "CEbJzsx15hLQkHD6Tsp5vk58rcnMtvbgLReGLzjiy4uH",
"owner": "5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9",
"postBalance": "1151345685569531"
},
"to": {
"address": "F5zXibinJCcNKY8BJhYC6iX5sKCKkaaSFV3MJgbVz25M",
"owner": "G56HkiSheuhfjnTPGjGC1nNddu7NBtTqedueYKCrEHW2",
"postBalance": "18404223000000"
},
"swapTx": false,
"direction": "out"
}
],
"balances": [
{
"owner": "5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9",
"account": "CEbJzsx15hLQkHD6Tsp5vk58rcnMtvbgLReGLzjiy4uH",
"mint": "pumpCmXqMfrsAkQ5r49WcJnRayYRqmXz6ae8H7H9Dfn",
"program": "token-2022",
"decimals": 6,
"pre": "1169749908569531",
"post": "1151345685569531",
"change": "-18404223000000",
"cause": "transfer"
},
{
"owner": "5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9",
"account": "5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9",
"mint": "So11111111111111111111111111111111111111112",
"program": "system",
"decimals": 9,
"pre": "1029258892726041",
"post": "1029258892711041",
"change": "-15000",
"cause": "other",
"fee": "15000"
}
]
}
}apiKey
type:httpApiKey
API key for authentication. Include your Datastream key in the connection URL: wss://datastream.solanatracker.io/{DATASTREAM_KEY}
Subscribe to wallet transfers
type:object
Unsubscribe from wallet transfers
type:object
Wallet transfers notification
type:object
此页面对您有帮助吗?