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

# Webhook user events (cursor)

> Fetch user webhook events for a user that happened since <sinceTimestamp> using cursor-based pagination.



## OpenAPI

````yaml https://api.rhino.fi/webhook/swagger.json get /user-events-cursor
openapi: 3.1.0
info:
  title: Api
  version: 0.0.1
servers:
  - url: https://api.rhino.fi/webhook
security: []
tags:
  - name: signature
  - name: user-events
paths:
  /user-events-cursor:
    get:
      tags:
        - user-events
      summary: Webhook user events (cursor)
      description: >-
        Fetch user webhook events for a user that happened since
        <sinceTimestamp> using cursor-based pagination.
      operationId: user-events.user-events-cursor
      parameters:
        - name: sinceTimestamp
          in: query
          schema:
            type: string
            description: a string to be decoded into a number
          required: true
          description: a string to be decoded into a number
        - name: pageToken
          in: query
          schema:
            type: string
          required: false
        - name: pageSize
          in: query
          schema:
            type: string
            description: a number less than or equal to 50
            title: lessThanOrEqualTo(50)
          required: false
          description: a number less than or equal to 50
      responses:
        '200':
          description: WebhookUserEventsCursorResponse
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookUserEventsCursorResponse'
        '400':
          description: The request did not match the expected schema
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/HttpApiDecodeError'
                  - $ref: '#/components/schemas/InvalidJwt'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
      security:
        - bearer: []
        - legacyApiKey: []
components:
  schemas:
    WebhookUserEventsCursorResponse:
      type: object
      required:
        - items
        - nextPageToken
      properties:
        items:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/BridgePendingEvent'
              - $ref: '#/components/schemas/BridgeAcceptedEvent'
              - $ref: '#/components/schemas/BridgeCancelledEvent'
              - $ref: '#/components/schemas/BridgeExecutedEvent'
              - $ref: '#/components/schemas/BridgeRefundedEvent'
              - $ref: '#/components/schemas/DepositAddressCreatedEvent'
              - $ref: '#/components/schemas/DepositAddressBridgeRejectedEvent'
              - $ref: '#/components/schemas/DepositAddressBridgeDelayedEvent'
              - $ref: '#/components/schemas/RoutingDepositAddressCreatedEvent'
              - $ref: '#/components/schemas/RoutingDepositAddressBridgeRejectedEvent'
              - $ref: '#/components/schemas/RoutingDepositAddressBridgeDelayedEvent'
              - $ref: '#/components/schemas/CompletedSdaRefundEvent'
              - $ref: '#/components/schemas/WebhookTestEvent'
        nextPageToken:
          anyOf:
            - $ref: '#/components/schemas/NonEmptyString'
            - type: 'null'
      additionalProperties: false
    HttpApiDecodeError:
      type: object
      required:
        - issues
        - message
        - _tag
      properties:
        issues:
          type: array
          items:
            $ref: '#/components/schemas/Issue'
        message:
          type: string
        _tag:
          type: string
          enum:
            - HttpApiDecodeError
      additionalProperties: false
      description: The request did not match the expected schema
    InvalidJwt:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - InvalidJwt
      additionalProperties: false
    Unauthorized:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - Unauthorized
      additionalProperties: false
    BridgePendingEvent:
      anyOf:
        - type: object
          required:
            - _id
            - userId
            - chainIn
            - chainOut
            - amountIn
            - amountInUsd
            - amountOut
            - amountOutUsd
            - amountNative
            - amountNativeUsd
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
            - sponsoredFees
            - recipient
            - depositor
            - createdAt
            - commitmentDate
            - token
            - usdPrice
            - _tag
            - type
          properties:
            _id:
              type: string
            userId:
              type: string
            chainIn:
              type: string
            chainOut:
              type: string
            amountIn:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountInUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountOut:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountOutUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  $ref: '#/components/schemas/BigDecimal'
                feeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                gasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                gasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                platformFee:
                  $ref: '#/components/schemas/BigDecimal'
                platformFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                percentageFee:
                  $ref: '#/components/schemas/BigDecimal'
                percentageFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                sourceGasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                sourceGasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
              additionalProperties: false
            recipient:
              type: string
            depositor:
              type: string
            createdAt:
              $ref: '#/components/schemas/DateFromString'
            commitmentDate:
              $ref: '#/components/schemas/DateFromString'
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
            estimatedDuration:
              type: number
              description: a non-negative number to be decoded into a Duration
              title: nonNegative
              minimum: 0
            postBridgeData:
              anyOf:
                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
                - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
                - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
                - $ref: '#/components/schemas/MapleDepositPostBridgeData'
            flowCredits:
              allOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
              description: Flow credits consumed by this bridge
            token:
              type: string
            usdPrice:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            _tag:
              type: string
              enum:
                - BRIDGE_PENDING
            type:
              type: string
              enum:
                - bridge
          additionalProperties: false
        - type: object
          required:
            - _tag
            - _id
            - userId
            - chainIn
            - chainOut
            - amountIn
            - amountInUsd
            - amountOut
            - amountOutUsd
            - amountNative
            - amountNativeUsd
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
            - sponsoredFees
            - recipient
            - depositor
            - createdAt
            - commitmentDate
            - tokenIn
            - tokenOut
            - minAmountOut
            - minAmountOutUsd
            - usdPriceTokenIn
            - usdPriceTokenOut
            - type
          properties:
            _tag:
              type: string
              enum:
                - BRIDGE_PENDING
            _id:
              type: string
            userId:
              type: string
            chainIn:
              type: string
            chainOut:
              type: string
            amountIn:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountInUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountOut:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountOutUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  $ref: '#/components/schemas/BigDecimal'
                feeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                gasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                gasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                platformFee:
                  $ref: '#/components/schemas/BigDecimal'
                platformFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                percentageFee:
                  $ref: '#/components/schemas/BigDecimal'
                percentageFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                sourceGasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                sourceGasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
              additionalProperties: false
            recipient:
              type: string
            depositor:
              type: string
            createdAt:
              $ref: '#/components/schemas/DateFromString'
            commitmentDate:
              $ref: '#/components/schemas/DateFromString'
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
            estimatedDuration:
              type: number
              description: a non-negative number to be decoded into a Duration
              title: nonNegative
              minimum: 0
            postBridgeData:
              anyOf:
                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
                - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
                - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
                - $ref: '#/components/schemas/MapleDepositPostBridgeData'
            flowCredits:
              allOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
              description: Flow credits consumed by this bridge
            tokenIn:
              type: string
            tokenOut:
              type: string
            minAmountOut:
              $ref: '#/components/schemas/BigDecimalFromString'
            minAmountOutUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            usdPriceTokenIn:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            usdPriceTokenOut:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            preSwap:
              $ref: '#/components/schemas/SwapQuote'
            postSwap:
              $ref: '#/components/schemas/SwapQuote'
            mode:
              type: string
              enum:
                - pay
                - receive
            isAtomicSwap:
              type: boolean
            swapFeeMultiplier:
              $ref: '#/components/schemas/BigDecimal'
            type:
              type: string
              enum:
                - bridgeSwap
          additionalProperties: false
    BridgeAcceptedEvent:
      anyOf:
        - type: object
          required:
            - _id
            - userId
            - chainIn
            - chainOut
            - amountIn
            - amountInUsd
            - amountOut
            - amountOutUsd
            - amountNative
            - amountNativeUsd
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
            - sponsoredFees
            - recipient
            - depositor
            - createdAt
            - commitmentDate
            - token
            - usdPrice
            - _tag
            - depositTxHash
            - depositCommittedAt
            - type
          properties:
            _id:
              type: string
            userId:
              type: string
            chainIn:
              type: string
            chainOut:
              type: string
            amountIn:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountInUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountOut:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountOutUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  $ref: '#/components/schemas/BigDecimal'
                feeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                gasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                gasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                platformFee:
                  $ref: '#/components/schemas/BigDecimal'
                platformFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                percentageFee:
                  $ref: '#/components/schemas/BigDecimal'
                percentageFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                sourceGasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                sourceGasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
              additionalProperties: false
            recipient:
              type: string
            depositor:
              type: string
            createdAt:
              $ref: '#/components/schemas/DateFromString'
            commitmentDate:
              $ref: '#/components/schemas/DateFromString'
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
            estimatedDuration:
              type: number
              description: a non-negative number to be decoded into a Duration
              title: nonNegative
              minimum: 0
            postBridgeData:
              anyOf:
                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
                - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
                - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
                - $ref: '#/components/schemas/MapleDepositPostBridgeData'
            flowCredits:
              allOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
              description: Flow credits consumed by this bridge
            token:
              type: string
            usdPrice:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            _tag:
              type: string
              enum:
                - BRIDGE_ACCEPTED
            depositTxHash:
              type: string
            depositCommittedAt:
              $ref: '#/components/schemas/DateFromString'
            depositDiscoveredAt:
              $ref: '#/components/schemas/DateFromString'
            depositConfirmedAt:
              $ref: '#/components/schemas/DateFromString'
            expectedDepositConfirmedAt:
              $ref: '#/components/schemas/DateFromString'
            expectedDepositConfirmedAtBlock:
              $ref: '#/components/schemas/Int'
            preSwapTxHash:
              type: string
            preSwapCommittedAt:
              $ref: '#/components/schemas/DateFromString'
            isConfirmed:
              type: boolean
            type:
              type: string
              enum:
                - bridge
          additionalProperties: false
        - type: object
          required:
            - _tag
            - _id
            - userId
            - chainIn
            - chainOut
            - amountIn
            - amountInUsd
            - amountOut
            - amountOutUsd
            - amountNative
            - amountNativeUsd
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
            - sponsoredFees
            - recipient
            - depositor
            - createdAt
            - commitmentDate
            - tokenIn
            - tokenOut
            - minAmountOut
            - minAmountOutUsd
            - usdPriceTokenIn
            - usdPriceTokenOut
            - depositTxHash
            - depositCommittedAt
            - type
          properties:
            _tag:
              type: string
              enum:
                - BRIDGE_ACCEPTED
            _id:
              type: string
            userId:
              type: string
            chainIn:
              type: string
            chainOut:
              type: string
            amountIn:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountInUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountOut:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountOutUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  $ref: '#/components/schemas/BigDecimal'
                feeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                gasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                gasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                platformFee:
                  $ref: '#/components/schemas/BigDecimal'
                platformFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                percentageFee:
                  $ref: '#/components/schemas/BigDecimal'
                percentageFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                sourceGasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                sourceGasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
              additionalProperties: false
            recipient:
              type: string
            depositor:
              type: string
            createdAt:
              $ref: '#/components/schemas/DateFromString'
            commitmentDate:
              $ref: '#/components/schemas/DateFromString'
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
            estimatedDuration:
              type: number
              description: a non-negative number to be decoded into a Duration
              title: nonNegative
              minimum: 0
            postBridgeData:
              anyOf:
                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
                - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
                - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
                - $ref: '#/components/schemas/MapleDepositPostBridgeData'
            flowCredits:
              allOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
              description: Flow credits consumed by this bridge
            tokenIn:
              type: string
            tokenOut:
              type: string
            minAmountOut:
              $ref: '#/components/schemas/BigDecimalFromString'
            minAmountOutUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            usdPriceTokenIn:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            usdPriceTokenOut:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            preSwap:
              $ref: '#/components/schemas/SwapQuote'
            postSwap:
              $ref: '#/components/schemas/SwapQuote'
            mode:
              type: string
              enum:
                - pay
                - receive
            isAtomicSwap:
              type: boolean
            swapFeeMultiplier:
              $ref: '#/components/schemas/BigDecimal'
            depositTxHash:
              type: string
            depositCommittedAt:
              $ref: '#/components/schemas/DateFromString'
            depositDiscoveredAt:
              $ref: '#/components/schemas/DateFromString'
            depositConfirmedAt:
              $ref: '#/components/schemas/DateFromString'
            expectedDepositConfirmedAt:
              $ref: '#/components/schemas/DateFromString'
            expectedDepositConfirmedAtBlock:
              $ref: '#/components/schemas/Int'
            preSwapTxHash:
              type: string
            preSwapCommittedAt:
              $ref: '#/components/schemas/DateFromString'
            isConfirmed:
              type: boolean
            type:
              type: string
              enum:
                - bridgeSwap
          additionalProperties: false
        - type: object
          required:
            - _tag
            - _id
            - userId
            - chainIn
            - chainOut
            - amountIn
            - amountInUsd
            - amountOut
            - amountOutUsd
            - amountNative
            - amountNativeUsd
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
            - sponsoredFees
            - recipient
            - depositor
            - createdAt
            - commitmentDate
            - token
            - usdPrice
            - depositTxHash
            - depositCommittedAt
            - type
          properties:
            _tag:
              type: string
              enum:
                - BRIDGE_ACCEPTED
            _id:
              type: string
            userId:
              type: string
            chainIn:
              type: string
            chainOut:
              type: string
            amountIn:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountInUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountOut:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountOutUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  $ref: '#/components/schemas/BigDecimal'
                feeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                gasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                gasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                platformFee:
                  $ref: '#/components/schemas/BigDecimal'
                platformFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                percentageFee:
                  $ref: '#/components/schemas/BigDecimal'
                percentageFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                sourceGasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                sourceGasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
              additionalProperties: false
            recipient:
              type: string
            depositor:
              type: string
            createdAt:
              $ref: '#/components/schemas/DateFromString'
            commitmentDate:
              $ref: '#/components/schemas/DateFromString'
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
            estimatedDuration:
              type: number
              description: a non-negative number to be decoded into a Duration
              title: nonNegative
              minimum: 0
            postBridgeData:
              anyOf:
                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
                - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
                - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
                - $ref: '#/components/schemas/MapleDepositPostBridgeData'
            flowCredits:
              allOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
              description: Flow credits consumed by this bridge
            token:
              type: string
            tokenOut:
              type: string
            usdPrice:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            depositAddress:
              type: string
            preSwap:
              $ref: '#/components/schemas/SwapQuote'
            postSwap:
              $ref: '#/components/schemas/SwapQuote'
            depositTxHash:
              type: string
            depositCommittedAt:
              $ref: '#/components/schemas/DateFromString'
            depositDiscoveredAt:
              $ref: '#/components/schemas/DateFromString'
            depositConfirmedAt:
              $ref: '#/components/schemas/DateFromString'
            expectedDepositConfirmedAt:
              $ref: '#/components/schemas/DateFromString'
            expectedDepositConfirmedAtBlock:
              $ref: '#/components/schemas/Int'
            preSwapTxHash:
              type: string
            preSwapCommittedAt:
              $ref: '#/components/schemas/DateFromString'
            isConfirmed:
              type: boolean
            type:
              type: string
              enum:
                - depositAddressBridge
            addressNote:
              type: string
              description: a string at most 80 character(s) long
              title: maxLength(80)
              maxLength: 80
          additionalProperties: false
    BridgeCancelledEvent:
      anyOf:
        - type: object
          required:
            - _id
            - userId
            - chainIn
            - chainOut
            - amountIn
            - amountInUsd
            - amountOut
            - amountOutUsd
            - amountNative
            - amountNativeUsd
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
            - sponsoredFees
            - recipient
            - depositor
            - createdAt
            - commitmentDate
            - token
            - usdPrice
            - _tag
            - cancelledAt
          properties:
            _id:
              type: string
            userId:
              type: string
            chainIn:
              type: string
            chainOut:
              type: string
            amountIn:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountInUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountOut:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountOutUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  $ref: '#/components/schemas/BigDecimal'
                feeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                gasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                gasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                platformFee:
                  $ref: '#/components/schemas/BigDecimal'
                platformFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                percentageFee:
                  $ref: '#/components/schemas/BigDecimal'
                percentageFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                sourceGasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                sourceGasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
              additionalProperties: false
            recipient:
              type: string
            depositor:
              type: string
            createdAt:
              $ref: '#/components/schemas/DateFromString'
            commitmentDate:
              $ref: '#/components/schemas/DateFromString'
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
            estimatedDuration:
              type: number
              description: a non-negative number to be decoded into a Duration
              title: nonNegative
              minimum: 0
            postBridgeData:
              anyOf:
                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
                - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
                - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
                - $ref: '#/components/schemas/MapleDepositPostBridgeData'
            flowCredits:
              allOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
              description: Flow credits consumed by this bridge
            token:
              type: string
            usdPrice:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            _tag:
              type: string
              enum:
                - BRIDGE_CANCELLED
            cancelledAt:
              $ref: '#/components/schemas/DateFromString'
          additionalProperties: false
        - type: object
          required:
            - _tag
            - _id
            - userId
            - chainIn
            - chainOut
            - amountIn
            - amountInUsd
            - amountOut
            - amountOutUsd
            - amountNative
            - amountNativeUsd
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
            - sponsoredFees
            - recipient
            - depositor
            - createdAt
            - commitmentDate
            - tokenIn
            - tokenOut
            - minAmountOut
            - minAmountOutUsd
            - usdPriceTokenIn
            - usdPriceTokenOut
            - cancelledAt
          properties:
            _tag:
              type: string
              enum:
                - BRIDGE_CANCELLED
            _id:
              type: string
            userId:
              type: string
            chainIn:
              type: string
            chainOut:
              type: string
            amountIn:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountInUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountOut:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountOutUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  $ref: '#/components/schemas/BigDecimal'
                feeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                gasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                gasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                platformFee:
                  $ref: '#/components/schemas/BigDecimal'
                platformFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                percentageFee:
                  $ref: '#/components/schemas/BigDecimal'
                percentageFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                sourceGasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                sourceGasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
              additionalProperties: false
            recipient:
              type: string
            depositor:
              type: string
            createdAt:
              $ref: '#/components/schemas/DateFromString'
            commitmentDate:
              $ref: '#/components/schemas/DateFromString'
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
            estimatedDuration:
              type: number
              description: a non-negative number to be decoded into a Duration
              title: nonNegative
              minimum: 0
            postBridgeData:
              anyOf:
                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
                - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
                - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
                - $ref: '#/components/schemas/MapleDepositPostBridgeData'
            flowCredits:
              allOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
              description: Flow credits consumed by this bridge
            tokenIn:
              type: string
            tokenOut:
              type: string
            minAmountOut:
              $ref: '#/components/schemas/BigDecimalFromString'
            minAmountOutUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            usdPriceTokenIn:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            usdPriceTokenOut:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            preSwap:
              $ref: '#/components/schemas/SwapQuote'
            postSwap:
              $ref: '#/components/schemas/SwapQuote'
            mode:
              type: string
              enum:
                - pay
                - receive
            isAtomicSwap:
              type: boolean
            swapFeeMultiplier:
              $ref: '#/components/schemas/BigDecimal'
            cancelledAt:
              $ref: '#/components/schemas/DateFromString'
          additionalProperties: false
    BridgeExecutedEvent:
      anyOf:
        - type: object
          required:
            - _id
            - userId
            - chainIn
            - chainOut
            - amountIn
            - amountInUsd
            - amountOut
            - amountOutUsd
            - amountNative
            - amountNativeUsd
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
            - sponsoredFees
            - recipient
            - depositor
            - createdAt
            - commitmentDate
            - token
            - usdPrice
            - _tag
            - depositTxHash
            - depositCommittedAt
            - withdrawTxHash
            - withdrawCommittedAt
            - type
          properties:
            _id:
              type: string
            userId:
              type: string
            chainIn:
              type: string
            chainOut:
              type: string
            amountIn:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountInUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountOut:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountOutUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  $ref: '#/components/schemas/BigDecimal'
                feeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                gasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                gasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                platformFee:
                  $ref: '#/components/schemas/BigDecimal'
                platformFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                percentageFee:
                  $ref: '#/components/schemas/BigDecimal'
                percentageFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                sourceGasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                sourceGasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
              additionalProperties: false
            recipient:
              type: string
            depositor:
              type: string
            createdAt:
              $ref: '#/components/schemas/DateFromString'
            commitmentDate:
              $ref: '#/components/schemas/DateFromString'
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
            estimatedDuration:
              type: number
              description: a non-negative number to be decoded into a Duration
              title: nonNegative
              minimum: 0
            postBridgeData:
              anyOf:
                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
                - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
                - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
                - $ref: '#/components/schemas/MapleDepositPostBridgeData'
            flowCredits:
              allOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
              description: Flow credits consumed by this bridge
            token:
              type: string
            usdPrice:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            _tag:
              type: string
              enum:
                - BRIDGE_EXECUTED
            depositTxHash:
              type: string
            depositCommittedAt:
              $ref: '#/components/schemas/DateFromString'
            depositDiscoveredAt:
              $ref: '#/components/schemas/DateFromString'
            depositConfirmedAt:
              $ref: '#/components/schemas/DateFromString'
            expectedDepositConfirmedAt:
              $ref: '#/components/schemas/DateFromString'
            expectedDepositConfirmedAtBlock:
              $ref: '#/components/schemas/Int'
            preSwapTxHash:
              type: string
            preSwapCommittedAt:
              $ref: '#/components/schemas/DateFromString'
            isConfirmed:
              type: boolean
            withdrawTxHash:
              type: string
            withdrawCommittedAt:
              $ref: '#/components/schemas/DateFromString'
            type:
              type: string
              enum:
                - bridge
          additionalProperties: false
        - type: object
          required:
            - _tag
            - _id
            - userId
            - chainIn
            - chainOut
            - amountIn
            - amountInUsd
            - amountOut
            - amountOutUsd
            - amountNative
            - amountNativeUsd
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
            - sponsoredFees
            - recipient
            - depositor
            - createdAt
            - commitmentDate
            - tokenIn
            - tokenOut
            - minAmountOut
            - minAmountOutUsd
            - usdPriceTokenIn
            - usdPriceTokenOut
            - depositTxHash
            - depositCommittedAt
            - withdrawTxHash
            - withdrawCommittedAt
            - type
          properties:
            _tag:
              type: string
              enum:
                - BRIDGE_EXECUTED
            _id:
              type: string
            userId:
              type: string
            chainIn:
              type: string
            chainOut:
              type: string
            amountIn:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountInUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountOut:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountOutUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  $ref: '#/components/schemas/BigDecimal'
                feeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                gasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                gasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                platformFee:
                  $ref: '#/components/schemas/BigDecimal'
                platformFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                percentageFee:
                  $ref: '#/components/schemas/BigDecimal'
                percentageFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                sourceGasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                sourceGasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
              additionalProperties: false
            recipient:
              type: string
            depositor:
              type: string
            createdAt:
              $ref: '#/components/schemas/DateFromString'
            commitmentDate:
              $ref: '#/components/schemas/DateFromString'
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
            estimatedDuration:
              type: number
              description: a non-negative number to be decoded into a Duration
              title: nonNegative
              minimum: 0
            postBridgeData:
              anyOf:
                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
                - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
                - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
                - $ref: '#/components/schemas/MapleDepositPostBridgeData'
            flowCredits:
              allOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
              description: Flow credits consumed by this bridge
            tokenIn:
              type: string
            tokenOut:
              type: string
            minAmountOut:
              $ref: '#/components/schemas/BigDecimalFromString'
            minAmountOutUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            usdPriceTokenIn:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            usdPriceTokenOut:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            preSwap:
              $ref: '#/components/schemas/SwapQuote'
            postSwap:
              $ref: '#/components/schemas/SwapQuote'
            mode:
              type: string
              enum:
                - pay
                - receive
            isAtomicSwap:
              type: boolean
            swapFeeMultiplier:
              $ref: '#/components/schemas/BigDecimal'
            depositTxHash:
              type: string
            depositCommittedAt:
              $ref: '#/components/schemas/DateFromString'
            depositDiscoveredAt:
              $ref: '#/components/schemas/DateFromString'
            depositConfirmedAt:
              $ref: '#/components/schemas/DateFromString'
            expectedDepositConfirmedAt:
              $ref: '#/components/schemas/DateFromString'
            expectedDepositConfirmedAtBlock:
              $ref: '#/components/schemas/Int'
            preSwapTxHash:
              type: string
            preSwapCommittedAt:
              $ref: '#/components/schemas/DateFromString'
            isConfirmed:
              type: boolean
            withdrawTxHash:
              type: string
            withdrawCommittedAt:
              $ref: '#/components/schemas/DateFromString'
            type:
              type: string
              enum:
                - bridgeSwap
          additionalProperties: false
        - type: object
          required:
            - _tag
            - _id
            - userId
            - chainIn
            - chainOut
            - amountIn
            - amountInUsd
            - amountOut
            - amountOutUsd
            - amountNative
            - amountNativeUsd
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
            - sponsoredFees
            - recipient
            - depositor
            - createdAt
            - commitmentDate
            - token
            - usdPrice
            - depositAddress
            - depositTxHash
            - depositCommittedAt
            - withdrawTxHash
            - withdrawCommittedAt
            - type
          properties:
            _tag:
              type: string
              enum:
                - BRIDGE_EXECUTED
            _id:
              type: string
            userId:
              type: string
            chainIn:
              type: string
            chainOut:
              type: string
            amountIn:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountInUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountOut:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountOutUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  $ref: '#/components/schemas/BigDecimal'
                feeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                gasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                gasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                platformFee:
                  $ref: '#/components/schemas/BigDecimal'
                platformFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                percentageFee:
                  $ref: '#/components/schemas/BigDecimal'
                percentageFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                sourceGasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                sourceGasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
              additionalProperties: false
            recipient:
              type: string
            depositor:
              type: string
            createdAt:
              $ref: '#/components/schemas/DateFromString'
            commitmentDate:
              $ref: '#/components/schemas/DateFromString'
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
            estimatedDuration:
              type: number
              description: a non-negative number to be decoded into a Duration
              title: nonNegative
              minimum: 0
            postBridgeData:
              anyOf:
                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
                - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
                - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
                - $ref: '#/components/schemas/MapleDepositPostBridgeData'
            flowCredits:
              allOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
              description: Flow credits consumed by this bridge
            token:
              type: string
            tokenOut:
              type: string
            usdPrice:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            depositAddress:
              type: string
            preSwap:
              $ref: '#/components/schemas/SwapQuote'
            postSwap:
              $ref: '#/components/schemas/SwapQuote'
            depositTxHash:
              type: string
            depositCommittedAt:
              $ref: '#/components/schemas/DateFromString'
            depositDiscoveredAt:
              $ref: '#/components/schemas/DateFromString'
            depositConfirmedAt:
              $ref: '#/components/schemas/DateFromString'
            expectedDepositConfirmedAt:
              $ref: '#/components/schemas/DateFromString'
            expectedDepositConfirmedAtBlock:
              $ref: '#/components/schemas/Int'
            preSwapTxHash:
              type: string
            preSwapCommittedAt:
              $ref: '#/components/schemas/DateFromString'
            isConfirmed:
              type: boolean
            withdrawTxHash:
              type: string
            withdrawCommittedAt:
              $ref: '#/components/schemas/DateFromString'
            type:
              type: string
              enum:
                - depositAddressBridge
            addressNote:
              type: string
              description: a string at most 80 character(s) long
              title: maxLength(80)
              maxLength: 80
          additionalProperties: false
    BridgeRefundedEvent:
      type: object
      required:
        - depositTxHash
        - depositCommittedAt
        - reason
        - _tag
        - _id
        - userId
        - chainIn
        - chainOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - amountNative
        - amountNativeUsd
        - fee
        - feeUsd
        - gasFee
        - gasFeeUsd
        - platformFee
        - platformFeeUsd
        - percentageFee
        - percentageFeeUsd
        - sourceGasFee
        - sourceGasFeeUsd
        - sponsoredFees
        - recipient
        - depositor
        - createdAt
        - commitmentDate
        - tokenIn
        - tokenOut
        - minAmountOut
        - minAmountOutUsd
        - usdPriceTokenIn
        - usdPriceTokenOut
        - refundTxHash
        - refundTxTimestamp
        - refundedToken
        - refundedAmount
        - refundedChain
      properties:
        depositTxHash:
          type: string
        depositCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        reason:
          type: string
        additionalData:
          anyOf:
            - type: object
              required: []
              properties: {}
              additionalProperties:
                anyOf:
                  - type: string
                  - type: number
            - type: 'null'
        _tag:
          type: string
          enum:
            - BRIDGE_REFUNDED
        _id:
          type: string
        userId:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        amountIn:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountInUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountNative:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromString'
            - type: 'null'
        amountNativeUsd:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromNumber'
            - type: 'null'
        fee:
          $ref: '#/components/schemas/BigDecimal'
        feeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        gasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        gasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        platformFee:
          $ref: '#/components/schemas/BigDecimal'
        platformFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        percentageFee:
          $ref: '#/components/schemas/BigDecimal'
        percentageFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sourceGasFee:
          $ref: '#/components/schemas/BigDecimalFromString'
        sourceGasFeeUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        sponsoredFees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
          properties:
            fee:
              $ref: '#/components/schemas/BigDecimal'
            feeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              $ref: '#/components/schemas/BigDecimal'
            platformFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            percentageFee:
              $ref: '#/components/schemas/BigDecimal'
            percentageFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
          additionalProperties: false
        recipient:
          type: string
        depositor:
          type: string
        createdAt:
          $ref: '#/components/schemas/DateFromString'
        commitmentDate:
          $ref: '#/components/schemas/DateFromString'
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
        estimatedDuration:
          type: number
          description: a non-negative number to be decoded into a Duration
          title: nonNegative
          minimum: 0
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
        flowCredits:
          allOf:
            - $ref: '#/components/schemas/BigDecimalFromNumber'
          description: Flow credits consumed by this bridge
        tokenIn:
          type: string
        tokenOut:
          type: string
        minAmountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        minAmountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenIn:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenOut:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        preSwap:
          $ref: '#/components/schemas/SwapQuote'
        postSwap:
          $ref: '#/components/schemas/SwapQuote'
        mode:
          type: string
          enum:
            - pay
            - receive
        isAtomicSwap:
          type: boolean
        swapFeeMultiplier:
          $ref: '#/components/schemas/BigDecimal'
        depositDiscoveredAt:
          $ref: '#/components/schemas/DateFromString'
        depositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAt:
          $ref: '#/components/schemas/DateFromString'
        expectedDepositConfirmedAtBlock:
          $ref: '#/components/schemas/Int'
        preSwapTxHash:
          type: string
        preSwapCommittedAt:
          $ref: '#/components/schemas/DateFromString'
        isConfirmed:
          type: boolean
        refundTxHash:
          $ref: '#/components/schemas/NonEmptyString'
        refundTxTimestamp:
          $ref: '#/components/schemas/DateFromString'
        refundedToken:
          $ref: '#/components/schemas/NonEmptyString'
        refundedAmount:
          $ref: '#/components/schemas/BigDecimalFromString'
        refundedChain:
          $ref: '#/components/schemas/NonEmptyString'
      additionalProperties: false
    DepositAddressCreatedEvent:
      type: object
      required:
        - depositChain
        - depositAddress
        - destinationChain
        - _tag
      properties:
        depositChain:
          type: string
          description: >-
            The blockchain network identifier where the deposit address is
            located.
          title: nonEmptyString
          minLength: 1
        depositAddress:
          type: string
          description: The generated deposit address where users should send tokens.
          title: nonEmptyString
          minLength: 1
        destinationChain:
          type: string
          description: The blockchain network identifier where bridged tokens will be sent.
          title: nonEmptyString
          minLength: 1
        destinationAddress:
          allOf:
            - $ref: '#/components/schemas/NonEmptyString'
          description: >-
            The destination address where bridged tokens will be sent
            (optional).
        tokenOut:
          type: string
          description: Optional token to receive after bridging (for token swaps).
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
          description: >-
            Optional configuration for post-bridge actions (e.g., staking,
            lending). Must be omitted if your client does not have PBA enabled.
            See
            https://docs.rhino.fi/api-integration/smart-deposits#post-bridge-data
            for details.
        addressNote:
          type: string
          description: Optional note or label for the deposit address (max 80 characters).
          title: maxLength(80)
          maxLength: 80
        _tag:
          type: string
          enum:
            - DEPOSIT_ADDRESS_CREATED
      additionalProperties: false
    DepositAddressBridgeRejectedEvent:
      type: object
      required:
        - _tag
        - _id
        - tokenSymbol
        - tokenAddress
        - amount
        - amountUsd
        - amountWei
        - sender
        - txHash
        - reason
        - txUid
        - createdAt
        - depositAddress
      properties:
        _tag:
          type: string
          enum:
            - DEPOSIT_ADDRESS_BRIDGE_REJECTED
        _id:
          $ref: '#/components/schemas/NonEmptyString'
        tokenSymbol:
          $ref: '#/components/schemas/NonEmptyString'
        tokenAddress:
          $ref: '#/components/schemas/NonEmptyString'
        amount:
          $ref: '#/components/schemas/AmountWithDecimals'
        amountUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountWei:
          $ref: '#/components/schemas/BigInt'
        sender:
          type: string
        txHash:
          type: string
        originalErrorTag:
          $ref: '#/components/schemas/NonEmptyString'
        originalErrorJson:
          type: string
        reason:
          type: string
          enum:
            - OVER_MAX
            - UNDER_MIN
            - OPERATION_UNAVAILABLE
            - TERMINAL_PROCESSING_ISSUE
            - NO_ROUTE_FOUND
            - UNSUPPORTED_TOKEN
            - SDA_PAUSED
        txUid:
          $ref: '#/components/schemas/NonEmptyString'
        createdAt:
          $ref: '#/components/schemas/DateTimeUtc'
        blockNumber:
          $ref: '#/components/schemas/NonNegativeInt'
        depositAddress:
          type: object
          required:
            - depositChain
            - depositAddress
            - destinationChain
          properties:
            depositChain:
              type: string
              description: >-
                The blockchain network identifier where the deposit address is
                located.
              title: nonEmptyString
              minLength: 1
            depositAddress:
              type: string
              description: The generated deposit address where users should send tokens.
              title: nonEmptyString
              minLength: 1
            destinationChain:
              type: string
              description: >-
                The blockchain network identifier where bridged tokens will be
                sent.
              title: nonEmptyString
              minLength: 1
            destinationAddress:
              allOf:
                - $ref: '#/components/schemas/NonEmptyString'
              description: >-
                The destination address where bridged tokens will be sent
                (optional).
            tokenOut:
              type: string
              description: Optional token to receive after bridging (for token swaps).
            postBridgeData:
              anyOf:
                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
                - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
                - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
                - $ref: '#/components/schemas/MapleDepositPostBridgeData'
              description: >-
                Optional configuration for post-bridge actions (e.g., staking,
                lending). Must be omitted if your client does not have PBA
                enabled. See
                https://docs.rhino.fi/api-integration/smart-deposits#post-bridge-data
                for details.
            addressNote:
              type: string
              description: >-
                Optional note or label for the deposit address (max 80
                characters).
              title: maxLength(80)
              maxLength: 80
          additionalProperties: false
      additionalProperties: false
    DepositAddressBridgeDelayedEvent:
      type: object
      required:
        - _tag
        - _id
        - tokenSymbol
        - tokenAddress
        - amount
        - amountUsd
        - amountWei
        - sender
        - txHash
        - createdAt
        - depositAddress
      properties:
        _tag:
          type: string
          enum:
            - DEPOSIT_ADDRESS_BRIDGE_DELAYED
        _id:
          $ref: '#/components/schemas/NonEmptyString'
        tokenSymbol:
          $ref: '#/components/schemas/NonEmptyString'
        tokenAddress:
          $ref: '#/components/schemas/NonEmptyString'
        amount:
          $ref: '#/components/schemas/AmountWithDecimals'
        amountUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountWei:
          $ref: '#/components/schemas/BigInt'
        sender:
          $ref: '#/components/schemas/NonEmptyString'
        txHash:
          $ref: '#/components/schemas/NonEmptyString'
        originalErrorTag:
          $ref: '#/components/schemas/NonEmptyString'
        createdAt:
          $ref: '#/components/schemas/DateTimeUtc'
        depositAddress:
          type: object
          required:
            - depositChain
            - depositAddress
            - destinationChain
          properties:
            depositChain:
              type: string
              description: >-
                The blockchain network identifier where the deposit address is
                located.
              title: nonEmptyString
              minLength: 1
            depositAddress:
              type: string
              description: The generated deposit address where users should send tokens.
              title: nonEmptyString
              minLength: 1
            destinationChain:
              type: string
              description: >-
                The blockchain network identifier where bridged tokens will be
                sent.
              title: nonEmptyString
              minLength: 1
            destinationAddress:
              allOf:
                - $ref: '#/components/schemas/NonEmptyString'
              description: >-
                The destination address where bridged tokens will be sent
                (optional).
            tokenOut:
              type: string
              description: Optional token to receive after bridging (for token swaps).
            postBridgeData:
              anyOf:
                - $ref: '#/components/schemas/ExtendedPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
                - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
                - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
                - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
                - $ref: '#/components/schemas/MapleDepositPostBridgeData'
              description: >-
                Optional configuration for post-bridge actions (e.g., staking,
                lending). Must be omitted if your client does not have PBA
                enabled. See
                https://docs.rhino.fi/api-integration/smart-deposits#post-bridge-data
                for details.
            addressNote:
              type: string
              description: >-
                Optional note or label for the deposit address (max 80
                characters).
              title: maxLength(80)
              maxLength: 80
          additionalProperties: false
      additionalProperties: false
    RoutingDepositAddressCreatedEvent:
      type: object
      required:
        - depositChain
        - depositAddress
        - routes
        - _tag
      properties:
        depositChain:
          $ref: '#/components/schemas/NonEmptyString'
        depositAddress:
          $ref: '#/components/schemas/NonEmptyString'
        routes:
          type: array
          minItems: 1
          items:
            type: object
            required:
              - action
            properties:
              matcher:
                anyOf:
                  - $ref: '#/components/schemas/sentToken'
                  - $ref: '#/components/schemas/sender'
                  - $ref: '#/components/schemas/depositChain'
                  - type: object
                    required:
                      - value
                      - _tag
                    properties:
                      value:
                        type: number
                        description: >-
                          Matches if the USD value of the transfer is lower than
                          the configured threshold.
                        title: positive
                        exclusiveMinimum: 0
                      inclusive:
                        type: boolean
                        description: >-
                          Whether the comparison should include the exact
                          boundary value(s).
                      _tag:
                        type: string
                        enum:
                          - sentAmountUsdLowerThan
                    additionalProperties: false
                  - type: object
                    required:
                      - value
                      - _tag
                    properties:
                      value:
                        type: number
                        description: >-
                          Matches if the USD value of the transfer is greater
                          than the configured threshold.
                        title: positive
                        exclusiveMinimum: 0
                      inclusive:
                        type: boolean
                        description: >-
                          Whether the comparison should include the exact
                          boundary value(s).
                      _tag:
                        type: string
                        enum:
                          - sentAmountUsdGreaterThan
                    additionalProperties: false
                  - type: object
                    required:
                      - from
                      - to
                      - _tag
                    properties:
                      from:
                        type: number
                        description: >-
                          Matches if the USD value of the transfer is above this
                          lower bound.
                        title: nonNegative
                        minimum: 0
                      to:
                        type: number
                        description: >-
                          Matches if the USD value of the transfer is below this
                          upper bound.
                        title: nonNegative
                        minimum: 0
                      inclusive:
                        type: boolean
                        description: >-
                          Whether the comparison should include the exact
                          boundary value(s).
                      _tag:
                        type: string
                        enum:
                          - sentAmountUsdBetween
                    additionalProperties: false
              action:
                anyOf:
                  - anyOf:
                      - $ref: '#/components/schemas/bridge'
                      - $ref: '#/components/schemas/bridgeSwap'
                  - $ref: '#/components/schemas/composite'
                description: The action to run when this route matches.
              priority:
                type: integer
                description: >-
                  If multiple routes match the incoming transfer, the higher
                  priority route will be used. If multiple routes have the same
                  (or no) priority, the first one is used instead.
                title: int
                minimum: 0
            additionalProperties: false
        addressNote:
          type: string
          description: a string at most 80 character(s) long
          title: maxLength(80)
          maxLength: 80
        _tag:
          type: string
          enum:
            - ROUTING_DEPOSIT_ADDRESS_CREATED
      additionalProperties: false
    RoutingDepositAddressBridgeRejectedEvent:
      type: object
      required:
        - _tag
        - _id
        - tokenSymbol
        - tokenAddress
        - amount
        - amountUsd
        - amountWei
        - sender
        - txHash
        - reason
        - txUid
        - createdAt
        - depositAddress
      properties:
        _tag:
          type: string
          enum:
            - ROUTING_DEPOSIT_ADDRESS_BRIDGE_REJECTED
        _id:
          $ref: '#/components/schemas/NonEmptyString'
        tokenSymbol:
          $ref: '#/components/schemas/NonEmptyString'
        tokenAddress:
          $ref: '#/components/schemas/NonEmptyString'
        amount:
          $ref: '#/components/schemas/AmountWithDecimals'
        amountUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountWei:
          $ref: '#/components/schemas/BigInt'
        sender:
          type: string
        txHash:
          type: string
        originalErrorTag:
          $ref: '#/components/schemas/NonEmptyString'
        originalErrorJson:
          type: string
        reason:
          type: string
          enum:
            - OVER_MAX
            - UNDER_MIN
            - OPERATION_UNAVAILABLE
            - TERMINAL_PROCESSING_ISSUE
            - NO_ROUTE_FOUND
            - UNSUPPORTED_TOKEN
            - SDA_PAUSED
        txUid:
          $ref: '#/components/schemas/NonEmptyString'
        createdAt:
          $ref: '#/components/schemas/DateTimeUtc'
        blockNumber:
          $ref: '#/components/schemas/NonNegativeInt'
        depositAddress:
          type: object
          required:
            - depositChain
            - depositAddress
            - routes
          properties:
            depositChain:
              $ref: '#/components/schemas/NonEmptyString'
            depositAddress:
              $ref: '#/components/schemas/NonEmptyString'
            routes:
              type: array
              minItems: 1
              items:
                type: object
                required:
                  - action
                properties:
                  matcher:
                    anyOf:
                      - $ref: '#/components/schemas/sentToken'
                      - $ref: '#/components/schemas/sender'
                      - $ref: '#/components/schemas/depositChain'
                      - type: object
                        required:
                          - value
                          - _tag
                        properties:
                          value:
                            type: number
                            description: >-
                              Matches if the USD value of the transfer is lower
                              than the configured threshold.
                            title: positive
                            exclusiveMinimum: 0
                          inclusive:
                            type: boolean
                            description: >-
                              Whether the comparison should include the exact
                              boundary value(s).
                          _tag:
                            type: string
                            enum:
                              - sentAmountUsdLowerThan
                        additionalProperties: false
                      - type: object
                        required:
                          - value
                          - _tag
                        properties:
                          value:
                            type: number
                            description: >-
                              Matches if the USD value of the transfer is
                              greater than the configured threshold.
                            title: positive
                            exclusiveMinimum: 0
                          inclusive:
                            type: boolean
                            description: >-
                              Whether the comparison should include the exact
                              boundary value(s).
                          _tag:
                            type: string
                            enum:
                              - sentAmountUsdGreaterThan
                        additionalProperties: false
                      - type: object
                        required:
                          - from
                          - to
                          - _tag
                        properties:
                          from:
                            type: number
                            description: >-
                              Matches if the USD value of the transfer is above
                              this lower bound.
                            title: nonNegative
                            minimum: 0
                          to:
                            type: number
                            description: >-
                              Matches if the USD value of the transfer is below
                              this upper bound.
                            title: nonNegative
                            minimum: 0
                          inclusive:
                            type: boolean
                            description: >-
                              Whether the comparison should include the exact
                              boundary value(s).
                          _tag:
                            type: string
                            enum:
                              - sentAmountUsdBetween
                        additionalProperties: false
                  action:
                    anyOf:
                      - anyOf:
                          - $ref: '#/components/schemas/bridge'
                          - $ref: '#/components/schemas/bridgeSwap'
                      - $ref: '#/components/schemas/composite'
                    description: The action to run when this route matches.
                  priority:
                    type: integer
                    description: >-
                      If multiple routes match the incoming transfer, the higher
                      priority route will be used. If multiple routes have the
                      same (or no) priority, the first one is used instead.
                    title: int
                    minimum: 0
                additionalProperties: false
            addressNote:
              type: string
              description: a string at most 80 character(s) long
              title: maxLength(80)
              maxLength: 80
          additionalProperties: false
      additionalProperties: false
    RoutingDepositAddressBridgeDelayedEvent:
      type: object
      required:
        - _tag
        - _id
        - tokenSymbol
        - tokenAddress
        - amount
        - amountUsd
        - amountWei
        - sender
        - txHash
        - createdAt
        - depositAddress
      properties:
        _tag:
          type: string
          enum:
            - ROUTING_DEPOSIT_ADDRESS_BRIDGE_DELAYED
        _id:
          $ref: '#/components/schemas/NonEmptyString'
        tokenSymbol:
          $ref: '#/components/schemas/NonEmptyString'
        tokenAddress:
          $ref: '#/components/schemas/NonEmptyString'
        amount:
          $ref: '#/components/schemas/AmountWithDecimals'
        amountUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountWei:
          $ref: '#/components/schemas/BigInt'
        sender:
          $ref: '#/components/schemas/NonEmptyString'
        txHash:
          $ref: '#/components/schemas/NonEmptyString'
        originalErrorTag:
          $ref: '#/components/schemas/NonEmptyString'
        createdAt:
          $ref: '#/components/schemas/DateTimeUtc'
        depositAddress:
          type: object
          required:
            - depositChain
            - depositAddress
            - routes
          properties:
            depositChain:
              $ref: '#/components/schemas/NonEmptyString'
            depositAddress:
              $ref: '#/components/schemas/NonEmptyString'
            routes:
              type: array
              minItems: 1
              items:
                type: object
                required:
                  - action
                properties:
                  matcher:
                    anyOf:
                      - $ref: '#/components/schemas/sentToken'
                      - $ref: '#/components/schemas/sender'
                      - $ref: '#/components/schemas/depositChain'
                      - type: object
                        required:
                          - value
                          - _tag
                        properties:
                          value:
                            type: number
                            description: >-
                              Matches if the USD value of the transfer is lower
                              than the configured threshold.
                            title: positive
                            exclusiveMinimum: 0
                          inclusive:
                            type: boolean
                            description: >-
                              Whether the comparison should include the exact
                              boundary value(s).
                          _tag:
                            type: string
                            enum:
                              - sentAmountUsdLowerThan
                        additionalProperties: false
                      - type: object
                        required:
                          - value
                          - _tag
                        properties:
                          value:
                            type: number
                            description: >-
                              Matches if the USD value of the transfer is
                              greater than the configured threshold.
                            title: positive
                            exclusiveMinimum: 0
                          inclusive:
                            type: boolean
                            description: >-
                              Whether the comparison should include the exact
                              boundary value(s).
                          _tag:
                            type: string
                            enum:
                              - sentAmountUsdGreaterThan
                        additionalProperties: false
                      - type: object
                        required:
                          - from
                          - to
                          - _tag
                        properties:
                          from:
                            type: number
                            description: >-
                              Matches if the USD value of the transfer is above
                              this lower bound.
                            title: nonNegative
                            minimum: 0
                          to:
                            type: number
                            description: >-
                              Matches if the USD value of the transfer is below
                              this upper bound.
                            title: nonNegative
                            minimum: 0
                          inclusive:
                            type: boolean
                            description: >-
                              Whether the comparison should include the exact
                              boundary value(s).
                          _tag:
                            type: string
                            enum:
                              - sentAmountUsdBetween
                        additionalProperties: false
                  action:
                    anyOf:
                      - anyOf:
                          - $ref: '#/components/schemas/bridge'
                          - $ref: '#/components/schemas/bridgeSwap'
                      - $ref: '#/components/schemas/composite'
                    description: The action to run when this route matches.
                  priority:
                    type: integer
                    description: >-
                      If multiple routes match the incoming transfer, the higher
                      priority route will be used. If multiple routes have the
                      same (or no) priority, the first one is used instead.
                    title: int
                    minimum: 0
                additionalProperties: false
            addressNote:
              type: string
              description: a string at most 80 character(s) long
              title: maxLength(80)
              maxLength: 80
          additionalProperties: false
      additionalProperties: false
    CompletedSdaRefundEvent:
      type: object
      required:
        - refundId
        - depositAddress
        - depositChain
        - recipient
        - trigger
        - txHash
        - txTimestamp
        - _tag
      properties:
        refundId:
          $ref: '#/components/schemas/NonEmptyString'
        depositAddress:
          anyOf:
            - $ref: '#/components/schemas/EthAddressSchema'
            - $ref: '#/components/schemas/TronAddressBasic'
            - $ref: '#/components/schemas/SolanaAddress'
            - $ref: '#/components/schemas/StellarMuxedAddress'
        depositChain:
          $ref: '#/components/schemas/NonEmptyString'
        recipient:
          anyOf:
            - $ref: '#/components/schemas/EthAddressSchema'
            - $ref: '#/components/schemas/TronAddressBasic'
            - $ref: '#/components/schemas/SolanaAddress'
            - $ref: '#/components/schemas/StellarMuxedAddress'
        trigger:
          anyOf:
            - type: object
              required:
                - _tag
                - nativeToken
                - amountWei
              properties:
                _tag:
                  type: string
                  enum:
                    - UNSUPPORTED_TOKEN
                nativeToken:
                  type: boolean
                amountWei:
                  $ref: '#/components/schemas/BigInt'
                tokenAddress:
                  $ref: '#/components/schemas/NonEmptyString'
                tokenSymbol:
                  $ref: '#/components/schemas/NonEmptyString'
                amount:
                  $ref: '#/components/schemas/BigDecimal'
                amountUsd:
                  $ref: '#/components/schemas/BigDecimal'
              additionalProperties: false
            - type: object
              required:
                - _tag
                - rejectedDepositAddressBridgeId
                - nativeToken
                - amountWei
                - amount
                - amountUsd
                - tokenAddress
                - tokenSymbol
              properties:
                _tag:
                  type: string
                  enum:
                    - REJECTED_BRIDGE
                rejectedDepositAddressBridgeId:
                  type: string
                nativeToken:
                  type: boolean
                amountWei:
                  $ref: '#/components/schemas/BigInt'
                amount:
                  $ref: '#/components/schemas/BigDecimal'
                amountUsd:
                  $ref: '#/components/schemas/BigDecimal'
                tokenAddress:
                  $ref: '#/components/schemas/NonEmptyString'
                tokenSymbol:
                  $ref: '#/components/schemas/NonEmptyString'
              additionalProperties: false
        originalDepositTxHash:
          $ref: '#/components/schemas/NonEmptyString'
        txHash:
          $ref: '#/components/schemas/NonEmptyString'
        txTimestamp:
          $ref: '#/components/schemas/DateTimeUtc'
        _tag:
          type: string
          enum:
            - SDA_REFUND_COMPLETED
      additionalProperties: false
    WebhookTestEvent:
      type: object
      required:
        - _tag
        - type
        - message
      properties:
        _tag:
          type: string
          enum:
            - WEBHOOK_TEST
        type:
          type: string
          enum:
            - test
        message:
          $ref: '#/components/schemas/NonEmptyString'
      additionalProperties: false
    NonEmptyString:
      type: string
      description: a non empty string
      title: nonEmptyString
      minLength: 1
    Issue:
      type: object
      required:
        - _tag
        - path
        - message
      properties:
        _tag:
          type: string
          enum:
            - Pointer
            - Unexpected
            - Missing
            - Composite
            - Refinement
            - Transformation
            - Type
            - Forbidden
          description: The tag identifying the type of parse issue
        path:
          type: array
          items:
            $ref: '#/components/schemas/PropertyKey'
          description: The path to the property where the issue occurred
        message:
          type: string
          description: A descriptive message explaining the issue
      additionalProperties: false
      description: >-
        Represents an error encountered while parsing a value to match the
        schema
    BigDecimalFromString:
      type: string
      description: a string to be decoded into a BigDecimal
    BigDecimalFromNumber:
      type: number
      description: a number to be decoded into a BigDecimal
    BigDecimal:
      type: string
      description: a string to be decoded into a BigDecimal
    DateFromString:
      type: string
      description: a string to be decoded into a Date
    ExtendedPostBridgeData:
      type: object
      required:
        - _tag
        - vaultId
      properties:
        _tag:
          type: string
          enum:
            - extended
        vaultId:
          $ref: '#/components/schemas/NonNegativeInt'
      additionalProperties: false
    StarkwareBtcfiCampaignPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - starkwarebtcfi
      additionalProperties: false
    WirexWrapPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - wirexwrap
      additionalProperties: false
    WirexWrapSandboxPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - wirexwrapsandbox
      additionalProperties: false
    StarkwareBtcfiCampaignV2PostBridgeData:
      type: object
      required:
        - _tag
        - spans
      properties:
        _tag:
          type: string
          enum:
            - starkwarebtcfiv2
        spans:
          type: array
          items:
            $ref: '#/components/schemas/StarknetFelt'
          description: an array of at most 70 item(s)
          title: maxItems(70)
          maxItems: 70
      additionalProperties: false
    AaveV3SupplyPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - aavev3supply
      additionalProperties: false
    RocketFoundationDepositPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - rocketfoundationdeposit
      additionalProperties: false
    MapleDepositPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - mapledeposit
      additionalProperties: false
    SwapQuote:
      type: object
      required:
        - tokenIn
        - tokenOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - minAmountOut
        - minAmountOutUsd
        - aggregator
      properties:
        tokenIn:
          type: string
        tokenOut:
          type: string
        amountIn:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountInUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        amountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        amountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        minAmountOut:
          $ref: '#/components/schemas/BigDecimalFromString'
        minAmountOutUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        aggregator:
          $comment: /schemas/enums
          anyOf:
            - type: string
              title: KYBERSWAP
              enum:
                - KYBERSWAP
            - type: string
              title: RHINO
              enum:
                - RHINO
            - type: string
              title: ONEINCH
              enum:
                - ONEINCH
            - type: string
              title: BEBOP
              enum:
                - BEBOP
      additionalProperties: false
    Int:
      type: integer
      description: an integer
      title: int
    AmountWithDecimals:
      type: string
      description: >-
        A value representing the human readable, normalized transaction amount
        or balance
    BigInt:
      type: string
      description: a string to be decoded into a bigint
    DateTimeUtc:
      type: string
      description: a string to be decoded into a DateTime.Utc
    NonNegativeInt:
      type: integer
      description: an integer
      title: int
      minimum: 0
    sentToken:
      type: object
      required:
        - symbolsOrAddresses
        - _tag
      properties:
        symbolsOrAddresses:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/NonEmptyString'
          description: >-
            A list of token symbols or addresses. Matches if this list contains
            the transferred token.
          title: maxItems(10)
          maxItems: 10
        _tag:
          type: string
          enum:
            - sentToken
      additionalProperties: false
    sender:
      type: object
      required:
        - addresses
        - _tag
      properties:
        addresses:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/NonEmptyString'
          description: >-
            A list of addresses. Matches if this list contains the sender of the
            transfer.
          title: maxItems(10)
          maxItems: 10
        _tag:
          type: string
          enum:
            - sender
      additionalProperties: false
    depositChain:
      type: object
      required:
        - depositChains
        - _tag
      properties:
        depositChains:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/NonEmptyString'
          description: >-
            A list of deposit chains. Matches if this list contains the deposit
            chain of the transfer.
          title: maxItems(10)
          maxItems: 10
        _tag:
          type: string
          enum:
            - depositChain
      additionalProperties: false
    bridge:
      type: object
      required:
        - destinationChain
        - destinationAddress
        - _tag
      properties:
        destinationChain:
          $ref: '#/components/schemas/NonEmptyString'
        destinationAddress:
          $ref: '#/components/schemas/NonEmptyString'
        _tag:
          type: string
          enum:
            - bridge
      additionalProperties: false
    bridgeSwap:
      type: object
      required:
        - destinationChain
        - destinationAddress
        - tokenOut
        - _tag
      properties:
        destinationChain:
          $ref: '#/components/schemas/NonEmptyString'
        destinationAddress:
          $ref: '#/components/schemas/NonEmptyString'
        tokenOut:
          $ref: '#/components/schemas/NonEmptyString'
        _tag:
          type: string
          enum:
            - bridgeSwap
      additionalProperties: false
    composite:
      type: object
      required:
        - actions
        - _tag
      properties:
        actions:
          anyOf:
            - type: array
              minItems: 1
              prefixItems:
                - $ref: '#/components/schemas/bridge'
              items: false
            - type: array
              minItems: 1
              prefixItems:
                - $ref: '#/components/schemas/bridgeSwap'
              items: false
            - type: array
              minItems: 2
              prefixItems:
                - $ref: '#/components/schemas/bridge'
                - $ref: '#/components/schemas/postBridgeAction'
              items: false
            - type: array
              minItems: 2
              prefixItems:
                - $ref: '#/components/schemas/bridgeSwap'
                - $ref: '#/components/schemas/postBridgeAction'
              items: false
        _tag:
          type: string
          enum:
            - composite
      additionalProperties: false
    EthAddressSchema:
      type: string
      description: a string that will be trimmed
    TronAddressBasic:
      type: string
      description: Tron basic address format
      pattern: T[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]+
      title: maxLength(60)
      maxLength: 60
    SolanaAddress:
      type: string
    StellarMuxedAddress:
      type: string
    PropertyKey:
      anyOf:
        - type: string
        - type: number
        - type: object
          required:
            - _tag
            - key
          properties:
            _tag:
              type: string
              enum:
                - symbol
            key:
              type: string
          additionalProperties: false
          description: an object to be decoded into a globally shared symbol
    StarknetFelt:
      type: string
      description: a string that will be trimmed
  securitySchemes:
    bearer:
      description: JWT token for authentication
      type: http
      scheme: bearer
    legacyApiKey:
      type: apiKey
      name: authorization
      in: header

````