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

# Events

> Subscribe to event types: trade, deploy, migration, parsed, analysis,
alert, funding, holder_edge, dex_paid, perp_fill, perp_liquidation,
perp_position_update, perp_order, and (enterprise tier) raw.




## AsyncAPI

````yaml asyncapi-spec/websockets.yaml events
id: events
title: Events
description: |
  Subscribe to event types: trade, deploy, migration, parsed, analysis,
  alert, funding, holder_edge, dex_paid, perp_fill, perp_liquidation,
  perp_position_update, perp_order, and (enterprise tier) raw.
servers:
  - id: production
    protocol: wss
    host: ws.raze.bot
    bindings: []
    variables: []
address: /ws/sol
parameters: []
bindings:
  - protocol: ws
    version: 0.1.0
    value:
      query:
        type: object
        properties:
          apiKey:
            type: string
            description: API key for authentication (format sk_xxx)
        required:
          - apiKey
    schemaProperties:
      - name: query
        type: object
        required: false
        properties:
          - name: apiKey
            type: string
            description: API key for authentication (format sk_xxx)
            required: true
operations:
  - &ref_1
    id: subscribeEvents
    title: Subscribe to events
    description: >-
      Subscribe to event types (deploy, trade, migration, parsed, analysis,
      alert)
    type: receive
    messages:
      - &ref_13
        id: subscribeMessage
        payload:
          - name: Subscribe to Events
            description: Subscribe to event types
            type: object
            properties:
              - name: action
                type: string
                enumValues:
                  - subscribe
                required: true
              - name: subscriptions
                type: array
                description: Array of event types to subscribe to
                required: false
                properties:
                  - name: item
                    type: string
                    enumValues:
                      - trade
                      - deploy
                      - migration
                      - parsed
                      - analysis
                      - alert
                      - funding
                      - holder_edge
                      - dex_paid
                      - perp_fill
                      - perp_liquidation
                      - perp_position_update
                      - perp_order
                      - raw
                    required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: Subscribe to event types
          properties:
            action:
              type: string
              enum:
                - subscribe
              x-parser-schema-id: <anonymous-schema-1>
            subscriptions:
              type: array
              items:
                type: string
                enum:
                  - trade
                  - deploy
                  - migration
                  - parsed
                  - analysis
                  - alert
                  - funding
                  - holder_edge
                  - dex_paid
                  - perp_fill
                  - perp_liquidation
                  - perp_position_update
                  - perp_order
                  - raw
                x-parser-schema-id: <anonymous-schema-3>
              description: Array of event types to subscribe to
              x-parser-schema-id: <anonymous-schema-2>
          required:
            - action
          x-parser-schema-id: EventSubscribeMessage
        title: Subscribe to Events
        description: Subscribe to event types
        example: |-
          {
            "action": "<string>",
            "subscriptions": {
              "item": "<string>"
            }
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: subscribeMessage
    bindings: []
    extensions: &ref_0
      - id: x-parser-unique-object-id
        value: events
  - &ref_2
    id: unsubscribeEvents
    title: Unsubscribe from events
    description: Unsubscribe from event types
    type: receive
    messages:
      - &ref_14
        id: unsubscribeMessage
        payload:
          - name: Unsubscribe from Events
            description: Unsubscribe from event types
            type: object
            properties:
              - name: action
                type: string
                enumValues:
                  - unsubscribe
                required: true
              - name: subscriptions
                type: array
                required: false
                properties:
                  - name: item
                    type: string
                    enumValues:
                      - trade
                      - deploy
                      - migration
                      - parsed
                      - analysis
                      - alert
                      - funding
                      - holder_edge
                      - dex_paid
                      - perp_fill
                      - perp_liquidation
                      - perp_position_update
                      - perp_order
                      - raw
                    required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: Unsubscribe from event types
          properties:
            action:
              type: string
              enum:
                - unsubscribe
              x-parser-schema-id: <anonymous-schema-4>
            subscriptions:
              type: array
              items:
                type: string
                enum:
                  - trade
                  - deploy
                  - migration
                  - parsed
                  - analysis
                  - alert
                  - funding
                  - holder_edge
                  - dex_paid
                  - perp_fill
                  - perp_liquidation
                  - perp_position_update
                  - perp_order
                  - raw
                x-parser-schema-id: <anonymous-schema-6>
              x-parser-schema-id: <anonymous-schema-5>
          required:
            - action
          x-parser-schema-id: EventUnsubscribeMessage
        title: Unsubscribe from Events
        description: Unsubscribe from event types
        example: |-
          {
            "action": "<string>",
            "subscriptions": {
              "item": "<string>"
            }
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: unsubscribeMessage
    bindings: []
    extensions: *ref_0
  - &ref_3
    id: ping
    title: Ping server
    description: Send ping to keep connection alive
    type: receive
    messages:
      - &ref_15
        id: pingMessage
        payload:
          - name: Ping Message
            description: Ping the server to keep connection alive
            type: object
            properties:
              - name: action
                type: string
                enumValues:
                  - ping
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          description: Ping message to keep connection alive
          properties:
            action:
              type: string
              enum:
                - ping
              x-parser-schema-id: <anonymous-schema-12>
          required:
            - action
          x-parser-schema-id: PingMessage
        title: Ping Message
        description: Ping the server to keep connection alive
        example: |-
          {
            "action": "<string>"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: pingMessage
    bindings: []
    extensions: *ref_0
  - &ref_4
    id: receiveWelcome
    title: Receive welcome message
    description: Initial message received upon successful connection
    type: send
    messages:
      - &ref_16
        id: welcomeMessage
        payload:
          - name: Welcome Message
            description: Initial message sent upon successful connection
            type: object
            properties:
              - name: type
                type: string
                enumValues:
                  - welcome
                required: false
              - name: message
                type: string
                required: false
              - name: availableSubscriptions
                type: array
                description: >
                  Event types advertised in the welcome frame. `raw` is present
                  only

                  for enterprise tier. Note: `funding`, `holder_edge`, and
                  `dex_paid`

                  events can also be subscribed to but are not listed here.
                required: false
                properties:
                  - name: item
                    type: string
                    enumValues:
                      - deploy
                      - trade
                      - migration
                      - parsed
                      - analysis
                      - alert
                      - perp_fill
                      - perp_liquidation
                      - perp_position_update
                      - perp_order
                      - raw
                    required: false
              - name: subscriptionTypes
                type: object
                description: >-
                  Documentation of the available subscription scopes (mints /
                  signers / markets / events).
                required: false
                properties:
                  - name: mints
                    type: string
                    required: false
                  - name: signers
                    type: string
                    required: false
                  - name: markets
                    type: string
                    required: false
                  - name: events
                    type: string
                    required: false
              - name: tier
                type: string
                description: >-
                  Tier of the API key — drives feature gating (e.g. `raw`
                  events).
                required: false
              - name: authenticated
                type: boolean
                required: false
              - name: timestamp
                type: string
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: >-
            Welcome message sent upon successful connection. The
            `availableSubscriptions` array reflects what the server actually
            advertises in the welcome frame — `raw` is enterprise-only.
          properties:
            type:
              type: string
              enum:
                - welcome
              x-parser-schema-id: <anonymous-schema-13>
            message:
              type: string
              example: Connected to Raze Streaming WebSocket server
              x-parser-schema-id: <anonymous-schema-14>
            availableSubscriptions:
              type: array
              items:
                type: string
                enum:
                  - deploy
                  - trade
                  - migration
                  - parsed
                  - analysis
                  - alert
                  - perp_fill
                  - perp_liquidation
                  - perp_position_update
                  - perp_order
                  - raw
                x-parser-schema-id: <anonymous-schema-16>
              description: >
                Event types advertised in the welcome frame. `raw` is present
                only

                for enterprise tier. Note: `funding`, `holder_edge`, and
                `dex_paid`

                events can also be subscribed to but are not listed here.
              x-parser-schema-id: <anonymous-schema-15>
            subscriptionTypes:
              type: object
              description: >-
                Documentation of the available subscription scopes (mints /
                signers / markets / events).
              properties:
                mints:
                  type: string
                  x-parser-schema-id: <anonymous-schema-18>
                signers:
                  type: string
                  x-parser-schema-id: <anonymous-schema-19>
                markets:
                  type: string
                  x-parser-schema-id: <anonymous-schema-20>
                events:
                  type: string
                  x-parser-schema-id: <anonymous-schema-21>
              x-parser-schema-id: <anonymous-schema-17>
            tier:
              type: string
              description: Tier of the API key — drives feature gating (e.g. `raw` events).
              x-parser-schema-id: <anonymous-schema-22>
            authenticated:
              type: boolean
              x-parser-schema-id: <anonymous-schema-23>
            timestamp:
              type: string
              format: date-time
              x-parser-schema-id: <anonymous-schema-24>
          x-parser-schema-id: WelcomeMessage
        title: Welcome Message
        description: Initial message sent upon successful connection
        example: |-
          {
            "type": "<string>",
            "message": "<string>",
            "availableSubscriptions": {
              "item": "<string>"
            },
            "subscriptionTypes": {
              "mints": "<string>",
              "signers": "<string>",
              "markets": "<string>",
              "events": "<string>"
            },
            "tier": "<string>",
            "authenticated": true,
            "timestamp": "<string>"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: welcomeMessage
    bindings: []
    extensions: *ref_0
  - &ref_5
    id: receiveDeploys
    title: Receive deploy events
    description: Receive token deployment events
    type: send
    messages:
      - &ref_17
        id: deployMessage
        payload:
          - name: Deploy Event
            description: Token deployment event data
            type: object
            properties:
              - name: type
                type: string
                enumValues:
                  - deploy
                required: false
              - name: data
                type: object
                required: false
                properties:
                  - name: platform
                    type: string
                    required: false
                  - name: mint
                    type: string
                    required: false
                  - name: signer
                    type: string
                    required: false
                  - name: name
                    type: string
                    required: false
                  - name: symbol
                    type: string
                    required: false
                  - name: uri
                    type: string
                    required: false
                  - name: slot
                    type: integer
                    required: false
              - name: timestamp
                type: string
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: Token deployment event
          properties:
            type:
              type: string
              enum:
                - deploy
              x-parser-schema-id: <anonymous-schema-53>
            data:
              type: object
              properties:
                platform:
                  type: string
                  x-parser-schema-id: <anonymous-schema-55>
                mint:
                  type: string
                  x-parser-schema-id: <anonymous-schema-56>
                signer:
                  type: string
                  x-parser-schema-id: <anonymous-schema-57>
                name:
                  type: string
                  x-parser-schema-id: <anonymous-schema-58>
                symbol:
                  type: string
                  x-parser-schema-id: <anonymous-schema-59>
                uri:
                  type: string
                  x-parser-schema-id: <anonymous-schema-60>
                slot:
                  type: integer
                  x-parser-schema-id: <anonymous-schema-61>
              x-parser-schema-id: <anonymous-schema-54>
            timestamp:
              type: string
              format: date-time
              x-parser-schema-id: <anonymous-schema-62>
          x-parser-schema-id: DeployMessage
        title: Deploy Event
        description: Token deployment event data
        example: |-
          {
            "type": "<string>",
            "data": {
              "platform": "<string>",
              "mint": "<string>",
              "signer": "<string>",
              "name": "<string>",
              "symbol": "<string>",
              "uri": "<string>",
              "slot": 123
            },
            "timestamp": "<string>"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: deployMessage
    bindings: []
    extensions: *ref_0
  - &ref_6
    id: receiveMigrations
    title: Receive migration events
    description: Receive token migration events
    type: send
    messages:
      - &ref_18
        id: migrationMessage
        payload:
          - name: Migration Event
            description: Token migration event data
            type: object
            properties:
              - name: type
                type: string
                enumValues:
                  - migration
                required: false
              - name: data
                type: object
                required: false
                properties:
                  - name: platform
                    type: string
                    description: Bonding-curve platform the token graduated from.
                    required: false
                  - name: mint
                    type: string
                    description: Token mint that migrated.
                    required: false
                  - name: quoteMint
                    type: string
                    description: Quote token of the new pool (typically WSOL).
                    required: false
                  - name: pool
                    type: string
                    description: >-
                      New pool address. Present on `Migrate` ix events; may be
                      null on the synthesized `Complete` event.
                    required: false
                  - name: poolDex
                    type: string
                    description: Destination DEX of the new pool.
                    required: false
                  - name: slot
                    type: integer
                    required: false
                  - name: signature
                    type: string
                    description: Migration transaction signature (when known).
                    required: false
                  - name: baseReserve
                    type: integer
                    description: >
                      Initial base (token) reserves deposited into the new pool
                      at

                      graduation, in RAW units (pump.fun
                      `MigrateEvent.mint_amount`).

                      Lets a consumer quote the pool at delay-0. Null for
                      `Complete` events.
                    required: false
                  - name: quoteReserve
                    type: integer
                    description: |
                      Initial quote (SOL lamports) reserves at graduation, RAW
                      (`MigrateEvent.sol_amount`). Null for `Complete` events.
                    required: false
              - name: timestamp
                type: string
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: |
            Token migration event — bonding curve graduated to a public DEX
            (pump.fun → PumpSwap, Mayhem, Meteora DBC, four.meme on EVM, …).
            Coalesced server-side: pump.fun emits `Complete` and `Migrate` ~1-2s
            apart for the same mint; the broadcaster collapses them within a
            2-second window per (mint, kind) tuple so consumers see one event.
          properties:
            type:
              type: string
              enum:
                - migration
              x-parser-schema-id: <anonymous-schema-63>
            data:
              type: object
              properties:
                platform:
                  type: string
                  description: Bonding-curve platform the token graduated from.
                  example: Pumpfun
                  x-parser-schema-id: <anonymous-schema-65>
                mint:
                  type: string
                  description: Token mint that migrated.
                  x-parser-schema-id: <anonymous-schema-66>
                quoteMint:
                  type: string
                  nullable: true
                  description: Quote token of the new pool (typically WSOL).
                  x-parser-schema-id: <anonymous-schema-67>
                pool:
                  type: string
                  nullable: true
                  description: >-
                    New pool address. Present on `Migrate` ix events; may be
                    null on the synthesized `Complete` event.
                  example: 5YmqE...
                  x-parser-schema-id: <anonymous-schema-68>
                poolDex:
                  type: string
                  nullable: true
                  description: Destination DEX of the new pool.
                  example: PumpSwap
                  x-parser-schema-id: <anonymous-schema-69>
                slot:
                  type: integer
                  x-parser-schema-id: <anonymous-schema-70>
                signature:
                  type: string
                  nullable: true
                  description: Migration transaction signature (when known).
                  x-parser-schema-id: <anonymous-schema-71>
                baseReserve:
                  type: integer
                  nullable: true
                  description: >
                    Initial base (token) reserves deposited into the new pool at

                    graduation, in RAW units (pump.fun
                    `MigrateEvent.mint_amount`).

                    Lets a consumer quote the pool at delay-0. Null for
                    `Complete` events.
                  x-parser-schema-id: <anonymous-schema-72>
                quoteReserve:
                  type: integer
                  nullable: true
                  description: |
                    Initial quote (SOL lamports) reserves at graduation, RAW
                    (`MigrateEvent.sol_amount`). Null for `Complete` events.
                  x-parser-schema-id: <anonymous-schema-73>
              x-parser-schema-id: <anonymous-schema-64>
            timestamp:
              type: string
              format: date-time
              x-parser-schema-id: <anonymous-schema-74>
          x-parser-schema-id: MigrationMessage
        title: Migration Event
        description: Token migration event data
        example: |-
          {
            "type": "<string>",
            "data": {
              "platform": "<string>",
              "mint": "<string>",
              "quoteMint": "<string>",
              "pool": "<string>",
              "poolDex": "<string>",
              "slot": 123,
              "signature": "<string>",
              "baseReserve": 123,
              "quoteReserve": 123
            },
            "timestamp": "<string>"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: migrationMessage
    bindings: []
    extensions: *ref_0
  - &ref_7
    id: receiveAnalysis
    title: Receive analysis events
    description: Receive bot analysis events
    type: send
    messages:
      - &ref_19
        id: analysisMessage
        payload:
          - name: Analysis Event
            description: Bot analysis event
            type: object
            properties:
              - name: type
                type: string
                enumValues:
                  - analysis
                required: false
              - name: data
                type: object
                required: false
                properties:
                  - name: signature
                    type: string
                    required: false
                  - name: slot
                    type: integer
                    required: false
                  - name: isBundle
                    type: boolean
                    required: false
                  - name: isSniper
                    type: boolean
                    required: false
                  - name: mint
                    type: string
                    required: false
              - name: timestamp
                type: string
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: Bot analysis event
          properties:
            type:
              type: string
              enum:
                - analysis
              x-parser-schema-id: <anonymous-schema-75>
            data:
              type: object
              properties:
                signature:
                  type: string
                  x-parser-schema-id: <anonymous-schema-77>
                slot:
                  type: integer
                  x-parser-schema-id: <anonymous-schema-78>
                isBundle:
                  type: boolean
                  x-parser-schema-id: <anonymous-schema-79>
                isSniper:
                  type: boolean
                  x-parser-schema-id: <anonymous-schema-80>
                mint:
                  type: string
                  x-parser-schema-id: <anonymous-schema-81>
              x-parser-schema-id: <anonymous-schema-76>
            timestamp:
              type: string
              format: date-time
              x-parser-schema-id: <anonymous-schema-82>
          x-parser-schema-id: AnalysisMessage
        title: Analysis Event
        description: Bot analysis event
        example: |-
          {
            "type": "<string>",
            "data": {
              "signature": "<string>",
              "slot": 123,
              "isBundle": true,
              "isSniper": true,
              "mint": "<string>"
            },
            "timestamp": "<string>"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: analysisMessage
    bindings: []
    extensions: *ref_0
  - &ref_8
    id: receiveAlerts
    title: Receive alert events
    description: Receive trading alerts
    type: send
    messages:
      - &ref_20
        id: alertMessage
        payload:
          - name: Alert Event
            description: Trading alert
            type: object
            properties:
              - name: type
                type: string
                enumValues:
                  - alert
                required: false
              - name: data
                type: object
                required: false
                properties:
                  - name: id
                    type: string
                    required: false
                  - name: mint
                    type: string
                    required: false
                  - name: totalVolumeSol
                    type: number
                    required: false
                  - name: tradeCount
                    type: integer
                    required: false
                  - name: priceChangePercentage
                    type: number
                    required: false
              - name: timestamp
                type: string
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: Trading alert
          properties:
            type:
              type: string
              enum:
                - alert
              x-parser-schema-id: <anonymous-schema-83>
            data:
              type: object
              properties:
                id:
                  type: string
                  x-parser-schema-id: <anonymous-schema-85>
                mint:
                  type: string
                  x-parser-schema-id: <anonymous-schema-86>
                totalVolumeSol:
                  type: number
                  x-parser-schema-id: <anonymous-schema-87>
                tradeCount:
                  type: integer
                  x-parser-schema-id: <anonymous-schema-88>
                priceChangePercentage:
                  type: number
                  x-parser-schema-id: <anonymous-schema-89>
              x-parser-schema-id: <anonymous-schema-84>
            timestamp:
              type: string
              format: date-time
              x-parser-schema-id: <anonymous-schema-90>
          x-parser-schema-id: AlertMessage
        title: Alert Event
        description: Trading alert
        example: |-
          {
            "type": "<string>",
            "data": {
              "id": "<string>",
              "mint": "<string>",
              "totalVolumeSol": 123,
              "tradeCount": 123,
              "priceChangePercentage": 123
            },
            "timestamp": "<string>"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: alertMessage
    bindings: []
    extensions: *ref_0
  - &ref_9
    id: receiveFunding
    title: Receive funding events
    description: Receive observed wallet-funding events. Broadcast on signer subscriptions.
    type: send
    messages:
      - &ref_21
        id: fundingMessage
        payload:
          - name: Funding Event
            description: Observed wallet-funding event (SOL transfer to a fresh wallet)
            type: object
            properties:
              - name: type
                type: string
                enumValues:
                  - funding
                required: false
              - name: data
                type: object
                required: false
                properties:
                  - name: wallet
                    type: string
                    description: Destination wallet (the funded wallet).
                    required: false
                  - name: funder
                    type: string
                    description: Source wallet (the funding wallet).
                    required: false
                  - name: lamports
                    type: string
                    description: >-
                      Transfer amount in lamports (string to preserve u64
                      precision).
                    required: false
                  - name: slot
                    type: integer
                    required: false
              - name: timestamp
                type: string
                required: false
              - name: signature
                type: string
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: |
            Observed funding event — a SOL transfer that establishes a wallet's
            funding source. Deduplicated per destination wallet. Broadcast on
            `signers` subscriptions (keyed by destination wallet).
          properties:
            type:
              type: string
              enum:
                - funding
              x-parser-schema-id: <anonymous-schema-91>
            data:
              type: object
              properties:
                wallet:
                  type: string
                  description: Destination wallet (the funded wallet).
                  x-parser-schema-id: <anonymous-schema-93>
                funder:
                  type: string
                  description: Source wallet (the funding wallet).
                  x-parser-schema-id: <anonymous-schema-94>
                lamports:
                  type: string
                  description: >-
                    Transfer amount in lamports (string to preserve u64
                    precision).
                  x-parser-schema-id: <anonymous-schema-95>
                slot:
                  type: integer
                  format: int64
                  x-parser-schema-id: <anonymous-schema-96>
              x-parser-schema-id: <anonymous-schema-92>
            timestamp:
              type: string
              x-parser-schema-id: <anonymous-schema-97>
            signature:
              type: string
              x-parser-schema-id: <anonymous-schema-98>
          x-parser-schema-id: FundingMessage
        title: Funding Event
        description: Observed wallet-funding event (SOL transfer to a fresh wallet)
        example: |-
          {
            "type": "<string>",
            "data": {
              "wallet": "<string>",
              "funder": "<string>",
              "lamports": "<string>",
              "slot": 123
            },
            "timestamp": "<string>",
            "signature": "<string>"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: fundingMessage
    bindings: []
    extensions: *ref_0
  - &ref_10
    id: receiveHolderEdges
    title: Receive holder-edge events
    description: >-
      Receive deduplicated user-to-user transfer edges. Broadcast on mint
      subscriptions.
    type: send
    messages:
      - &ref_22
        id: holderEdgeMessage
        payload:
          - name: Holder Edge Event
            description: Deduplicated user-to-user transfer edge (SPL token or native SOL)
            type: object
            properties:
              - name: type
                type: string
                enumValues:
                  - holder_edge
                required: false
              - name: data
                type: object
                required: false
                properties:
                  - name: mint
                    type: string
                    description: SPL mint, or the SOL pseudo-mint when `kind=sol`.
                    required: false
                  - name: walletA
                    type: string
                    required: false
                  - name: walletB
                    type: string
                    required: false
                  - name: kind
                    type: string
                    enumValues:
                      - token
                      - sol
                    required: false
              - name: timestamp
                type: string
                required: false
              - name: signature
                type: string
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: >
            Canonicalized user-to-user transfer edge between two wallets.
            `walletA`

            and `walletB` are sorted lexicographically so each unordered pair
            has

            a single canonical representation. Broadcast on `mints`
            subscriptions

            (keyed by mint).
          properties:
            type:
              type: string
              enum:
                - holder_edge
              x-parser-schema-id: <anonymous-schema-99>
            data:
              type: object
              properties:
                mint:
                  type: string
                  description: SPL mint, or the SOL pseudo-mint when `kind=sol`.
                  x-parser-schema-id: <anonymous-schema-101>
                walletA:
                  type: string
                  x-parser-schema-id: <anonymous-schema-102>
                walletB:
                  type: string
                  x-parser-schema-id: <anonymous-schema-103>
                kind:
                  type: string
                  enum:
                    - token
                    - sol
                  x-parser-schema-id: <anonymous-schema-104>
              x-parser-schema-id: <anonymous-schema-100>
            timestamp:
              type: string
              x-parser-schema-id: <anonymous-schema-105>
            signature:
              type: string
              x-parser-schema-id: <anonymous-schema-106>
          x-parser-schema-id: HolderEdgeMessage
        title: Holder Edge Event
        description: Deduplicated user-to-user transfer edge (SPL token or native SOL)
        example: |-
          {
            "type": "<string>",
            "data": {
              "mint": "<string>",
              "walletA": "<string>",
              "walletB": "<string>",
              "kind": "<string>"
            },
            "timestamp": "<string>",
            "signature": "<string>"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: holderEdgeMessage
    bindings: []
    extensions: *ref_0
  - &ref_11
    id: receiveDexPaid
    title: Receive DEX paid events
    description: |
      Receive a `dex_paid` event when a token receives DexScreener "Enhanced
      Token Info" (the team paid for the profile). Sourced from DexScreener's
      `/token-profiles/{latest,recent-updates}/v1` WS, fanned out to clients
      subscribed to the `dex_paid` event type OR to the specific mint.
    type: send
    messages:
      - &ref_23
        id: dexPaidMessage
        payload:
          - name: DEX Paid Event
            description: >
              Token received DexScreener "Enhanced Token Info" (paid profile).

              Payload carries the rich profile (icon, header, description,
              links)

              so consumers can render the badge + socials without a follow-up
              REST

              call. Solana-only for now (the upstream bridge filters

              `chainId=solana`).
            type: object
            properties:
              - name: type
                type: string
                enumValues:
                  - dex_paid
                required: false
              - name: mint
                type: string
                description: Token mint that just received Enhanced Token Info.
                required: false
              - name: paid
                type: boolean
                description: Always `true` from the live feed; reserved for future use.
                required: false
              - name: url
                type: string
                description: DexScreener profile URL.
                required: false
              - name: icon
                type: string
                description: Profile icon (often higher-res than on-chain image).
                required: false
              - name: header
                type: string
                description: Profile banner image.
                required: false
              - name: description
                type: string
                required: false
              - name: links
                type: array
                description: Project links published with the profile.
                required: false
                properties:
                  - name: label
                    type: string
                    required: false
                  - name: url
                    type: string
                    required: false
              - name: timestamp
                type: string
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: >
            Token received DexScreener "Enhanced Token Info" (a paid profile).

            Sourced from DexScreener's public
            `/token-profiles/{latest,recent-updates}/v1`

            WebSocket; the streaming bridge filters `chainId=solana` and fans

            each unique mint out as a single `dex_paid` event. Status is

            monotonic — once true, never demoted.
          properties:
            type:
              type: string
              enum:
                - dex_paid
              x-parser-schema-id: <anonymous-schema-107>
            mint:
              type: string
              description: Token mint that just received Enhanced Token Info.
              x-parser-schema-id: <anonymous-schema-108>
            paid:
              type: boolean
              description: Always `true` from the live feed; reserved for future use.
              example: true
              x-parser-schema-id: <anonymous-schema-109>
            url:
              type: string
              nullable: true
              description: DexScreener profile URL.
              x-parser-schema-id: <anonymous-schema-110>
            icon:
              type: string
              nullable: true
              description: Profile icon (often higher-res than on-chain image).
              x-parser-schema-id: <anonymous-schema-111>
            header:
              type: string
              nullable: true
              description: Profile banner image.
              x-parser-schema-id: <anonymous-schema-112>
            description:
              type: string
              nullable: true
              x-parser-schema-id: <anonymous-schema-113>
            links:
              type: array
              nullable: true
              description: Project links published with the profile.
              items:
                type: object
                properties:
                  label:
                    type: string
                    example: Twitter
                    x-parser-schema-id: <anonymous-schema-116>
                  url:
                    type: string
                    x-parser-schema-id: <anonymous-schema-117>
                x-parser-schema-id: <anonymous-schema-115>
              x-parser-schema-id: <anonymous-schema-114>
            timestamp:
              type: string
              format: date-time
              x-parser-schema-id: <anonymous-schema-118>
          x-parser-schema-id: DexPaidMessage
        title: DEX Paid Event
        description: |
          Token received DexScreener "Enhanced Token Info" (paid profile).
          Payload carries the rich profile (icon, header, description, links)
          so consumers can render the badge + socials without a follow-up REST
          call. Solana-only for now (the upstream bridge filters
          `chainId=solana`).
        example: |-
          {
            "type": "<string>",
            "mint": "<string>",
            "paid": true,
            "url": "<string>",
            "icon": "<string>",
            "header": "<string>",
            "description": "<string>",
            "links": {
              "label": "<string>",
              "url": "<string>"
            },
            "timestamp": "<string>"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: dexPaidMessage
    bindings: []
    extensions: *ref_0
  - &ref_12
    id: receiveEventSubscriptionConfirmed
    title: Event subscription confirmation
    description: >-
      Server acknowledges an event-type subscribe with a typed confirmation
      frame.
    type: send
    messages:
      - &ref_24
        id: eventSubscriptionConfirmedMessage
        payload:
          - name: Event Subscription Confirmed
            type: object
            properties:
              - name: type
                type: string
                enumValues:
                  - event_subscription_confirmed
                required: false
              - name: event_types
                type: array
                required: false
                properties:
                  - name: item
                    type: string
                    required: false
              - name: total_event_subscriptions
                type: integer
                required: false
              - name: timestamp
                type: string
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          properties:
            type:
              type: string
              enum:
                - event_subscription_confirmed
              x-parser-schema-id: <anonymous-schema-7>
            event_types:
              type: array
              items:
                type: string
                x-parser-schema-id: <anonymous-schema-9>
              x-parser-schema-id: <anonymous-schema-8>
            total_event_subscriptions:
              type: integer
              x-parser-schema-id: <anonymous-schema-10>
            timestamp:
              type: string
              format: date-time
              x-parser-schema-id: <anonymous-schema-11>
          x-parser-schema-id: EventSubscriptionConfirmedMessage
        title: Event Subscription Confirmed
        example: |-
          {
            "type": "<string>",
            "event_types": {
              "item": "<string>"
            },
            "total_event_subscriptions": 123,
            "timestamp": "<string>"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: eventSubscriptionConfirmedMessage
    bindings: []
    extensions: *ref_0
sendOperations:
  - *ref_1
  - *ref_2
  - *ref_3
receiveOperations:
  - *ref_4
  - *ref_5
  - *ref_6
  - *ref_7
  - *ref_8
  - *ref_9
  - *ref_10
  - *ref_11
  - *ref_12
sendMessages:
  - *ref_13
  - *ref_14
  - *ref_15
receiveMessages:
  - *ref_16
  - *ref_17
  - *ref_18
  - *ref_19
  - *ref_20
  - *ref_21
  - *ref_22
  - *ref_23
  - *ref_24
extensions:
  - id: x-parser-unique-object-id
    value: events
securitySchemes:
  - id: ApiKeyAuth
    name: apiKey
    type: httpApiKey
    description: API key passed as query parameter (format sk_xxx)
    in: query
    extensions: []

````