WebSocket Reference
user:transactions
Live deposit and withdrawal transaction status updates
The user:transactions channel broadcasts transaction status changes for the authenticated user. Every deposit confirmation, withdrawal completion, Solana rebalance, and transaction failure is delivered in real time. Updates originate from the deposit confirmation processor, withdrawal confirmation processor, and account service.
Subscribe
{ "event": "subscribe", "data": { "channel": "user:transactions" } }Unsubscribe
{ "event": "unsubscribe", "data": { "channel": "user:transactions" } }Server Broadcast
When a transaction status changes, the server emits a data event:
{
"channel": "user:transactions",
"data": {
"transactionId": "tx_abc123def456",
"status": "confirmed",
"txHash": "5KLj9...xY2Z"
}
}Solana Rebalance Transaction
Solana balance rebalances include a kind field:
{
"channel": "user:transactions",
"data": {
"transactionId": "sol-rebalance:5KLj9abc...def8xY2Z",
"status": "confirmed",
"txHash": "5KLj9abc...def8xY2Z",
"kind": "sol-rebalance"
}
}Payload Schema
| Field | Type | Description |
|---|---|---|
transactionId | string | Unique transaction identifier |
status | string | Transaction status: confirming, confirmed, completed, or failed |
txHash | string? | On-chain transaction hash or signature (present on completed, confirmed, failed) |
kind | string? | Transaction kind discriminator. Present only for sol-rebalance transactions |
Status Values
| Status | Description |
|---|---|
confirming | Transaction submitted to the blockchain, awaiting confirmations |
confirmed | Transaction confirmed on-chain (deposits, rebalances) |
completed | Withdrawal fully processed and complete |
failed | Transaction failed on-chain or was rejected |
Notes
- This channel requires authentication — only the authenticated user's transactions are received
- Transaction updates come from multiple sources: deposit confirmation processor, withdrawal confirmation processor, account service, and Solana rebalance processor
- The
txHashfield is present for on-chain statuses (confirmed,completed,failed) and absent duringconfirming - The
kindfield is only present for Solana rebalance transactions (sol-rebalance) - Status terminology differs by source: deposits use
confirmed/failed, withdrawals usecompleted/failed, rebalances useconfirmed