Realtime · Socket.IO
Wallets & blockchain
Max 50 wallet rooms per socket.
Subscribes
javascript
socket.emit("wallet:subscribe:project", { projectId: "6958511e8397f2dfa88090d8" })
socket.emit("wallet:subscribe:address", { addressId: "64a1b2c3d4e5f6789012345" })
socket.emit("wallet:subscribe:chain", { chain: "ethereum" })
socket.emit("wallet:subscribe:currency", { currency: "USDT" })socket.emit("wallet:subscribe:project", { projectId: "6958511e8397f2dfa88090d8" })
socket.emit("wallet:subscribe:address", { addressId: "64a1b2c3d4e5f6789012345" })
socket.emit("wallet:subscribe:chain", { chain: "ethereum" })
socket.emit("wallet:subscribe:currency", { currency: "USDT" })Ack example: { "projectId": "...", "room": "wallet:project:6958511e8397f2dfa88090d8" }
Server events (indexer)
| Event | Use |
|---|---|
wallet:balance:updated | addressId, address, chain, previousBalance, newBalance, balance, project, org |
wallet:tx:detected | Incoming / detected |
wallet:tx:broadcast | Outgoing broadcast |
wallet:tx:confirmed | Confirmed on-chain |
wallet:tx:failed | Failure |
Example wallet:balance:updated
json
{
"addressId": "64a1b2c3d4e5f6789012345",
"address": "0xabc...",
"chain": "ethereum",
"project": "6958511e8397f2dfa88090d8",
"org": "69566c4ef0bdc3ae3e81b10a",
"previousBalance": "0",
"newBalance": "1.5",
"balance": "1.5",
"timestamp": "2026-03-18T10:00:00.000Z"
}{
"addressId": "64a1b2c3d4e5f6789012345",
"address": "0xabc...",
"chain": "ethereum",
"project": "6958511e8397f2dfa88090d8",
"org": "69566c4ef0bdc3ae3e81b10a",
"previousBalance": "0",
"newBalance": "1.5",
"balance": "1.5",
"timestamp": "2026-03-18T10:00:00.000Z"
}Events may be emitted to multiple rooms (address, project, org, chain, currency).