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
Transferencias de SOL y SPL hacia o desde una wallet, en todos los tokens. Sala: transfer:wallet:{wallet}. Cada transferencia tiene direction (in o out) relativa a la wallet, y balances lista los cambios de saldo de la wallet en la transacción, incluida la comisión en SOL que pagó. Añade :enriched para obtener metadatos del token, valores en USD e identidades de wallets. Los eventos son provisionales con compromiso 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 exacto. Una transferencia que forma parte de un swap ya emitido en las salas de trades no se vuelve a enviar; lo que queda de un swap (comisiones de plataforma, propinas, pagos) llega con swapTx: true. Consulta la guía de transferencias para combinar el historial con las actualizaciones en vivo.
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
¿Esta página le ayudó?