> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arcus.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Account transfer updates

> > **Endpoint:** `wss://api.arcus.xyz/v1/ws` — one socket multiplexes every channel and RPC request. Click **Connect**, then send the example subscribe message below to start receiving data.

Account transfer events (deposits, withdrawals, transfers, referral claims) for an account. Snapshot on subscribe contains the most recent events newest-first (`isSnapshot: true`); each streaming update carries a single event (`isSnapshot: false`) as it is applied by the engine.

Amounts and balances are human-readable decimal strings in quote currency. `globalSequenceId` gives strict ordering across all engine events. The equivalent REST read is `GET /v1/accountTransferUpdates`.




## AsyncAPI

````yaml api-reference/asyncapi.yaml accountTransferUpdates
id: accountTransferUpdates
title: Account transfer updates
description: >
  > **Endpoint:** `wss://api.arcus.xyz/v1/ws` — one socket multiplexes every
  channel and RPC request. Click **Connect**, then send the example subscribe
  message below to start receiving data.


  Account transfer events (deposits, withdrawals, transfers, referral claims)
  for an account. Snapshot on subscribe contains the most recent events
  newest-first (`isSnapshot: true`); each streaming update carries a single
  event (`isSnapshot: false`) as it is applied by the engine.


  Amounts and balances are human-readable decimal strings in quote currency.
  `globalSequenceId` gives strict ordering across all engine events. The
  equivalent REST read is `GET /v1/accountTransferUpdates`.
servers:
  - id: mainnet
    protocol: wss
    host: api.arcus.xyz
    bindings: []
    variables: []
  - id: testnet
    protocol: wss
    host: api.testnet.arcus.xyz
    bindings: []
    variables: []
address: /v1/ws?channel=accountTransferUpdates
parameters: []
bindings: []
operations:
  - &ref_3
    id: subscribeAccountTransferUpdates
    title: Subscribe account transfer updates
    type: receive
    messages:
      - &ref_5
        id: subscribe
        contentType: application/json
        payload:
          - name: Subscribe to an account channel
            type: object
            properties:
              - name: type
                type: string
                description: subscribe
                required: true
              - name: channel
                type: string
                enumValues:
                  - account
                  - positions
                  - userFills
                  - orders
                  - funding
                  - accountAttributeUpdates
                required: true
              - name: id
                type: string
                description: Master Ethereum address (0x-prefixed) or internal account id.
                required: true
              - name: snapshot
                type: boolean
                description: >-
                  When false, suppress the initial state snapshot on subscribe
                  and stream only live updates (e.g. userFills, orders).
                  Defaults to true.
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          required:
            - type
            - channel
            - id
          properties:
            type:
              type: string
              const: subscribe
              x-parser-schema-id: <anonymous-schema-129>
            channel:
              type: string
              enum:
                - account
                - positions
                - userFills
                - orders
                - funding
                - accountAttributeUpdates
              x-parser-schema-id: <anonymous-schema-130>
            id:
              type: string
              description: Master Ethereum address (0x-prefixed) or internal account id.
              example: 0xAbCd...1234
              x-parser-schema-id: <anonymous-schema-131>
            snapshot:
              type: boolean
              description: >-
                When false, suppress the initial state snapshot on subscribe and
                stream only live updates (e.g. userFills, orders). Defaults to
                true.
              default: true
              x-parser-schema-id: <anonymous-schema-132>
          x-parser-schema-id: SubscribeByAddressPayload
        title: Subscribe to an account channel
        example: |-
          {
            "type": "subscribe",
            "channel": "account",
            "id": "0xAbCd...1234"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: subscribe
    bindings: []
    extensions: &ref_2
      - id: x-parser-unique-object-id
        value: accountTransferUpdates
  - &ref_4
    id: receiveAccountTransferUpdates
    title: Receive account transfer updates
    type: send
    messages:
      - &ref_6
        id: snapshot
        contentType: application/json
        payload:
          - allOf: &ref_0
              - type: object
                description: Common envelope for all server-pushed channel messages.
                required:
                  - type
                  - channel
                properties:
                  type:
                    type: string
                    enum:
                      - subscribed
                      - channel_data
                    description: >-
                      `subscribed` for the initial snapshot; `channel_data` for
                      updates.
                    x-parser-schema-id: <anonymous-schema-7>
                  channel:
                    type: string
                    description: Channel name.
                    x-parser-schema-id: <anonymous-schema-8>
                  id:
                    type: string
                    description: >-
                      Channel id (market or address). Absent for global
                      channels.
                    x-parser-schema-id: <anonymous-schema-9>
                  contents:
                    type: object
                    additionalProperties: true
                    description: Channel-specific payload. Schema varies by channel.
                    properties: {}
                    x-parser-schema-id: <anonymous-schema-10>
                x-parser-schema-id: ChannelDataEnvelope
              - type: object
                properties:
                  contents:
                    type: object
                    required:
                      - isSnapshot
                      - accountTransferEvents
                    properties:
                      isSnapshot:
                        type: boolean
                        description: >-
                          True for the subscribe-time snapshot; false for
                          streaming updates.
                        x-parser-schema-id: <anonymous-schema-174>
                      accountTransferEvents:
                        type: array
                        description: >-
                          Newest-first in snapshots; exactly one event in
                          streaming updates.
                        items:
                          type: object
                          description: >
                            One account transfer event. Same shape as
                            `AccountTransferEvent` in `openapi.yaml`.
                          required:
                            - type
                            - eventId
                            - amount
                            - netQuoteBalance
                            - globalSequenceId
                            - accountSequenceNum
                          properties:
                            type:
                              type: string
                              enum:
                                - DEPOSIT
                                - WITHDRAWAL
                                - INTERNAL_TRANSFER
                                - SELF_ACCOUNT_TRANSFER
                                - REFERRAL_CLAIM
                              description: Kind of account transfer event.
                              x-parser-schema-id: <anonymous-schema-176>
                            eventId:
                              type: string
                              description: deposit_id, withdrawal_id, or transfer_id.
                              example: dep-abc123
                              x-parser-schema-id: <anonymous-schema-177>
                            amount:
                              type: string
                              description: >
                                Credited (deposit / transfer-in) or debited
                                (withdrawal / transfer-out) quote-currency
                                amount as a decimal string.
                              example: '100.00'
                              x-parser-schema-id: <anonymous-schema-178>
                            netQuoteBalance:
                              type: string
                              description: >-
                                Perspective account's post-event aggregate cash
                                balance as a decimal string.
                              example: '1234.56'
                              x-parser-schema-id: <anonymous-schema-179>
                            globalSequenceId:
                              type: integer
                              format: int64
                              description: Strict ordering across all engine events.
                              example: 9600000001
                              x-parser-schema-id: <anonymous-schema-180>
                            accountSequenceNum:
                              type: integer
                              format: int64
                              description: >
                                Post-op per-account sequence number for the
                                perspective account. Matches
                                `AccountUpdate.sequenceNum`.
                              example: 42
                              x-parser-schema-id: <anonymous-schema-181>
                            sourceAccountId:
                              type: string
                              description: >-
                                Sender's wire account ID. Populated only for
                                transfer events.
                              x-parser-schema-id: <anonymous-schema-182>
                            destinationAccountId:
                              type: string
                              description: >-
                                Recipient's wire account ID. Populated only for
                                transfer events.
                              x-parser-schema-id: <anonymous-schema-183>
                          x-parser-schema-id: AccountTransferEvent
                        x-parser-schema-id: <anonymous-schema-175>
                    x-parser-schema-id: <anonymous-schema-173>
                x-parser-schema-id: <anonymous-schema-172>
            x-parser-schema-id: AccountTransferUpdatesPayload
            name: Account Transfer Updates Snapshot
            description: >
              Recent account transfer events for the account, newest-first, sent
              once on subscribe (`isSnapshot: true`). `accountTransferEvents` is
              empty when the account has no recent events.
        headers: []
        jsonPayloadSchema: &ref_1
          allOf: *ref_0
          x-parser-schema-id: AccountTransferUpdatesPayload
        title: Account Transfer Updates Snapshot
        description: >
          Recent account transfer events for the account, newest-first, sent
          once on subscribe (`isSnapshot: true`). `accountTransferEvents` is
          empty when the account has no recent events.
        example: |-
          {
            "type": "subscribed",
            "channel": "accountTransferUpdates",
            "id": "0xAbCd...1234",
            "contents": {
              "isSnapshot": true,
              "accountTransferEvents": [
                {
                  "type": "DEPOSIT",
                  "eventId": "dep-abc123",
                  "amount": "100.00",
                  "netQuoteBalance": "1234.56",
                  "globalSequenceId": 9600000001,
                  "accountSequenceNum": 42
                }
              ]
            }
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: snapshot
      - &ref_7
        id: update
        contentType: application/json
        payload:
          - allOf: *ref_0
            x-parser-schema-id: AccountTransferUpdatesPayload
            name: Account Transfer Update
            description: >
              A single applied transfer event (`isSnapshot: false`, one entry in
              `accountTransferEvents`), emitted as each deposit / withdrawal /
              transfer is applied by the engine.
        headers: []
        jsonPayloadSchema: *ref_1
        title: Account Transfer Update
        description: >
          A single applied transfer event (`isSnapshot: false`, one entry in
          `accountTransferEvents`), emitted as each deposit / withdrawal /
          transfer is applied by the engine.
        example: |-
          {
            "type": "channel_data",
            "channel": "accountTransferUpdates",
            "id": "0xAbCd...1234",
            "contents": {
              "isSnapshot": false,
              "accountTransferEvents": [
                {
                  "type": "WITHDRAWAL",
                  "eventId": "wdl-xyz789",
                  "amount": "250.00",
                  "netQuoteBalance": "984.56",
                  "globalSequenceId": 9600000002,
                  "accountSequenceNum": 43
                }
              ]
            }
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: update
    bindings: []
    extensions: *ref_2
sendOperations:
  - *ref_3
receiveOperations:
  - *ref_4
sendMessages:
  - *ref_5
receiveMessages:
  - *ref_6
  - *ref_7
extensions:
  - id: x-parser-unique-object-id
    value: accountTransferUpdates
securitySchemes: []

````