> ## 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.

# Obtain a list of previously generated webhook events

> This endpoint provides the webhook events generated for your project since a given point in time, using cursor-based pagination. It can be used to reconcile or replay events, for example where your webhook endpoint was unavailable at the time an event was sent.



## 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: Obtain a list of previously generated webhook events
      description: >-
        This endpoint provides the webhook events generated for your project
        since a given point in time, using cursor-based pagination. It can be
        used to reconcile or replay events, for example where your webhook
        endpoint was unavailable at the time an event was sent.
      operationId: user-events.user-events-cursor
      parameters:
        - name: sinceTimestamp
          in: query
          schema:
            type: string
            description: >-
              The date and time that events should be returned from, in
              milliseconds since epoch. Filtering is inclusive: events that
              occurred at or after this time are included.
          required: true
          description: >-
            The date and time that events should be returned from, in
            milliseconds since epoch. Filtering is inclusive: events that
            occurred at or after this time are included.
        - name: pageToken
          in: query
          schema:
            $ref: '#/components/schemas/PageToken'
          required: false
        - name: pageSize
          in: query
          schema:
            type: string
            description: >-
              The number of results to display per pageToken, e.g. "25".
              Defaults to 20 and cannot exceed 50.
            title: lessThanOrEqualTo(50)
          required: false
          description: >-
            The number of results to display per pageToken, e.g. "25". Defaults
            to 20 and cannot exceed 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:
    PageToken:
      type: string
      description: Cursor returned as nextPageToken by a previous page
      pattern: ^[0-9a-f]{24}$
    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'
          description: >-
            The webhook events for the project that occurred after the given
            sinceTimestamp.
        nextPageToken:
          anyOf:
            - $ref: '#/components/schemas/NonEmptyString'
            - type: 'null'
          description: >-
            The next page of results that can be used within the pageToken query
            param for further results. Null when there are no further results.
      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
              description: The projectID that the transaction is associated with.
            chainIn:
              type: string
              description: The blockchain that the tokens were bridged from.
            chainOut:
              type: string
              description: The blockchain that the tokens were bridged to.
            amountIn:
              type: string
              description: The native value of the tokens that were sent on the chainIn.
            amountInUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainIn.
            amountOut:
              type: string
              description: The native value of the tokens that were sent on the chainOut.
            amountOutUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainOut.
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
              description: >-
                The amount of native gas token (e.g. ETH, MATIC, BNB) that was
                delivered to the user's wallet on the destination chain as part
                of gas boost functionality, where Rhino.fi delivers a small
                amount of native gas token to the destination address, ensuring
                that further transactions from this address can be made
                immediately.
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: The value, in USD, of amountNative.
            fee:
              type: string
              description: >-
                The total cost of the transaction as paid by the end customer,
                denominated in the token.
            feeUsd:
              type: number
              description: The total cost, in USD, of the transaction.
            gasFee:
              type: string
              description: >-
                Any chain specific costs charged to the end customer for the
                chainOut part of the overall transaction. Further information
                about which chains have these associated costs can be found
                here:
                https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                If these costs are being paid by the client then this value will
                be zero and the gasFee and gasFeeUsd in the sponsored fee body
                will be non-zero.
            gasFeeUsd:
              type: number
              description: The gasFee value, in USD.
            platformFee:
              type: string
              description: >-
                The resulting fee charged from the $-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            platformFeeUsd:
              type: number
              description: The platformFee value, in USD.
            percentageFee:
              type: string
              description: >-
                The resulting fee charged from the %-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            percentageFeeUsd:
              type: number
              description: The percentageFee value, in USD.
            sourceGasFee:
              type: string
              description: >-
                The cost on the chainIn to sweep the received tokens into
                Rhino.fi's control. For legacy clients this is deducted from the
                tokens sent on the chainOut. For PAYG/Subscription tier clients
                this is paid by Rhino.fi as part of the PAYG/Subscription
                monthly cost so no direct cost is passed onto the end customer,
                unless configured this way. This is only relevant for
                transactions involving a Rhino.fi Smart Deposit Address; for
                bridging/swapping-only activity the sourceGasFee will be paid
                directly by the customer within their depositing transaction.
            sourceGasFeeUsd:
              type: number
              description: The sourceGasFee value, in USD.
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  type: string
                  description: The total cost of the transaction.
                feeUsd:
                  type: number
                  description: The total cost of the transaction, in USD.
                gasFee:
                  type: string
                  description: >-
                    Any chain specific costs charged to the client for the
                    chainOut part of the overall transaction. Further
                    information about which chains have these associated costs
                    can be found here:
                    https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                    If these costs are being passed on to the end user then this
                    value will be zero and the gasFee and gasFeeUsd in the main
                    fee body will be non-zero.
                gasFeeUsd:
                  type: number
                  description: The gasFee value, in USD.
                platformFee:
                  type: string
                  description: >-
                    The value of any additional fee levied on top by Rhino.fi
                    and paid by the client. This is only relevant for legacy
                    clients.
                platformFeeUsd:
                  type: number
                  description: The platformFee value, in USD.
                percentageFee:
                  type: string
                  description: >-
                    Will be zero since this represents a charge levied on the
                    end customer by the client. To understand the value charged
                    to the end customer, the percentageFee value from the main
                    fee body should be used. N.B. for PAYG/Subscription clients
                    this is now referred to as the "Client Surcharge".
                percentageFeeUsd:
                  type: number
                  description: The percentageFee value, in USD.
                sourceGasFee:
                  type: string
                  description: >-
                    The cost on the chainIn to sweep the received tokens into
                    Rhino.fi's control. For legacy clients this is deducted from
                    the tokens sent on the chainOut. For PAYG/Subscription tier
                    clients this is paid by Rhino.fi as part of the
                    PAYG/Subscription monthly cost so no direct cost is passed
                    onto the client, unless configured to be passed onto the end
                    customer. This is only relevant for transactions involving a
                    Rhino.fi Smart Deposit Address; for bridging/swapping-only
                    activity the sourceGasFee will be paid directly by the
                    customer within their depositing transaction.
                sourceGasFeeUsd:
                  type: number
                  description: The sourceGasFee value, in USD.
              additionalProperties: false
              description: >-
                For both legacy and PAYG/Subscription clients, represents the
                fees that are paid by the client on behalf of the end customer.
            recipient:
              type: string
              description: The address on the chainOut that received the bridged tokens.
            depositor:
              type: string
              description: The address on the chainIn that sent the tokens for bridging.
            createdAt:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                created.
            commitmentDate:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                committed with Rhino.fi.
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
              description: >-
                Provides information about whether the transaction is expected
                to be completed "fast" (typically under 30 seconds), "standard"
                (typically under a minute) or "slow" (can be up to 20 minutes).
                For more information on our bridge processing speeds please read
                this article on the Rhino.fi Knowledge Base:
                https://learn.rhino.fi/articles/8257872655-bridge-speed.
            estimatedDuration:
              type: number
              description: >-
                The estimated time for the transaction to complete in
                milliseconds.
              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'
                - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
              description: >-
                Custom Routing Rules as configured by Rhino.fi for a specific
                client, e.g. to move funds after the initial bridge into a yield
                bearing vault. To understand more about how Routing Rules can
                help automate onchain actions and ensure that your funds land in
                an active state, please contact your Rhino.fi Customer Success
                Manager or speak to a member of the Rhino.fi sales team.
            flowCredits:
              type: number
              description: >-
                The number of Flow Credits that this transaction will use from
                the client's agreed Rhino.fi PAYG/Subscription tier.
            token:
              type: string
              description: >-
                The asset being bridged, sent on the chainIn and received on the
                chainOut.
            usdPrice:
              type: number
              description: The USD price of the token at the time the quote was created.
            _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
              description: The projectID that the transaction is associated with.
            chainIn:
              type: string
              description: The blockchain that the tokens were bridged from.
            chainOut:
              type: string
              description: The blockchain that the tokens were bridged to.
            amountIn:
              type: string
              description: The native value of the tokens that were sent on the chainIn.
            amountInUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainIn.
            amountOut:
              type: string
              description: The native value of the tokens that were sent on the chainOut.
            amountOutUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainOut.
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
              description: >-
                The amount of native gas token (e.g. ETH, MATIC, BNB) that was
                delivered to the user's wallet on the destination chain as part
                of gas boost functionality, where Rhino.fi delivers a small
                amount of native gas token to the destination address, ensuring
                that further transactions from this address can be made
                immediately.
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: The value, in USD, of amountNative.
            fee:
              type: string
              description: >-
                The total cost of the transaction as paid by the end customer,
                denominated in the token.
            feeUsd:
              type: number
              description: The total cost, in USD, of the transaction.
            gasFee:
              type: string
              description: >-
                Any chain specific costs charged to the end customer for the
                chainOut part of the overall transaction. Further information
                about which chains have these associated costs can be found
                here:
                https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                If these costs are being paid by the client then this value will
                be zero and the gasFee and gasFeeUsd in the sponsored fee body
                will be non-zero.
            gasFeeUsd:
              type: number
              description: The gasFee value, in USD.
            platformFee:
              type: string
              description: >-
                The resulting fee charged from the $-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            platformFeeUsd:
              type: number
              description: The platformFee value, in USD.
            percentageFee:
              type: string
              description: >-
                The resulting fee charged from the %-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            percentageFeeUsd:
              type: number
              description: The percentageFee value, in USD.
            sourceGasFee:
              type: string
              description: >-
                The cost on the chainIn to sweep the received tokens into
                Rhino.fi's control. For legacy clients this is deducted from the
                tokens sent on the chainOut. For PAYG/Subscription tier clients
                this is paid by Rhino.fi as part of the PAYG/Subscription
                monthly cost so no direct cost is passed onto the end customer,
                unless configured this way. This is only relevant for
                transactions involving a Rhino.fi Smart Deposit Address; for
                bridging/swapping-only activity the sourceGasFee will be paid
                directly by the customer within their depositing transaction.
            sourceGasFeeUsd:
              type: number
              description: The sourceGasFee value, in USD.
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  type: string
                  description: The total cost of the transaction.
                feeUsd:
                  type: number
                  description: The total cost of the transaction, in USD.
                gasFee:
                  type: string
                  description: >-
                    Any chain specific costs charged to the client for the
                    chainOut part of the overall transaction. Further
                    information about which chains have these associated costs
                    can be found here:
                    https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                    If these costs are being passed on to the end user then this
                    value will be zero and the gasFee and gasFeeUsd in the main
                    fee body will be non-zero.
                gasFeeUsd:
                  type: number
                  description: The gasFee value, in USD.
                platformFee:
                  type: string
                  description: >-
                    The value of any additional fee levied on top by Rhino.fi
                    and paid by the client. This is only relevant for legacy
                    clients.
                platformFeeUsd:
                  type: number
                  description: The platformFee value, in USD.
                percentageFee:
                  type: string
                  description: >-
                    Will be zero since this represents a charge levied on the
                    end customer by the client. To understand the value charged
                    to the end customer, the percentageFee value from the main
                    fee body should be used. N.B. for PAYG/Subscription clients
                    this is now referred to as the "Client Surcharge".
                percentageFeeUsd:
                  type: number
                  description: The percentageFee value, in USD.
                sourceGasFee:
                  type: string
                  description: >-
                    The cost on the chainIn to sweep the received tokens into
                    Rhino.fi's control. For legacy clients this is deducted from
                    the tokens sent on the chainOut. For PAYG/Subscription tier
                    clients this is paid by Rhino.fi as part of the
                    PAYG/Subscription monthly cost so no direct cost is passed
                    onto the client, unless configured to be passed onto the end
                    customer. This is only relevant for transactions involving a
                    Rhino.fi Smart Deposit Address; for bridging/swapping-only
                    activity the sourceGasFee will be paid directly by the
                    customer within their depositing transaction.
                sourceGasFeeUsd:
                  type: number
                  description: The sourceGasFee value, in USD.
              additionalProperties: false
              description: >-
                For both legacy and PAYG/Subscription clients, represents the
                fees that are paid by the client on behalf of the end customer.
            recipient:
              type: string
              description: The address on the chainOut that received the bridged tokens.
            depositor:
              type: string
              description: The address on the chainIn that sent the tokens for bridging.
            createdAt:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                created.
            commitmentDate:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                committed with Rhino.fi.
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
              description: >-
                Provides information about whether the transaction is expected
                to be completed "fast" (typically under 30 seconds), "standard"
                (typically under a minute) or "slow" (can be up to 20 minutes).
                For more information on our bridge processing speeds please read
                this article on the Rhino.fi Knowledge Base:
                https://learn.rhino.fi/articles/8257872655-bridge-speed.
            estimatedDuration:
              type: number
              description: >-
                The estimated time for the transaction to complete in
                milliseconds.
              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'
                - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
              description: >-
                Custom Routing Rules as configured by Rhino.fi for a specific
                client, e.g. to move funds after the initial bridge into a yield
                bearing vault. To understand more about how Routing Rules can
                help automate onchain actions and ensure that your funds land in
                an active state, please contact your Rhino.fi Customer Success
                Manager or speak to a member of the Rhino.fi sales team.
            flowCredits:
              type: number
              description: >-
                The number of Flow Credits that this transaction will use from
                the client's agreed Rhino.fi PAYG/Subscription tier.
            tokenIn:
              type: string
              description: The asset that was sent on the chainIn.
            tokenOut:
              type: string
              description: The asset that was received on the chainOut.
            minAmountOut:
              type: string
              description: >-
                The minimum native value of tokenOut guaranteed to be received
                on the chainOut, after slippage.
            minAmountOutUsd:
              type: number
              description: The USD value of the minAmountOut.
            usdPriceTokenIn:
              type: number
              description: The USD price of the tokenIn at the time the quote was created.
            usdPriceTokenOut:
              type: number
              description: The USD price of the tokenOut at the time the quote was created.
            preSwap:
              $ref: '#/components/schemas/SwapQuote'
            postSwap:
              $ref: '#/components/schemas/SwapQuote'
            mode:
              type: string
              enum:
                - pay
                - receive
              description: >-
                Whether the amount represented the sending ("pay") or receiving
                ("receive") amount when the quote was generated.
            isAtomicSwap:
              type: boolean
              description: Whether the transaction was executed as an atomic swap.
            swapFeeMultiplier:
              type: string
              description: The multiplier applied to the swap fee for this transaction.
            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
              description: The projectID that the transaction is associated with.
            chainIn:
              type: string
              description: The blockchain that the tokens were bridged from.
            chainOut:
              type: string
              description: The blockchain that the tokens were bridged to.
            amountIn:
              type: string
              description: The native value of the tokens that were sent on the chainIn.
            amountInUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainIn.
            amountOut:
              type: string
              description: The native value of the tokens that were sent on the chainOut.
            amountOutUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainOut.
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
              description: >-
                The amount of native gas token (e.g. ETH, MATIC, BNB) that was
                delivered to the user's wallet on the destination chain as part
                of gas boost functionality, where Rhino.fi delivers a small
                amount of native gas token to the destination address, ensuring
                that further transactions from this address can be made
                immediately.
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: The value, in USD, of amountNative.
            fee:
              type: string
              description: >-
                The total cost of the transaction as paid by the end customer,
                denominated in the token.
            feeUsd:
              type: number
              description: The total cost, in USD, of the transaction.
            gasFee:
              type: string
              description: >-
                Any chain specific costs charged to the end customer for the
                chainOut part of the overall transaction. Further information
                about which chains have these associated costs can be found
                here:
                https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                If these costs are being paid by the client then this value will
                be zero and the gasFee and gasFeeUsd in the sponsored fee body
                will be non-zero.
            gasFeeUsd:
              type: number
              description: The gasFee value, in USD.
            platformFee:
              type: string
              description: >-
                The resulting fee charged from the $-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            platformFeeUsd:
              type: number
              description: The platformFee value, in USD.
            percentageFee:
              type: string
              description: >-
                The resulting fee charged from the %-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            percentageFeeUsd:
              type: number
              description: The percentageFee value, in USD.
            sourceGasFee:
              type: string
              description: >-
                The cost on the chainIn to sweep the received tokens into
                Rhino.fi's control. For legacy clients this is deducted from the
                tokens sent on the chainOut. For PAYG/Subscription tier clients
                this is paid by Rhino.fi as part of the PAYG/Subscription
                monthly cost so no direct cost is passed onto the end customer,
                unless configured this way. This is only relevant for
                transactions involving a Rhino.fi Smart Deposit Address; for
                bridging/swapping-only activity the sourceGasFee will be paid
                directly by the customer within their depositing transaction.
            sourceGasFeeUsd:
              type: number
              description: The sourceGasFee value, in USD.
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  type: string
                  description: The total cost of the transaction.
                feeUsd:
                  type: number
                  description: The total cost of the transaction, in USD.
                gasFee:
                  type: string
                  description: >-
                    Any chain specific costs charged to the client for the
                    chainOut part of the overall transaction. Further
                    information about which chains have these associated costs
                    can be found here:
                    https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                    If these costs are being passed on to the end user then this
                    value will be zero and the gasFee and gasFeeUsd in the main
                    fee body will be non-zero.
                gasFeeUsd:
                  type: number
                  description: The gasFee value, in USD.
                platformFee:
                  type: string
                  description: >-
                    The value of any additional fee levied on top by Rhino.fi
                    and paid by the client. This is only relevant for legacy
                    clients.
                platformFeeUsd:
                  type: number
                  description: The platformFee value, in USD.
                percentageFee:
                  type: string
                  description: >-
                    Will be zero since this represents a charge levied on the
                    end customer by the client. To understand the value charged
                    to the end customer, the percentageFee value from the main
                    fee body should be used. N.B. for PAYG/Subscription clients
                    this is now referred to as the "Client Surcharge".
                percentageFeeUsd:
                  type: number
                  description: The percentageFee value, in USD.
                sourceGasFee:
                  type: string
                  description: >-
                    The cost on the chainIn to sweep the received tokens into
                    Rhino.fi's control. For legacy clients this is deducted from
                    the tokens sent on the chainOut. For PAYG/Subscription tier
                    clients this is paid by Rhino.fi as part of the
                    PAYG/Subscription monthly cost so no direct cost is passed
                    onto the client, unless configured to be passed onto the end
                    customer. This is only relevant for transactions involving a
                    Rhino.fi Smart Deposit Address; for bridging/swapping-only
                    activity the sourceGasFee will be paid directly by the
                    customer within their depositing transaction.
                sourceGasFeeUsd:
                  type: number
                  description: The sourceGasFee value, in USD.
              additionalProperties: false
              description: >-
                For both legacy and PAYG/Subscription clients, represents the
                fees that are paid by the client on behalf of the end customer.
            recipient:
              type: string
              description: The address on the chainOut that received the bridged tokens.
            depositor:
              type: string
              description: The address on the chainIn that sent the tokens for bridging.
            createdAt:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                created.
            commitmentDate:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                committed with Rhino.fi.
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
              description: >-
                Provides information about whether the transaction is expected
                to be completed "fast" (typically under 30 seconds), "standard"
                (typically under a minute) or "slow" (can be up to 20 minutes).
                For more information on our bridge processing speeds please read
                this article on the Rhino.fi Knowledge Base:
                https://learn.rhino.fi/articles/8257872655-bridge-speed.
            estimatedDuration:
              type: number
              description: >-
                The estimated time for the transaction to complete in
                milliseconds.
              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'
                - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
              description: >-
                Custom Routing Rules as configured by Rhino.fi for a specific
                client, e.g. to move funds after the initial bridge into a yield
                bearing vault. To understand more about how Routing Rules can
                help automate onchain actions and ensure that your funds land in
                an active state, please contact your Rhino.fi Customer Success
                Manager or speak to a member of the Rhino.fi sales team.
            flowCredits:
              type: number
              description: >-
                The number of Flow Credits that this transaction will use from
                the client's agreed Rhino.fi PAYG/Subscription tier.
            token:
              type: string
              description: >-
                The asset being bridged, sent on the chainIn and received on the
                chainOut.
            usdPrice:
              type: number
              description: The USD price of the token at the time the quote was created.
            _tag:
              type: string
              enum:
                - BRIDGE_ACCEPTED
            depositTxHash:
              type: string
              description: The transaction hash of the deposit made on the chainIn.
            depositCommittedAt:
              type: string
              description: >-
                The datetime that the deposit transaction was committed on the
                chainIn.
            depositDiscoveredAt:
              type: string
              description: >-
                The datetime that Rhino.fi first discovered the deposit
                transaction on the chainIn.
            depositConfirmedAt:
              type: string
              description: >-
                The datetime that the deposit transaction reached the required
                number of confirmations on the chainIn.
            expectedDepositConfirmedAt:
              type: string
              description: >-
                The datetime that the deposit transaction is expected to reach
                the required number of confirmations on the chainIn.
            expectedDepositConfirmedAtBlock:
              type: integer
              description: >-
                The block on the chainIn at which the deposit transaction is
                expected to reach the required number of confirmations.
              title: int
            preSwapTxHash:
              type: string
              description: >-
                The transaction hash of the swap performed on the chainIn before
                bridging.
            preSwapCommittedAt:
              type: string
              description: >-
                The datetime that the pre-bridge swap was committed on the
                chainIn.
            isConfirmed:
              type: boolean
              description: >-
                Whether the deposit transaction has reached the required number
                of confirmations on the chainIn.
            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
              description: The projectID that the transaction is associated with.
            chainIn:
              type: string
              description: The blockchain that the tokens were bridged from.
            chainOut:
              type: string
              description: The blockchain that the tokens were bridged to.
            amountIn:
              type: string
              description: The native value of the tokens that were sent on the chainIn.
            amountInUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainIn.
            amountOut:
              type: string
              description: The native value of the tokens that were sent on the chainOut.
            amountOutUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainOut.
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
              description: >-
                The amount of native gas token (e.g. ETH, MATIC, BNB) that was
                delivered to the user's wallet on the destination chain as part
                of gas boost functionality, where Rhino.fi delivers a small
                amount of native gas token to the destination address, ensuring
                that further transactions from this address can be made
                immediately.
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: The value, in USD, of amountNative.
            fee:
              type: string
              description: >-
                The total cost of the transaction as paid by the end customer,
                denominated in the token.
            feeUsd:
              type: number
              description: The total cost, in USD, of the transaction.
            gasFee:
              type: string
              description: >-
                Any chain specific costs charged to the end customer for the
                chainOut part of the overall transaction. Further information
                about which chains have these associated costs can be found
                here:
                https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                If these costs are being paid by the client then this value will
                be zero and the gasFee and gasFeeUsd in the sponsored fee body
                will be non-zero.
            gasFeeUsd:
              type: number
              description: The gasFee value, in USD.
            platformFee:
              type: string
              description: >-
                The resulting fee charged from the $-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            platformFeeUsd:
              type: number
              description: The platformFee value, in USD.
            percentageFee:
              type: string
              description: >-
                The resulting fee charged from the %-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            percentageFeeUsd:
              type: number
              description: The percentageFee value, in USD.
            sourceGasFee:
              type: string
              description: >-
                The cost on the chainIn to sweep the received tokens into
                Rhino.fi's control. For legacy clients this is deducted from the
                tokens sent on the chainOut. For PAYG/Subscription tier clients
                this is paid by Rhino.fi as part of the PAYG/Subscription
                monthly cost so no direct cost is passed onto the end customer,
                unless configured this way. This is only relevant for
                transactions involving a Rhino.fi Smart Deposit Address; for
                bridging/swapping-only activity the sourceGasFee will be paid
                directly by the customer within their depositing transaction.
            sourceGasFeeUsd:
              type: number
              description: The sourceGasFee value, in USD.
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  type: string
                  description: The total cost of the transaction.
                feeUsd:
                  type: number
                  description: The total cost of the transaction, in USD.
                gasFee:
                  type: string
                  description: >-
                    Any chain specific costs charged to the client for the
                    chainOut part of the overall transaction. Further
                    information about which chains have these associated costs
                    can be found here:
                    https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                    If these costs are being passed on to the end user then this
                    value will be zero and the gasFee and gasFeeUsd in the main
                    fee body will be non-zero.
                gasFeeUsd:
                  type: number
                  description: The gasFee value, in USD.
                platformFee:
                  type: string
                  description: >-
                    The value of any additional fee levied on top by Rhino.fi
                    and paid by the client. This is only relevant for legacy
                    clients.
                platformFeeUsd:
                  type: number
                  description: The platformFee value, in USD.
                percentageFee:
                  type: string
                  description: >-
                    Will be zero since this represents a charge levied on the
                    end customer by the client. To understand the value charged
                    to the end customer, the percentageFee value from the main
                    fee body should be used. N.B. for PAYG/Subscription clients
                    this is now referred to as the "Client Surcharge".
                percentageFeeUsd:
                  type: number
                  description: The percentageFee value, in USD.
                sourceGasFee:
                  type: string
                  description: >-
                    The cost on the chainIn to sweep the received tokens into
                    Rhino.fi's control. For legacy clients this is deducted from
                    the tokens sent on the chainOut. For PAYG/Subscription tier
                    clients this is paid by Rhino.fi as part of the
                    PAYG/Subscription monthly cost so no direct cost is passed
                    onto the client, unless configured to be passed onto the end
                    customer. This is only relevant for transactions involving a
                    Rhino.fi Smart Deposit Address; for bridging/swapping-only
                    activity the sourceGasFee will be paid directly by the
                    customer within their depositing transaction.
                sourceGasFeeUsd:
                  type: number
                  description: The sourceGasFee value, in USD.
              additionalProperties: false
              description: >-
                For both legacy and PAYG/Subscription clients, represents the
                fees that are paid by the client on behalf of the end customer.
            recipient:
              type: string
              description: The address on the chainOut that received the bridged tokens.
            depositor:
              type: string
              description: The address on the chainIn that sent the tokens for bridging.
            createdAt:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                created.
            commitmentDate:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                committed with Rhino.fi.
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
              description: >-
                Provides information about whether the transaction is expected
                to be completed "fast" (typically under 30 seconds), "standard"
                (typically under a minute) or "slow" (can be up to 20 minutes).
                For more information on our bridge processing speeds please read
                this article on the Rhino.fi Knowledge Base:
                https://learn.rhino.fi/articles/8257872655-bridge-speed.
            estimatedDuration:
              type: number
              description: >-
                The estimated time for the transaction to complete in
                milliseconds.
              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'
                - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
              description: >-
                Custom Routing Rules as configured by Rhino.fi for a specific
                client, e.g. to move funds after the initial bridge into a yield
                bearing vault. To understand more about how Routing Rules can
                help automate onchain actions and ensure that your funds land in
                an active state, please contact your Rhino.fi Customer Success
                Manager or speak to a member of the Rhino.fi sales team.
            flowCredits:
              type: number
              description: >-
                The number of Flow Credits that this transaction will use from
                the client's agreed Rhino.fi PAYG/Subscription tier.
            tokenIn:
              type: string
              description: The asset that was sent on the chainIn.
            tokenOut:
              type: string
              description: The asset that was received on the chainOut.
            minAmountOut:
              type: string
              description: >-
                The minimum native value of tokenOut guaranteed to be received
                on the chainOut, after slippage.
            minAmountOutUsd:
              type: number
              description: The USD value of the minAmountOut.
            usdPriceTokenIn:
              type: number
              description: The USD price of the tokenIn at the time the quote was created.
            usdPriceTokenOut:
              type: number
              description: The USD price of the tokenOut at the time the quote was created.
            preSwap:
              $ref: '#/components/schemas/SwapQuote'
            postSwap:
              $ref: '#/components/schemas/SwapQuote'
            mode:
              type: string
              enum:
                - pay
                - receive
              description: >-
                Whether the amount represented the sending ("pay") or receiving
                ("receive") amount when the quote was generated.
            isAtomicSwap:
              type: boolean
              description: Whether the transaction was executed as an atomic swap.
            swapFeeMultiplier:
              type: string
              description: The multiplier applied to the swap fee for this transaction.
            depositTxHash:
              type: string
              description: The transaction hash of the deposit made on the chainIn.
            depositCommittedAt:
              type: string
              description: >-
                The datetime that the deposit transaction was committed on the
                chainIn.
            depositDiscoveredAt:
              type: string
              description: >-
                The datetime that Rhino.fi first discovered the deposit
                transaction on the chainIn.
            depositConfirmedAt:
              type: string
              description: >-
                The datetime that the deposit transaction reached the required
                number of confirmations on the chainIn.
            expectedDepositConfirmedAt:
              type: string
              description: >-
                The datetime that the deposit transaction is expected to reach
                the required number of confirmations on the chainIn.
            expectedDepositConfirmedAtBlock:
              type: integer
              description: >-
                The block on the chainIn at which the deposit transaction is
                expected to reach the required number of confirmations.
              title: int
            preSwapTxHash:
              type: string
              description: >-
                The transaction hash of the swap performed on the chainIn before
                bridging.
            preSwapCommittedAt:
              type: string
              description: >-
                The datetime that the pre-bridge swap was committed on the
                chainIn.
            isConfirmed:
              type: boolean
              description: >-
                Whether the deposit transaction has reached the required number
                of confirmations on the chainIn.
            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
              description: The projectID that the transaction is associated with.
            chainIn:
              type: string
              description: The blockchain that the tokens were bridged from.
            chainOut:
              type: string
              description: The blockchain that the tokens were bridged to.
            amountIn:
              type: string
              description: The native value of the tokens that were sent on the chainIn.
            amountInUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainIn.
            amountOut:
              type: string
              description: The native value of the tokens that were sent on the chainOut.
            amountOutUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainOut.
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
              description: >-
                The amount of native gas token (e.g. ETH, MATIC, BNB) that was
                delivered to the user's wallet on the destination chain as part
                of gas boost functionality, where Rhino.fi delivers a small
                amount of native gas token to the destination address, ensuring
                that further transactions from this address can be made
                immediately.
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: The value, in USD, of amountNative.
            fee:
              type: string
              description: >-
                The total cost of the transaction as paid by the end customer,
                denominated in the token.
            feeUsd:
              type: number
              description: The total cost, in USD, of the transaction.
            gasFee:
              type: string
              description: >-
                Any chain specific costs charged to the end customer for the
                chainOut part of the overall transaction. Further information
                about which chains have these associated costs can be found
                here:
                https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                If these costs are being paid by the client then this value will
                be zero and the gasFee and gasFeeUsd in the sponsored fee body
                will be non-zero.
            gasFeeUsd:
              type: number
              description: The gasFee value, in USD.
            platformFee:
              type: string
              description: >-
                The resulting fee charged from the $-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            platformFeeUsd:
              type: number
              description: The platformFee value, in USD.
            percentageFee:
              type: string
              description: >-
                The resulting fee charged from the %-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            percentageFeeUsd:
              type: number
              description: The percentageFee value, in USD.
            sourceGasFee:
              type: string
              description: >-
                The cost on the chainIn to sweep the received tokens into
                Rhino.fi's control. For legacy clients this is deducted from the
                tokens sent on the chainOut. For PAYG/Subscription tier clients
                this is paid by Rhino.fi as part of the PAYG/Subscription
                monthly cost so no direct cost is passed onto the end customer,
                unless configured this way. This is only relevant for
                transactions involving a Rhino.fi Smart Deposit Address; for
                bridging/swapping-only activity the sourceGasFee will be paid
                directly by the customer within their depositing transaction.
            sourceGasFeeUsd:
              type: number
              description: The sourceGasFee value, in USD.
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  type: string
                  description: The total cost of the transaction.
                feeUsd:
                  type: number
                  description: The total cost of the transaction, in USD.
                gasFee:
                  type: string
                  description: >-
                    Any chain specific costs charged to the client for the
                    chainOut part of the overall transaction. Further
                    information about which chains have these associated costs
                    can be found here:
                    https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                    If these costs are being passed on to the end user then this
                    value will be zero and the gasFee and gasFeeUsd in the main
                    fee body will be non-zero.
                gasFeeUsd:
                  type: number
                  description: The gasFee value, in USD.
                platformFee:
                  type: string
                  description: >-
                    The value of any additional fee levied on top by Rhino.fi
                    and paid by the client. This is only relevant for legacy
                    clients.
                platformFeeUsd:
                  type: number
                  description: The platformFee value, in USD.
                percentageFee:
                  type: string
                  description: >-
                    Will be zero since this represents a charge levied on the
                    end customer by the client. To understand the value charged
                    to the end customer, the percentageFee value from the main
                    fee body should be used. N.B. for PAYG/Subscription clients
                    this is now referred to as the "Client Surcharge".
                percentageFeeUsd:
                  type: number
                  description: The percentageFee value, in USD.
                sourceGasFee:
                  type: string
                  description: >-
                    The cost on the chainIn to sweep the received tokens into
                    Rhino.fi's control. For legacy clients this is deducted from
                    the tokens sent on the chainOut. For PAYG/Subscription tier
                    clients this is paid by Rhino.fi as part of the
                    PAYG/Subscription monthly cost so no direct cost is passed
                    onto the client, unless configured to be passed onto the end
                    customer. This is only relevant for transactions involving a
                    Rhino.fi Smart Deposit Address; for bridging/swapping-only
                    activity the sourceGasFee will be paid directly by the
                    customer within their depositing transaction.
                sourceGasFeeUsd:
                  type: number
                  description: The sourceGasFee value, in USD.
              additionalProperties: false
              description: >-
                For both legacy and PAYG/Subscription clients, represents the
                fees that are paid by the client on behalf of the end customer.
            recipient:
              type: string
              description: The address on the chainOut that received the bridged tokens.
            depositor:
              type: string
              description: The address on the chainIn that sent the tokens for bridging.
            createdAt:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                created.
            commitmentDate:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                committed with Rhino.fi.
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
              description: >-
                Provides information about whether the transaction is expected
                to be completed "fast" (typically under 30 seconds), "standard"
                (typically under a minute) or "slow" (can be up to 20 minutes).
                For more information on our bridge processing speeds please read
                this article on the Rhino.fi Knowledge Base:
                https://learn.rhino.fi/articles/8257872655-bridge-speed.
            estimatedDuration:
              type: number
              description: >-
                The estimated time for the transaction to complete in
                milliseconds.
              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'
                - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
              description: >-
                Custom Routing Rules as configured by Rhino.fi for a specific
                client, e.g. to move funds after the initial bridge into a yield
                bearing vault. To understand more about how Routing Rules can
                help automate onchain actions and ensure that your funds land in
                an active state, please contact your Rhino.fi Customer Success
                Manager or speak to a member of the Rhino.fi sales team.
            flowCredits:
              type: number
              description: >-
                The number of Flow Credits that this transaction will use from
                the client's agreed Rhino.fi PAYG/Subscription tier.
            token:
              type: string
              description: >-
                The asset deposited into the Smart Deposit Address on the
                chainIn. Where the deposit address performs a swap, the asset
                received on the chainOut may differ.
            tokenOut:
              type: string
              description: >-
                The asset received on the chainOut where the deposit address
                performs a swap.
            usdPrice:
              type: number
              description: The USD price of the token at the time the quote was created.
            depositAddress:
              type: string
              description: >-
                The Rhino.fi Smart Deposit Address that the tokens were
                deposited to.
            preSwap:
              $ref: '#/components/schemas/SwapQuote'
            postSwap:
              $ref: '#/components/schemas/SwapQuote'
            depositTxHash:
              type: string
              description: The transaction hash of the deposit made on the chainIn.
            depositCommittedAt:
              type: string
              description: >-
                The datetime that the deposit transaction was committed on the
                chainIn.
            depositDiscoveredAt:
              type: string
              description: >-
                The datetime that Rhino.fi first discovered the deposit
                transaction on the chainIn.
            depositConfirmedAt:
              type: string
              description: >-
                The datetime that the deposit transaction reached the required
                number of confirmations on the chainIn.
            expectedDepositConfirmedAt:
              type: string
              description: >-
                The datetime that the deposit transaction is expected to reach
                the required number of confirmations on the chainIn.
            expectedDepositConfirmedAtBlock:
              type: integer
              description: >-
                The block on the chainIn at which the deposit transaction is
                expected to reach the required number of confirmations.
              title: int
            preSwapTxHash:
              type: string
              description: >-
                The transaction hash of the swap performed on the chainIn before
                bridging.
            preSwapCommittedAt:
              type: string
              description: >-
                The datetime that the pre-bridge swap was committed on the
                chainIn.
            isConfirmed:
              type: boolean
              description: >-
                Whether the deposit transaction has reached the required number
                of confirmations on the chainIn.
            type:
              type: string
              enum:
                - depositAddressBridge
            addressNote:
              type: string
              description: >-
                A note or label for the deposit address as a reference, e.g.
                "ClientID123456" (max 80 characters).
              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
              description: The projectID that the transaction is associated with.
            chainIn:
              type: string
              description: The blockchain that the tokens were bridged from.
            chainOut:
              type: string
              description: The blockchain that the tokens were bridged to.
            amountIn:
              type: string
              description: The native value of the tokens that were sent on the chainIn.
            amountInUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainIn.
            amountOut:
              type: string
              description: The native value of the tokens that were sent on the chainOut.
            amountOutUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainOut.
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
              description: >-
                The amount of native gas token (e.g. ETH, MATIC, BNB) that was
                delivered to the user's wallet on the destination chain as part
                of gas boost functionality, where Rhino.fi delivers a small
                amount of native gas token to the destination address, ensuring
                that further transactions from this address can be made
                immediately.
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: The value, in USD, of amountNative.
            fee:
              type: string
              description: >-
                The total cost of the transaction as paid by the end customer,
                denominated in the token.
            feeUsd:
              type: number
              description: The total cost, in USD, of the transaction.
            gasFee:
              type: string
              description: >-
                Any chain specific costs charged to the end customer for the
                chainOut part of the overall transaction. Further information
                about which chains have these associated costs can be found
                here:
                https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                If these costs are being paid by the client then this value will
                be zero and the gasFee and gasFeeUsd in the sponsored fee body
                will be non-zero.
            gasFeeUsd:
              type: number
              description: The gasFee value, in USD.
            platformFee:
              type: string
              description: >-
                The resulting fee charged from the $-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            platformFeeUsd:
              type: number
              description: The platformFee value, in USD.
            percentageFee:
              type: string
              description: >-
                The resulting fee charged from the %-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            percentageFeeUsd:
              type: number
              description: The percentageFee value, in USD.
            sourceGasFee:
              type: string
              description: >-
                The cost on the chainIn to sweep the received tokens into
                Rhino.fi's control. For legacy clients this is deducted from the
                tokens sent on the chainOut. For PAYG/Subscription tier clients
                this is paid by Rhino.fi as part of the PAYG/Subscription
                monthly cost so no direct cost is passed onto the end customer,
                unless configured this way. This is only relevant for
                transactions involving a Rhino.fi Smart Deposit Address; for
                bridging/swapping-only activity the sourceGasFee will be paid
                directly by the customer within their depositing transaction.
            sourceGasFeeUsd:
              type: number
              description: The sourceGasFee value, in USD.
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  type: string
                  description: The total cost of the transaction.
                feeUsd:
                  type: number
                  description: The total cost of the transaction, in USD.
                gasFee:
                  type: string
                  description: >-
                    Any chain specific costs charged to the client for the
                    chainOut part of the overall transaction. Further
                    information about which chains have these associated costs
                    can be found here:
                    https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                    If these costs are being passed on to the end user then this
                    value will be zero and the gasFee and gasFeeUsd in the main
                    fee body will be non-zero.
                gasFeeUsd:
                  type: number
                  description: The gasFee value, in USD.
                platformFee:
                  type: string
                  description: >-
                    The value of any additional fee levied on top by Rhino.fi
                    and paid by the client. This is only relevant for legacy
                    clients.
                platformFeeUsd:
                  type: number
                  description: The platformFee value, in USD.
                percentageFee:
                  type: string
                  description: >-
                    Will be zero since this represents a charge levied on the
                    end customer by the client. To understand the value charged
                    to the end customer, the percentageFee value from the main
                    fee body should be used. N.B. for PAYG/Subscription clients
                    this is now referred to as the "Client Surcharge".
                percentageFeeUsd:
                  type: number
                  description: The percentageFee value, in USD.
                sourceGasFee:
                  type: string
                  description: >-
                    The cost on the chainIn to sweep the received tokens into
                    Rhino.fi's control. For legacy clients this is deducted from
                    the tokens sent on the chainOut. For PAYG/Subscription tier
                    clients this is paid by Rhino.fi as part of the
                    PAYG/Subscription monthly cost so no direct cost is passed
                    onto the client, unless configured to be passed onto the end
                    customer. This is only relevant for transactions involving a
                    Rhino.fi Smart Deposit Address; for bridging/swapping-only
                    activity the sourceGasFee will be paid directly by the
                    customer within their depositing transaction.
                sourceGasFeeUsd:
                  type: number
                  description: The sourceGasFee value, in USD.
              additionalProperties: false
              description: >-
                For both legacy and PAYG/Subscription clients, represents the
                fees that are paid by the client on behalf of the end customer.
            recipient:
              type: string
              description: The address on the chainOut that received the bridged tokens.
            depositor:
              type: string
              description: The address on the chainIn that sent the tokens for bridging.
            createdAt:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                created.
            commitmentDate:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                committed with Rhino.fi.
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
              description: >-
                Provides information about whether the transaction is expected
                to be completed "fast" (typically under 30 seconds), "standard"
                (typically under a minute) or "slow" (can be up to 20 minutes).
                For more information on our bridge processing speeds please read
                this article on the Rhino.fi Knowledge Base:
                https://learn.rhino.fi/articles/8257872655-bridge-speed.
            estimatedDuration:
              type: number
              description: >-
                The estimated time for the transaction to complete in
                milliseconds.
              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'
                - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
              description: >-
                Custom Routing Rules as configured by Rhino.fi for a specific
                client, e.g. to move funds after the initial bridge into a yield
                bearing vault. To understand more about how Routing Rules can
                help automate onchain actions and ensure that your funds land in
                an active state, please contact your Rhino.fi Customer Success
                Manager or speak to a member of the Rhino.fi sales team.
            flowCredits:
              type: number
              description: >-
                The number of Flow Credits that this transaction will use from
                the client's agreed Rhino.fi PAYG/Subscription tier.
            token:
              type: string
              description: >-
                The asset being bridged, sent on the chainIn and received on the
                chainOut.
            usdPrice:
              type: number
              description: The USD price of the token at the time the quote was created.
            _tag:
              type: string
              enum:
                - BRIDGE_CANCELLED
            cancelledAt:
              type: string
              description: The datetime that the transaction was cancelled.
          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
              description: The projectID that the transaction is associated with.
            chainIn:
              type: string
              description: The blockchain that the tokens were bridged from.
            chainOut:
              type: string
              description: The blockchain that the tokens were bridged to.
            amountIn:
              type: string
              description: The native value of the tokens that were sent on the chainIn.
            amountInUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainIn.
            amountOut:
              type: string
              description: The native value of the tokens that were sent on the chainOut.
            amountOutUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainOut.
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
              description: >-
                The amount of native gas token (e.g. ETH, MATIC, BNB) that was
                delivered to the user's wallet on the destination chain as part
                of gas boost functionality, where Rhino.fi delivers a small
                amount of native gas token to the destination address, ensuring
                that further transactions from this address can be made
                immediately.
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: The value, in USD, of amountNative.
            fee:
              type: string
              description: >-
                The total cost of the transaction as paid by the end customer,
                denominated in the token.
            feeUsd:
              type: number
              description: The total cost, in USD, of the transaction.
            gasFee:
              type: string
              description: >-
                Any chain specific costs charged to the end customer for the
                chainOut part of the overall transaction. Further information
                about which chains have these associated costs can be found
                here:
                https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                If these costs are being paid by the client then this value will
                be zero and the gasFee and gasFeeUsd in the sponsored fee body
                will be non-zero.
            gasFeeUsd:
              type: number
              description: The gasFee value, in USD.
            platformFee:
              type: string
              description: >-
                The resulting fee charged from the $-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            platformFeeUsd:
              type: number
              description: The platformFee value, in USD.
            percentageFee:
              type: string
              description: >-
                The resulting fee charged from the %-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            percentageFeeUsd:
              type: number
              description: The percentageFee value, in USD.
            sourceGasFee:
              type: string
              description: >-
                The cost on the chainIn to sweep the received tokens into
                Rhino.fi's control. For legacy clients this is deducted from the
                tokens sent on the chainOut. For PAYG/Subscription tier clients
                this is paid by Rhino.fi as part of the PAYG/Subscription
                monthly cost so no direct cost is passed onto the end customer,
                unless configured this way. This is only relevant for
                transactions involving a Rhino.fi Smart Deposit Address; for
                bridging/swapping-only activity the sourceGasFee will be paid
                directly by the customer within their depositing transaction.
            sourceGasFeeUsd:
              type: number
              description: The sourceGasFee value, in USD.
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  type: string
                  description: The total cost of the transaction.
                feeUsd:
                  type: number
                  description: The total cost of the transaction, in USD.
                gasFee:
                  type: string
                  description: >-
                    Any chain specific costs charged to the client for the
                    chainOut part of the overall transaction. Further
                    information about which chains have these associated costs
                    can be found here:
                    https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                    If these costs are being passed on to the end user then this
                    value will be zero and the gasFee and gasFeeUsd in the main
                    fee body will be non-zero.
                gasFeeUsd:
                  type: number
                  description: The gasFee value, in USD.
                platformFee:
                  type: string
                  description: >-
                    The value of any additional fee levied on top by Rhino.fi
                    and paid by the client. This is only relevant for legacy
                    clients.
                platformFeeUsd:
                  type: number
                  description: The platformFee value, in USD.
                percentageFee:
                  type: string
                  description: >-
                    Will be zero since this represents a charge levied on the
                    end customer by the client. To understand the value charged
                    to the end customer, the percentageFee value from the main
                    fee body should be used. N.B. for PAYG/Subscription clients
                    this is now referred to as the "Client Surcharge".
                percentageFeeUsd:
                  type: number
                  description: The percentageFee value, in USD.
                sourceGasFee:
                  type: string
                  description: >-
                    The cost on the chainIn to sweep the received tokens into
                    Rhino.fi's control. For legacy clients this is deducted from
                    the tokens sent on the chainOut. For PAYG/Subscription tier
                    clients this is paid by Rhino.fi as part of the
                    PAYG/Subscription monthly cost so no direct cost is passed
                    onto the client, unless configured to be passed onto the end
                    customer. This is only relevant for transactions involving a
                    Rhino.fi Smart Deposit Address; for bridging/swapping-only
                    activity the sourceGasFee will be paid directly by the
                    customer within their depositing transaction.
                sourceGasFeeUsd:
                  type: number
                  description: The sourceGasFee value, in USD.
              additionalProperties: false
              description: >-
                For both legacy and PAYG/Subscription clients, represents the
                fees that are paid by the client on behalf of the end customer.
            recipient:
              type: string
              description: The address on the chainOut that received the bridged tokens.
            depositor:
              type: string
              description: The address on the chainIn that sent the tokens for bridging.
            createdAt:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                created.
            commitmentDate:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                committed with Rhino.fi.
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
              description: >-
                Provides information about whether the transaction is expected
                to be completed "fast" (typically under 30 seconds), "standard"
                (typically under a minute) or "slow" (can be up to 20 minutes).
                For more information on our bridge processing speeds please read
                this article on the Rhino.fi Knowledge Base:
                https://learn.rhino.fi/articles/8257872655-bridge-speed.
            estimatedDuration:
              type: number
              description: >-
                The estimated time for the transaction to complete in
                milliseconds.
              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'
                - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
              description: >-
                Custom Routing Rules as configured by Rhino.fi for a specific
                client, e.g. to move funds after the initial bridge into a yield
                bearing vault. To understand more about how Routing Rules can
                help automate onchain actions and ensure that your funds land in
                an active state, please contact your Rhino.fi Customer Success
                Manager or speak to a member of the Rhino.fi sales team.
            flowCredits:
              type: number
              description: >-
                The number of Flow Credits that this transaction will use from
                the client's agreed Rhino.fi PAYG/Subscription tier.
            tokenIn:
              type: string
              description: The asset that was sent on the chainIn.
            tokenOut:
              type: string
              description: The asset that was received on the chainOut.
            minAmountOut:
              type: string
              description: >-
                The minimum native value of tokenOut guaranteed to be received
                on the chainOut, after slippage.
            minAmountOutUsd:
              type: number
              description: The USD value of the minAmountOut.
            usdPriceTokenIn:
              type: number
              description: The USD price of the tokenIn at the time the quote was created.
            usdPriceTokenOut:
              type: number
              description: The USD price of the tokenOut at the time the quote was created.
            preSwap:
              $ref: '#/components/schemas/SwapQuote'
            postSwap:
              $ref: '#/components/schemas/SwapQuote'
            mode:
              type: string
              enum:
                - pay
                - receive
              description: >-
                Whether the amount represented the sending ("pay") or receiving
                ("receive") amount when the quote was generated.
            isAtomicSwap:
              type: boolean
              description: Whether the transaction was executed as an atomic swap.
            swapFeeMultiplier:
              type: string
              description: The multiplier applied to the swap fee for this transaction.
            cancelledAt:
              type: string
              description: The datetime that the transaction was cancelled.
          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
              description: The projectID that the transaction is associated with.
            chainIn:
              type: string
              description: The blockchain that the tokens were bridged from.
            chainOut:
              type: string
              description: The blockchain that the tokens were bridged to.
            amountIn:
              type: string
              description: The native value of the tokens that were sent on the chainIn.
            amountInUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainIn.
            amountOut:
              type: string
              description: The native value of the tokens that were sent on the chainOut.
            amountOutUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainOut.
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
              description: >-
                The amount of native gas token (e.g. ETH, MATIC, BNB) that was
                delivered to the user's wallet on the destination chain as part
                of gas boost functionality, where Rhino.fi delivers a small
                amount of native gas token to the destination address, ensuring
                that further transactions from this address can be made
                immediately.
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: The value, in USD, of amountNative.
            fee:
              type: string
              description: >-
                The total cost of the transaction as paid by the end customer,
                denominated in the token.
            feeUsd:
              type: number
              description: The total cost, in USD, of the transaction.
            gasFee:
              type: string
              description: >-
                Any chain specific costs charged to the end customer for the
                chainOut part of the overall transaction. Further information
                about which chains have these associated costs can be found
                here:
                https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                If these costs are being paid by the client then this value will
                be zero and the gasFee and gasFeeUsd in the sponsored fee body
                will be non-zero.
            gasFeeUsd:
              type: number
              description: The gasFee value, in USD.
            platformFee:
              type: string
              description: >-
                The resulting fee charged from the $-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            platformFeeUsd:
              type: number
              description: The platformFee value, in USD.
            percentageFee:
              type: string
              description: >-
                The resulting fee charged from the %-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            percentageFeeUsd:
              type: number
              description: The percentageFee value, in USD.
            sourceGasFee:
              type: string
              description: >-
                The cost on the chainIn to sweep the received tokens into
                Rhino.fi's control. For legacy clients this is deducted from the
                tokens sent on the chainOut. For PAYG/Subscription tier clients
                this is paid by Rhino.fi as part of the PAYG/Subscription
                monthly cost so no direct cost is passed onto the end customer,
                unless configured this way. This is only relevant for
                transactions involving a Rhino.fi Smart Deposit Address; for
                bridging/swapping-only activity the sourceGasFee will be paid
                directly by the customer within their depositing transaction.
            sourceGasFeeUsd:
              type: number
              description: The sourceGasFee value, in USD.
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  type: string
                  description: The total cost of the transaction.
                feeUsd:
                  type: number
                  description: The total cost of the transaction, in USD.
                gasFee:
                  type: string
                  description: >-
                    Any chain specific costs charged to the client for the
                    chainOut part of the overall transaction. Further
                    information about which chains have these associated costs
                    can be found here:
                    https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                    If these costs are being passed on to the end user then this
                    value will be zero and the gasFee and gasFeeUsd in the main
                    fee body will be non-zero.
                gasFeeUsd:
                  type: number
                  description: The gasFee value, in USD.
                platformFee:
                  type: string
                  description: >-
                    The value of any additional fee levied on top by Rhino.fi
                    and paid by the client. This is only relevant for legacy
                    clients.
                platformFeeUsd:
                  type: number
                  description: The platformFee value, in USD.
                percentageFee:
                  type: string
                  description: >-
                    Will be zero since this represents a charge levied on the
                    end customer by the client. To understand the value charged
                    to the end customer, the percentageFee value from the main
                    fee body should be used. N.B. for PAYG/Subscription clients
                    this is now referred to as the "Client Surcharge".
                percentageFeeUsd:
                  type: number
                  description: The percentageFee value, in USD.
                sourceGasFee:
                  type: string
                  description: >-
                    The cost on the chainIn to sweep the received tokens into
                    Rhino.fi's control. For legacy clients this is deducted from
                    the tokens sent on the chainOut. For PAYG/Subscription tier
                    clients this is paid by Rhino.fi as part of the
                    PAYG/Subscription monthly cost so no direct cost is passed
                    onto the client, unless configured to be passed onto the end
                    customer. This is only relevant for transactions involving a
                    Rhino.fi Smart Deposit Address; for bridging/swapping-only
                    activity the sourceGasFee will be paid directly by the
                    customer within their depositing transaction.
                sourceGasFeeUsd:
                  type: number
                  description: The sourceGasFee value, in USD.
              additionalProperties: false
              description: >-
                For both legacy and PAYG/Subscription clients, represents the
                fees that are paid by the client on behalf of the end customer.
            recipient:
              type: string
              description: The address on the chainOut that received the bridged tokens.
            depositor:
              type: string
              description: The address on the chainIn that sent the tokens for bridging.
            createdAt:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                created.
            commitmentDate:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                committed with Rhino.fi.
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
              description: >-
                Provides information about whether the transaction is expected
                to be completed "fast" (typically under 30 seconds), "standard"
                (typically under a minute) or "slow" (can be up to 20 minutes).
                For more information on our bridge processing speeds please read
                this article on the Rhino.fi Knowledge Base:
                https://learn.rhino.fi/articles/8257872655-bridge-speed.
            estimatedDuration:
              type: number
              description: >-
                The estimated time for the transaction to complete in
                milliseconds.
              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'
                - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
              description: >-
                Custom Routing Rules as configured by Rhino.fi for a specific
                client, e.g. to move funds after the initial bridge into a yield
                bearing vault. To understand more about how Routing Rules can
                help automate onchain actions and ensure that your funds land in
                an active state, please contact your Rhino.fi Customer Success
                Manager or speak to a member of the Rhino.fi sales team.
            flowCredits:
              type: number
              description: >-
                The number of Flow Credits that this transaction will use from
                the client's agreed Rhino.fi PAYG/Subscription tier.
            token:
              type: string
              description: >-
                The asset being bridged, sent on the chainIn and received on the
                chainOut.
            usdPrice:
              type: number
              description: The USD price of the token at the time the quote was created.
            _tag:
              type: string
              enum:
                - BRIDGE_EXECUTED
            depositTxHash:
              type: string
              description: The transaction hash of the deposit made on the chainIn.
            depositCommittedAt:
              type: string
              description: >-
                The datetime that the deposit transaction was committed on the
                chainIn.
            depositDiscoveredAt:
              type: string
              description: >-
                The datetime that Rhino.fi first discovered the deposit
                transaction on the chainIn.
            depositConfirmedAt:
              type: string
              description: >-
                The datetime that the deposit transaction reached the required
                number of confirmations on the chainIn.
            expectedDepositConfirmedAt:
              type: string
              description: >-
                The datetime that the deposit transaction is expected to reach
                the required number of confirmations on the chainIn.
            expectedDepositConfirmedAtBlock:
              type: integer
              description: >-
                The block on the chainIn at which the deposit transaction is
                expected to reach the required number of confirmations.
              title: int
            preSwapTxHash:
              type: string
              description: >-
                The transaction hash of the swap performed on the chainIn before
                bridging.
            preSwapCommittedAt:
              type: string
              description: >-
                The datetime that the pre-bridge swap was committed on the
                chainIn.
            isConfirmed:
              type: boolean
              description: >-
                Whether the deposit transaction has reached the required number
                of confirmations on the chainIn.
            withdrawTxHash:
              type: string
              description: >-
                The transaction hash of the withdrawal of the tokens to the
                recipient on the chainOut.
            withdrawCommittedAt:
              type: string
              description: >-
                The datetime that the withdrawal transaction was committed on
                the chainOut.
            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
              description: The projectID that the transaction is associated with.
            chainIn:
              type: string
              description: The blockchain that the tokens were bridged from.
            chainOut:
              type: string
              description: The blockchain that the tokens were bridged to.
            amountIn:
              type: string
              description: The native value of the tokens that were sent on the chainIn.
            amountInUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainIn.
            amountOut:
              type: string
              description: The native value of the tokens that were sent on the chainOut.
            amountOutUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainOut.
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
              description: >-
                The amount of native gas token (e.g. ETH, MATIC, BNB) that was
                delivered to the user's wallet on the destination chain as part
                of gas boost functionality, where Rhino.fi delivers a small
                amount of native gas token to the destination address, ensuring
                that further transactions from this address can be made
                immediately.
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: The value, in USD, of amountNative.
            fee:
              type: string
              description: >-
                The total cost of the transaction as paid by the end customer,
                denominated in the token.
            feeUsd:
              type: number
              description: The total cost, in USD, of the transaction.
            gasFee:
              type: string
              description: >-
                Any chain specific costs charged to the end customer for the
                chainOut part of the overall transaction. Further information
                about which chains have these associated costs can be found
                here:
                https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                If these costs are being paid by the client then this value will
                be zero and the gasFee and gasFeeUsd in the sponsored fee body
                will be non-zero.
            gasFeeUsd:
              type: number
              description: The gasFee value, in USD.
            platformFee:
              type: string
              description: >-
                The resulting fee charged from the $-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            platformFeeUsd:
              type: number
              description: The platformFee value, in USD.
            percentageFee:
              type: string
              description: >-
                The resulting fee charged from the %-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            percentageFeeUsd:
              type: number
              description: The percentageFee value, in USD.
            sourceGasFee:
              type: string
              description: >-
                The cost on the chainIn to sweep the received tokens into
                Rhino.fi's control. For legacy clients this is deducted from the
                tokens sent on the chainOut. For PAYG/Subscription tier clients
                this is paid by Rhino.fi as part of the PAYG/Subscription
                monthly cost so no direct cost is passed onto the end customer,
                unless configured this way. This is only relevant for
                transactions involving a Rhino.fi Smart Deposit Address; for
                bridging/swapping-only activity the sourceGasFee will be paid
                directly by the customer within their depositing transaction.
            sourceGasFeeUsd:
              type: number
              description: The sourceGasFee value, in USD.
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  type: string
                  description: The total cost of the transaction.
                feeUsd:
                  type: number
                  description: The total cost of the transaction, in USD.
                gasFee:
                  type: string
                  description: >-
                    Any chain specific costs charged to the client for the
                    chainOut part of the overall transaction. Further
                    information about which chains have these associated costs
                    can be found here:
                    https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                    If these costs are being passed on to the end user then this
                    value will be zero and the gasFee and gasFeeUsd in the main
                    fee body will be non-zero.
                gasFeeUsd:
                  type: number
                  description: The gasFee value, in USD.
                platformFee:
                  type: string
                  description: >-
                    The value of any additional fee levied on top by Rhino.fi
                    and paid by the client. This is only relevant for legacy
                    clients.
                platformFeeUsd:
                  type: number
                  description: The platformFee value, in USD.
                percentageFee:
                  type: string
                  description: >-
                    Will be zero since this represents a charge levied on the
                    end customer by the client. To understand the value charged
                    to the end customer, the percentageFee value from the main
                    fee body should be used. N.B. for PAYG/Subscription clients
                    this is now referred to as the "Client Surcharge".
                percentageFeeUsd:
                  type: number
                  description: The percentageFee value, in USD.
                sourceGasFee:
                  type: string
                  description: >-
                    The cost on the chainIn to sweep the received tokens into
                    Rhino.fi's control. For legacy clients this is deducted from
                    the tokens sent on the chainOut. For PAYG/Subscription tier
                    clients this is paid by Rhino.fi as part of the
                    PAYG/Subscription monthly cost so no direct cost is passed
                    onto the client, unless configured to be passed onto the end
                    customer. This is only relevant for transactions involving a
                    Rhino.fi Smart Deposit Address; for bridging/swapping-only
                    activity the sourceGasFee will be paid directly by the
                    customer within their depositing transaction.
                sourceGasFeeUsd:
                  type: number
                  description: The sourceGasFee value, in USD.
              additionalProperties: false
              description: >-
                For both legacy and PAYG/Subscription clients, represents the
                fees that are paid by the client on behalf of the end customer.
            recipient:
              type: string
              description: The address on the chainOut that received the bridged tokens.
            depositor:
              type: string
              description: The address on the chainIn that sent the tokens for bridging.
            createdAt:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                created.
            commitmentDate:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                committed with Rhino.fi.
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
              description: >-
                Provides information about whether the transaction is expected
                to be completed "fast" (typically under 30 seconds), "standard"
                (typically under a minute) or "slow" (can be up to 20 minutes).
                For more information on our bridge processing speeds please read
                this article on the Rhino.fi Knowledge Base:
                https://learn.rhino.fi/articles/8257872655-bridge-speed.
            estimatedDuration:
              type: number
              description: >-
                The estimated time for the transaction to complete in
                milliseconds.
              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'
                - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
              description: >-
                Custom Routing Rules as configured by Rhino.fi for a specific
                client, e.g. to move funds after the initial bridge into a yield
                bearing vault. To understand more about how Routing Rules can
                help automate onchain actions and ensure that your funds land in
                an active state, please contact your Rhino.fi Customer Success
                Manager or speak to a member of the Rhino.fi sales team.
            flowCredits:
              type: number
              description: >-
                The number of Flow Credits that this transaction will use from
                the client's agreed Rhino.fi PAYG/Subscription tier.
            tokenIn:
              type: string
              description: The asset that was sent on the chainIn.
            tokenOut:
              type: string
              description: The asset that was received on the chainOut.
            minAmountOut:
              type: string
              description: >-
                The minimum native value of tokenOut guaranteed to be received
                on the chainOut, after slippage.
            minAmountOutUsd:
              type: number
              description: The USD value of the minAmountOut.
            usdPriceTokenIn:
              type: number
              description: The USD price of the tokenIn at the time the quote was created.
            usdPriceTokenOut:
              type: number
              description: The USD price of the tokenOut at the time the quote was created.
            preSwap:
              $ref: '#/components/schemas/SwapQuote'
            postSwap:
              $ref: '#/components/schemas/SwapQuote'
            mode:
              type: string
              enum:
                - pay
                - receive
              description: >-
                Whether the amount represented the sending ("pay") or receiving
                ("receive") amount when the quote was generated.
            isAtomicSwap:
              type: boolean
              description: Whether the transaction was executed as an atomic swap.
            swapFeeMultiplier:
              type: string
              description: The multiplier applied to the swap fee for this transaction.
            depositTxHash:
              type: string
              description: The transaction hash of the deposit made on the chainIn.
            depositCommittedAt:
              type: string
              description: >-
                The datetime that the deposit transaction was committed on the
                chainIn.
            depositDiscoveredAt:
              type: string
              description: >-
                The datetime that Rhino.fi first discovered the deposit
                transaction on the chainIn.
            depositConfirmedAt:
              type: string
              description: >-
                The datetime that the deposit transaction reached the required
                number of confirmations on the chainIn.
            expectedDepositConfirmedAt:
              type: string
              description: >-
                The datetime that the deposit transaction is expected to reach
                the required number of confirmations on the chainIn.
            expectedDepositConfirmedAtBlock:
              type: integer
              description: >-
                The block on the chainIn at which the deposit transaction is
                expected to reach the required number of confirmations.
              title: int
            preSwapTxHash:
              type: string
              description: >-
                The transaction hash of the swap performed on the chainIn before
                bridging.
            preSwapCommittedAt:
              type: string
              description: >-
                The datetime that the pre-bridge swap was committed on the
                chainIn.
            isConfirmed:
              type: boolean
              description: >-
                Whether the deposit transaction has reached the required number
                of confirmations on the chainIn.
            withdrawTxHash:
              type: string
              description: >-
                The transaction hash of the withdrawal of the tokens to the
                recipient on the chainOut.
            withdrawCommittedAt:
              type: string
              description: >-
                The datetime that the withdrawal transaction was committed on
                the chainOut.
            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
              description: The projectID that the transaction is associated with.
            chainIn:
              type: string
              description: The blockchain that the tokens were bridged from.
            chainOut:
              type: string
              description: The blockchain that the tokens were bridged to.
            amountIn:
              type: string
              description: The native value of the tokens that were sent on the chainIn.
            amountInUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainIn.
            amountOut:
              type: string
              description: The native value of the tokens that were sent on the chainOut.
            amountOutUsd:
              type: number
              description: The USD value of the tokens that were sent on the chainOut.
            amountNative:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromString'
                - type: 'null'
              description: >-
                The amount of native gas token (e.g. ETH, MATIC, BNB) that was
                delivered to the user's wallet on the destination chain as part
                of gas boost functionality, where Rhino.fi delivers a small
                amount of native gas token to the destination address, ensuring
                that further transactions from this address can be made
                immediately.
            amountNativeUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: The value, in USD, of amountNative.
            fee:
              type: string
              description: >-
                The total cost of the transaction as paid by the end customer,
                denominated in the token.
            feeUsd:
              type: number
              description: The total cost, in USD, of the transaction.
            gasFee:
              type: string
              description: >-
                Any chain specific costs charged to the end customer for the
                chainOut part of the overall transaction. Further information
                about which chains have these associated costs can be found
                here:
                https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                If these costs are being paid by the client then this value will
                be zero and the gasFee and gasFeeUsd in the sponsored fee body
                will be non-zero.
            gasFeeUsd:
              type: number
              description: The gasFee value, in USD.
            platformFee:
              type: string
              description: >-
                The resulting fee charged from the $-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            platformFeeUsd:
              type: number
              description: The platformFee value, in USD.
            percentageFee:
              type: string
              description: >-
                The resulting fee charged from the %-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            percentageFeeUsd:
              type: number
              description: The percentageFee value, in USD.
            sourceGasFee:
              type: string
              description: >-
                The cost on the chainIn to sweep the received tokens into
                Rhino.fi's control. For legacy clients this is deducted from the
                tokens sent on the chainOut. For PAYG/Subscription tier clients
                this is paid by Rhino.fi as part of the PAYG/Subscription
                monthly cost so no direct cost is passed onto the end customer,
                unless configured this way. This is only relevant for
                transactions involving a Rhino.fi Smart Deposit Address; for
                bridging/swapping-only activity the sourceGasFee will be paid
                directly by the customer within their depositing transaction.
            sourceGasFeeUsd:
              type: number
              description: The sourceGasFee value, in USD.
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
              properties:
                fee:
                  type: string
                  description: The total cost of the transaction.
                feeUsd:
                  type: number
                  description: The total cost of the transaction, in USD.
                gasFee:
                  type: string
                  description: >-
                    Any chain specific costs charged to the client for the
                    chainOut part of the overall transaction. Further
                    information about which chains have these associated costs
                    can be found here:
                    https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                    If these costs are being passed on to the end user then this
                    value will be zero and the gasFee and gasFeeUsd in the main
                    fee body will be non-zero.
                gasFeeUsd:
                  type: number
                  description: The gasFee value, in USD.
                platformFee:
                  type: string
                  description: >-
                    The value of any additional fee levied on top by Rhino.fi
                    and paid by the client. This is only relevant for legacy
                    clients.
                platformFeeUsd:
                  type: number
                  description: The platformFee value, in USD.
                percentageFee:
                  type: string
                  description: >-
                    Will be zero since this represents a charge levied on the
                    end customer by the client. To understand the value charged
                    to the end customer, the percentageFee value from the main
                    fee body should be used. N.B. for PAYG/Subscription clients
                    this is now referred to as the "Client Surcharge".
                percentageFeeUsd:
                  type: number
                  description: The percentageFee value, in USD.
                sourceGasFee:
                  type: string
                  description: >-
                    The cost on the chainIn to sweep the received tokens into
                    Rhino.fi's control. For legacy clients this is deducted from
                    the tokens sent on the chainOut. For PAYG/Subscription tier
                    clients this is paid by Rhino.fi as part of the
                    PAYG/Subscription monthly cost so no direct cost is passed
                    onto the client, unless configured to be passed onto the end
                    customer. This is only relevant for transactions involving a
                    Rhino.fi Smart Deposit Address; for bridging/swapping-only
                    activity the sourceGasFee will be paid directly by the
                    customer within their depositing transaction.
                sourceGasFeeUsd:
                  type: number
                  description: The sourceGasFee value, in USD.
              additionalProperties: false
              description: >-
                For both legacy and PAYG/Subscription clients, represents the
                fees that are paid by the client on behalf of the end customer.
            recipient:
              type: string
              description: The address on the chainOut that received the bridged tokens.
            depositor:
              type: string
              description: The address on the chainIn that sent the tokens for bridging.
            createdAt:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                created.
            commitmentDate:
              type: string
              description: >-
                The datetime that the bridging / bridging+swapping quote was
                committed with Rhino.fi.
            speed:
              type: string
              enum:
                - fast
                - standard
                - slow
              description: >-
                Provides information about whether the transaction is expected
                to be completed "fast" (typically under 30 seconds), "standard"
                (typically under a minute) or "slow" (can be up to 20 minutes).
                For more information on our bridge processing speeds please read
                this article on the Rhino.fi Knowledge Base:
                https://learn.rhino.fi/articles/8257872655-bridge-speed.
            estimatedDuration:
              type: number
              description: >-
                The estimated time for the transaction to complete in
                milliseconds.
              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'
                - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
              description: >-
                Custom Routing Rules as configured by Rhino.fi for a specific
                client, e.g. to move funds after the initial bridge into a yield
                bearing vault. To understand more about how Routing Rules can
                help automate onchain actions and ensure that your funds land in
                an active state, please contact your Rhino.fi Customer Success
                Manager or speak to a member of the Rhino.fi sales team.
            flowCredits:
              type: number
              description: >-
                The number of Flow Credits that this transaction will use from
                the client's agreed Rhino.fi PAYG/Subscription tier.
            token:
              type: string
              description: >-
                The asset deposited into the Smart Deposit Address on the
                chainIn. Where the deposit address performs a swap, the asset
                received on the chainOut may differ.
            tokenOut:
              type: string
              description: >-
                The asset received on the chainOut where the deposit address
                performs a swap.
            usdPrice:
              type: number
              description: The USD price of the token at the time the quote was created.
            depositAddress:
              type: string
              description: >-
                The Rhino.fi Smart Deposit Address that the tokens were
                deposited to.
            preSwap:
              $ref: '#/components/schemas/SwapQuote'
            postSwap:
              $ref: '#/components/schemas/SwapQuote'
            depositTxHash:
              type: string
              description: The transaction hash of the deposit made on the chainIn.
            depositCommittedAt:
              type: string
              description: >-
                The datetime that the deposit transaction was committed on the
                chainIn.
            depositDiscoveredAt:
              type: string
              description: >-
                The datetime that Rhino.fi first discovered the deposit
                transaction on the chainIn.
            depositConfirmedAt:
              type: string
              description: >-
                The datetime that the deposit transaction reached the required
                number of confirmations on the chainIn.
            expectedDepositConfirmedAt:
              type: string
              description: >-
                The datetime that the deposit transaction is expected to reach
                the required number of confirmations on the chainIn.
            expectedDepositConfirmedAtBlock:
              type: integer
              description: >-
                The block on the chainIn at which the deposit transaction is
                expected to reach the required number of confirmations.
              title: int
            preSwapTxHash:
              type: string
              description: >-
                The transaction hash of the swap performed on the chainIn before
                bridging.
            preSwapCommittedAt:
              type: string
              description: >-
                The datetime that the pre-bridge swap was committed on the
                chainIn.
            isConfirmed:
              type: boolean
              description: >-
                Whether the deposit transaction has reached the required number
                of confirmations on the chainIn.
            withdrawTxHash:
              type: string
              description: >-
                The transaction hash of the withdrawal of the tokens to the
                recipient on the chainOut.
            withdrawCommittedAt:
              type: string
              description: >-
                The datetime that the withdrawal transaction was committed on
                the chainOut.
            type:
              type: string
              enum:
                - depositAddressBridge
            addressNote:
              type: string
              description: >-
                A note or label for the deposit address as a reference, e.g.
                "ClientID123456" (max 80 characters).
              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
          description: The transaction hash of the deposit made on the chainIn.
        depositCommittedAt:
          type: string
          description: >-
            The datetime that the deposit transaction was committed on the
            chainIn.
        reason:
          type: string
          description: The reason that the transaction was rejected.
        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
          description: The projectID that the transaction is associated with.
        chainIn:
          type: string
          description: The blockchain that the tokens were bridged from.
        chainOut:
          type: string
          description: The blockchain that the tokens were bridged to.
        amountIn:
          type: string
          description: The native value of the tokens that were sent on the chainIn.
        amountInUsd:
          type: number
          description: The USD value of the tokens that were sent on the chainIn.
        amountOut:
          type: string
          description: The native value of the tokens that were sent on the chainOut.
        amountOutUsd:
          type: number
          description: The USD value of the tokens that were sent on the chainOut.
        amountNative:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromString'
            - type: 'null'
          description: >-
            The amount of native gas token (e.g. ETH, MATIC, BNB) that was
            delivered to the user's wallet on the destination chain as part of
            gas boost functionality, where Rhino.fi delivers a small amount of
            native gas token to the destination address, ensuring that further
            transactions from this address can be made immediately.
        amountNativeUsd:
          anyOf:
            - $ref: '#/components/schemas/BigDecimalFromNumber'
            - type: 'null'
          description: The value, in USD, of amountNative.
        fee:
          type: string
          description: >-
            The total cost of the transaction as paid by the end customer,
            denominated in the token.
        feeUsd:
          type: number
          description: The total cost, in USD, of the transaction.
        gasFee:
          type: string
          description: >-
            Any chain specific costs charged to the end customer for the
            chainOut part of the overall transaction. Further information about
            which chains have these associated costs can be found here:
            https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
            If these costs are being paid by the client then this value will be
            zero and the gasFee and gasFeeUsd in the sponsored fee body will be
            non-zero.
        gasFeeUsd:
          type: number
          description: The gasFee value, in USD.
        platformFee:
          type: string
          description: >-
            The resulting fee charged from the $-based Client Surcharge. This is
            applicable to both legacy and PAYG/Subscription clients. For legacy
            clients this is deducted from the tokens sent on the chainOut and
            will be sent to the client at month end. For PAYG/Subscription
            clients this will be rebated at month end.
        platformFeeUsd:
          type: number
          description: The platformFee value, in USD.
        percentageFee:
          type: string
          description: >-
            The resulting fee charged from the %-based Client Surcharge. This is
            applicable to both legacy and PAYG/Subscription clients. For legacy
            clients this is deducted from the tokens sent on the chainOut and
            will be sent to the client at month end. For PAYG/Subscription
            clients this will be rebated at month end.
        percentageFeeUsd:
          type: number
          description: The percentageFee value, in USD.
        sourceGasFee:
          type: string
          description: >-
            The cost on the chainIn to sweep the received tokens into Rhino.fi's
            control. For legacy clients this is deducted from the tokens sent on
            the chainOut. For PAYG/Subscription tier clients this is paid by
            Rhino.fi as part of the PAYG/Subscription monthly cost so no direct
            cost is passed onto the end customer, unless configured this way.
            This is only relevant for transactions involving a Rhino.fi Smart
            Deposit Address; for bridging/swapping-only activity the
            sourceGasFee will be paid directly by the customer within their
            depositing transaction.
        sourceGasFeeUsd:
          type: number
          description: The sourceGasFee value, in USD.
        sponsoredFees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
          properties:
            fee:
              type: string
              description: The total cost of the transaction.
            feeUsd:
              type: number
              description: The total cost of the transaction, in USD.
            gasFee:
              type: string
              description: >-
                Any chain specific costs charged to the client for the chainOut
                part of the overall transaction. Further information about which
                chains have these associated costs can be found here:
                https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                If these costs are being passed on to the end user then this
                value will be zero and the gasFee and gasFeeUsd in the main fee
                body will be non-zero.
            gasFeeUsd:
              type: number
              description: The gasFee value, in USD.
            platformFee:
              type: string
              description: >-
                The value of any additional fee levied on top by Rhino.fi and
                paid by the client. This is only relevant for legacy clients.
            platformFeeUsd:
              type: number
              description: The platformFee value, in USD.
            percentageFee:
              type: string
              description: >-
                Will be zero since this represents a charge levied on the end
                customer by the client. To understand the value charged to the
                end customer, the percentageFee value from the main fee body
                should be used. N.B. for PAYG/Subscription clients this is now
                referred to as the "Client Surcharge".
            percentageFeeUsd:
              type: number
              description: The percentageFee value, in USD.
            sourceGasFee:
              type: string
              description: >-
                The cost on the chainIn to sweep the received tokens into
                Rhino.fi's control. For legacy clients this is deducted from the
                tokens sent on the chainOut. For PAYG/Subscription tier clients
                this is paid by Rhino.fi as part of the PAYG/Subscription
                monthly cost so no direct cost is passed onto the client, unless
                configured to be passed onto the end customer. This is only
                relevant for transactions involving a Rhino.fi Smart Deposit
                Address; for bridging/swapping-only activity the sourceGasFee
                will be paid directly by the customer within their depositing
                transaction.
            sourceGasFeeUsd:
              type: number
              description: The sourceGasFee value, in USD.
          additionalProperties: false
          description: >-
            For both legacy and PAYG/Subscription clients, represents the fees
            that are paid by the client on behalf of the end customer.
        recipient:
          type: string
          description: The address on the chainOut that received the bridged tokens.
        depositor:
          type: string
          description: The address on the chainIn that sent the tokens for bridging.
        createdAt:
          type: string
          description: >-
            The datetime that the bridging / bridging+swapping quote was
            created.
        commitmentDate:
          type: string
          description: >-
            The datetime that the bridging / bridging+swapping quote was
            committed with Rhino.fi.
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
          description: >-
            Provides information about whether the transaction is expected to be
            completed "fast" (typically under 30 seconds), "standard" (typically
            under a minute) or "slow" (can be up to 20 minutes). For more
            information on our bridge processing speeds please read this article
            on the Rhino.fi Knowledge Base:
            https://learn.rhino.fi/articles/8257872655-bridge-speed.
        estimatedDuration:
          type: number
          description: The estimated time for the transaction to complete in milliseconds.
          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'
            - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
          description: >-
            Custom Routing Rules as configured by Rhino.fi for a specific
            client, e.g. to move funds after the initial bridge into a yield
            bearing vault. To understand more about how Routing Rules can help
            automate onchain actions and ensure that your funds land in an
            active state, please contact your Rhino.fi Customer Success Manager
            or speak to a member of the Rhino.fi sales team.
        flowCredits:
          type: number
          description: >-
            The number of Flow Credits that this transaction will use from the
            client's agreed Rhino.fi PAYG/Subscription tier.
        tokenIn:
          type: string
          description: The asset that was sent on the chainIn.
        tokenOut:
          type: string
          description: The asset that was received on the chainOut.
        minAmountOut:
          type: string
          description: >-
            The minimum native value of tokenOut guaranteed to be received on
            the chainOut, after slippage.
        minAmountOutUsd:
          type: number
          description: The USD value of the minAmountOut.
        usdPriceTokenIn:
          type: number
          description: The USD price of the tokenIn at the time the quote was created.
        usdPriceTokenOut:
          type: number
          description: The USD price of the tokenOut at the time the quote was created.
        preSwap:
          $ref: '#/components/schemas/SwapQuote'
        postSwap:
          $ref: '#/components/schemas/SwapQuote'
        mode:
          type: string
          enum:
            - pay
            - receive
          description: >-
            Whether the amount represented the sending ("pay") or receiving
            ("receive") amount when the quote was generated.
        isAtomicSwap:
          type: boolean
          description: Whether the transaction was executed as an atomic swap.
        swapFeeMultiplier:
          type: string
          description: The multiplier applied to the swap fee for this transaction.
        depositDiscoveredAt:
          type: string
          description: >-
            The datetime that Rhino.fi first discovered the deposit transaction
            on the chainIn.
        depositConfirmedAt:
          type: string
          description: >-
            The datetime that the deposit transaction reached the required
            number of confirmations on the chainIn.
        expectedDepositConfirmedAt:
          type: string
          description: >-
            The datetime that the deposit transaction is expected to reach the
            required number of confirmations on the chainIn.
        expectedDepositConfirmedAtBlock:
          type: integer
          description: >-
            The block on the chainIn at which the deposit transaction is
            expected to reach the required number of confirmations.
          title: int
        preSwapTxHash:
          type: string
          description: >-
            The transaction hash of the swap performed on the chainIn before
            bridging.
        preSwapCommittedAt:
          type: string
          description: The datetime that the pre-bridge swap was committed on the chainIn.
        isConfirmed:
          type: boolean
          description: >-
            Whether the deposit transaction has reached the required number of
            confirmations on the chainIn.
        refundTxHash:
          type: string
          description: The transaction hash of the refund that was made.
          title: nonEmptyString
          minLength: 1
        refundTxTimestamp:
          type: string
          description: The datetime that the refund transaction was made.
        refundedToken:
          type: string
          description: The asset that was refunded.
          title: nonEmptyString
          minLength: 1
        refundedAmount:
          type: string
          description: The native value of the tokens that were refunded.
        refundedChain:
          type: string
          description: The blockchain that the refund was made on.
          title: nonEmptyString
          minLength: 1
      additionalProperties: false
    DepositAddressCreatedEvent:
      type: object
      required:
        - depositChain
        - depositAddress
        - destinationChain
        - _tag
      properties:
        depositChain:
          type: string
          description: >-
            The blockchain that the Smart Deposit Address is on and that
            deposits should be sent to, e.g. "ETHEREUM".
          title: nonEmptyString
          minLength: 1
        depositAddress:
          type: string
          description: >-
            The Rhino.fi Smart Deposit Address that the deposit has been sent
            to.
          title: nonEmptyString
          minLength: 1
        destinationChain:
          type: string
          description: The blockchain that the received tokens will be bridged to.
          title: nonEmptyString
          minLength: 1
        destinationAddress:
          type: string
          description: >-
            The blockchain address that the received tokens will be bridged /
            bridged and swapped to.
          title: nonEmptyString
          minLength: 1
        tokenOut:
          type: string
          description: The token that will be received on the destinationChain.
        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'
            - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
          description: >-
            Custom Routing Rules as configured by Rhino.fi for specific clients,
            e.g. to move funds after the initial bridge into a yield bearing
            vault. To understand more about how Routing Rules can help automate
            onchain actions and ensure that your funds land in an active state,
            please contact your Rhino.fi Customer Success Manager or speak to a
            member of the Rhino.fi sales team.
        addressNote:
          type: string
          description: A note or label for the deposit address as a reference.
          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:
          type: string
          description: The unique identifier of the bridge transaction.
          title: nonEmptyString
          minLength: 1
        tokenSymbol:
          type: string
          description: The identifier of the token on the given chain.
          title: nonEmptyString
          minLength: 1
        tokenAddress:
          type: string
          description: The smart contract of the token.
          title: nonEmptyString
          minLength: 1
        amount:
          type: string
          description: >-
            The value in native asset of the tokenSymbol that has been received
            into the Smart Deposit Address.
        amountUsd:
          type: number
          description: >-
            The value in USD of the tokenSymbol that has been received into the
            Smart Deposit Address.
        amountWei:
          type: string
          description: >-
            The value received into the Smart Deposit Address, denominated in
            the smallest unit of the token.
        sender:
          type: string
          description: >-
            The address on the depositChain that sent the tokens for bridging /
            bridging and swapping.
        txHash:
          type: string
          description: >-
            The uniquely identifiable transaction hash for the deposit
            transaction into the depositAddress.
        originalErrorTag:
          type: string
          description: >-
            An identifier for the underlying error that caused the transaction
            to be rejected.
          title: nonEmptyString
          minLength: 1
        originalErrorJson:
          type: string
        reason:
          type: string
          enum:
            - OVER_MAX
            - UNDER_MIN
            - OPERATION_UNAVAILABLE
            - TERMINAL_PROCESSING_ISSUE
            - NO_ROUTE_FOUND
            - UNSUPPORTED_TOKEN
            - SDA_PAUSED
            - SETTLEMENT_REJECTED
          description: >-
            Further information about why a transaction was rejected. OVER_MAX:
            the amount deposited was above the maximum value accepted for that
            token for the Smart Deposit Address (this value can be found via the
            GET
            /sda/deposit-addresses/{depositChain}/{destinationChain}/supported-tokens
            endpoint). UNDER_MIN: the amount deposited was below the minimum
            value accepted for that token for the Smart Deposit Address (same
            endpoint to find the value). TERMINAL_PROCESSING_ISSUE: an issue
            within the Rhino.fi system meant the required swapping and/or
            bridging activity was not completed; please reach out to your
            Rhino.fi customer success manager for further information.
            NO_ROUTE_FOUND: no compatible bridge and/or swap route was able to
            be found and executed; please reach out to your Rhino.fi customer
            success manager for further information. UNSUPPORTED_TOKEN: the
            token that was deposited is not supported for this Smart Deposit
            Address. SDA_PAUSED: the Smart Deposit Address was paused and not
            processing deposits at the time the deposit was received.
            OPERATION_UNAVAILABLE: the deposit could not be processed because
            the operation was unavailable at the time; please reach out to your
            Rhino.fi customer success manager for further information.
        txUid:
          type: string
          description: >-
            A unique identifier for the deposit transaction within the Rhino.fi
            system.
          title: nonEmptyString
          minLength: 1
        createdAt:
          type: string
          description: >-
            The datetime that the bridging / bridging+swapping quote was
            created.
        blockNumber:
          $ref: '#/components/schemas/NonNegative'
          description: >-
            The block on the depositChain that the deposit transaction was
            included in.
          title: int
          type: integer
        depositAddress:
          type: object
          required:
            - depositChain
            - depositAddress
            - destinationChain
          properties:
            depositChain:
              type: string
              description: >-
                The blockchain that the Smart Deposit Address is on and that
                deposits should be sent to, e.g. "ETHEREUM".
              title: nonEmptyString
              minLength: 1
            depositAddress:
              type: string
              description: >-
                The Rhino.fi Smart Deposit Address that the deposit has been
                sent to.
              title: nonEmptyString
              minLength: 1
            destinationChain:
              type: string
              description: The blockchain that the received tokens will be bridged to.
              title: nonEmptyString
              minLength: 1
            destinationAddress:
              type: string
              description: >-
                The blockchain address that the received tokens will be bridged
                / bridged and swapped to.
              title: nonEmptyString
              minLength: 1
            tokenOut:
              type: string
              description: The token that will be received on the destinationChain.
            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'
                - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
              description: >-
                Custom Routing Rules as configured by Rhino.fi for specific
                clients, e.g. to move funds after the initial bridge into a
                yield bearing vault. To understand more about how Routing Rules
                can help automate onchain actions and ensure that your funds
                land in an active state, please contact your Rhino.fi Customer
                Success Manager or speak to a member of the Rhino.fi sales team.
            addressNote:
              type: string
              description: A note or label for the deposit address as a reference.
              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:
          type: string
          description: The unique identifier of the bridge transaction.
          title: nonEmptyString
          minLength: 1
        tokenSymbol:
          type: string
          description: The identifier of the token on the given chain.
          title: nonEmptyString
          minLength: 1
        tokenAddress:
          type: string
          description: The smart contract of the token.
          title: nonEmptyString
          minLength: 1
        amount:
          type: string
          description: >-
            The value in native asset of the tokenSymbol that has been received
            into the Smart Deposit Address.
        amountUsd:
          type: number
          description: >-
            The value in USD of the tokenSymbol that has been received into the
            Smart Deposit Address.
        amountWei:
          type: string
          description: >-
            The value received into the Smart Deposit Address, denominated in
            the smallest unit of the token.
        sender:
          type: string
          description: >-
            The address on the depositChain that sent the tokens for bridging /
            bridging and swapping.
          title: nonEmptyString
          minLength: 1
        txHash:
          type: string
          description: >-
            The uniquely identifiable transaction hash for the deposit
            transaction into the depositAddress.
          title: nonEmptyString
          minLength: 1
        originalErrorTag:
          type: string
          description: >-
            An identifier for the underlying error that caused the transaction
            to fail.
          title: nonEmptyString
          minLength: 1
        createdAt:
          type: string
          description: >-
            The datetime that the bridging / bridging+swapping quote was
            created.
        depositAddress:
          type: object
          required:
            - depositChain
            - depositAddress
            - destinationChain
          properties:
            depositChain:
              type: string
              description: >-
                The blockchain that the Smart Deposit Address is on and that
                deposits should be sent to, e.g. "ETHEREUM".
              title: nonEmptyString
              minLength: 1
            depositAddress:
              type: string
              description: >-
                The Rhino.fi Smart Deposit Address that the deposit has been
                sent to.
              title: nonEmptyString
              minLength: 1
            destinationChain:
              type: string
              description: The blockchain that the received tokens will be bridged to.
              title: nonEmptyString
              minLength: 1
            destinationAddress:
              type: string
              description: >-
                The blockchain address that the received tokens will be bridged
                / bridged and swapped to.
              title: nonEmptyString
              minLength: 1
            tokenOut:
              type: string
              description: The token that will be received on the destinationChain.
            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'
                - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
              description: >-
                Custom Routing Rules as configured by Rhino.fi for specific
                clients, e.g. to move funds after the initial bridge into a
                yield bearing vault. To understand more about how Routing Rules
                can help automate onchain actions and ensure that your funds
                land in an active state, please contact your Rhino.fi Customer
                Success Manager or speak to a member of the Rhino.fi sales team.
            addressNote:
              type: string
              description: A note or label for the deposit address as a reference.
              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
                description: >-
                  The matcher describes on what kind of transfers this route
                  should match. If no matcher is provided, a route acts as a
                  fallback and will always match unless another route that has a
                  matcher matches the transfer.
              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:
          type: string
          description: The unique identifier of the bridge transaction.
          title: nonEmptyString
          minLength: 1
        tokenSymbol:
          type: string
          description: The identifier of the token on the given chain.
          title: nonEmptyString
          minLength: 1
        tokenAddress:
          type: string
          description: The smart contract of the token.
          title: nonEmptyString
          minLength: 1
        amount:
          type: string
          description: >-
            The value in native asset of the tokenSymbol that has been received
            into the Smart Deposit Address.
        amountUsd:
          type: number
          description: >-
            The value in USD of the tokenSymbol that has been received into the
            Smart Deposit Address.
        amountWei:
          type: string
          description: >-
            The value received into the Smart Deposit Address, denominated in
            the smallest unit of the token.
        sender:
          type: string
          description: >-
            The address on the depositChain that sent the tokens for bridging /
            bridging and swapping.
        txHash:
          type: string
          description: >-
            The uniquely identifiable transaction hash for the deposit
            transaction into the depositAddress.
        originalErrorTag:
          type: string
          description: >-
            An identifier for the underlying error that caused the transaction
            to be rejected.
          title: nonEmptyString
          minLength: 1
        originalErrorJson:
          type: string
        reason:
          type: string
          enum:
            - OVER_MAX
            - UNDER_MIN
            - OPERATION_UNAVAILABLE
            - TERMINAL_PROCESSING_ISSUE
            - NO_ROUTE_FOUND
            - UNSUPPORTED_TOKEN
            - SDA_PAUSED
            - SETTLEMENT_REJECTED
          description: >-
            Further information about why a transaction was rejected. OVER_MAX:
            the amount deposited was above the maximum value accepted for that
            token for the Smart Deposit Address (this value can be found via the
            GET
            /sda/deposit-addresses/{depositChain}/{destinationChain}/supported-tokens
            endpoint). UNDER_MIN: the amount deposited was below the minimum
            value accepted for that token for the Smart Deposit Address (same
            endpoint to find the value). TERMINAL_PROCESSING_ISSUE: an issue
            within the Rhino.fi system meant the required swapping and/or
            bridging activity was not completed; please reach out to your
            Rhino.fi customer success manager for further information.
            NO_ROUTE_FOUND: no compatible bridge and/or swap route was able to
            be found and executed; please reach out to your Rhino.fi customer
            success manager for further information. UNSUPPORTED_TOKEN: the
            token that was deposited is not supported for this Smart Deposit
            Address. SDA_PAUSED: the Smart Deposit Address was paused and not
            processing deposits at the time the deposit was received.
            OPERATION_UNAVAILABLE: the deposit could not be processed because
            the operation was unavailable at the time; please reach out to your
            Rhino.fi customer success manager for further information.
        txUid:
          type: string
          description: >-
            A unique identifier for the deposit transaction within the Rhino.fi
            system.
          title: nonEmptyString
          minLength: 1
        createdAt:
          type: string
          description: >-
            The datetime that the bridging / bridging+swapping quote was
            created.
        blockNumber:
          $ref: '#/components/schemas/NonNegative'
          description: >-
            The block on the depositChain that the deposit transaction was
            included in.
          title: int
          type: integer
        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
                    description: >-
                      The matcher describes on what kind of transfers this route
                      should match. If no matcher is provided, a route acts as a
                      fallback and will always match unless another route that
                      has a matcher matches the transfer.
                  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:
          type: string
          description: The unique identifier of the bridge transaction.
          title: nonEmptyString
          minLength: 1
        tokenSymbol:
          type: string
          description: The identifier of the token on the given chain.
          title: nonEmptyString
          minLength: 1
        tokenAddress:
          type: string
          description: The smart contract of the token.
          title: nonEmptyString
          minLength: 1
        amount:
          type: string
          description: >-
            The value in native asset of the tokenSymbol that has been received
            into the Smart Deposit Address.
        amountUsd:
          type: number
          description: >-
            The value in USD of the tokenSymbol that has been received into the
            Smart Deposit Address.
        amountWei:
          type: string
          description: >-
            The value received into the Smart Deposit Address, denominated in
            the smallest unit of the token.
        sender:
          type: string
          description: >-
            The address on the depositChain that sent the tokens for bridging /
            bridging and swapping.
          title: nonEmptyString
          minLength: 1
        txHash:
          type: string
          description: >-
            The uniquely identifiable transaction hash for the deposit
            transaction into the depositAddress.
          title: nonEmptyString
          minLength: 1
        originalErrorTag:
          type: string
          description: >-
            An identifier for the underlying error that caused the transaction
            to fail.
          title: nonEmptyString
          minLength: 1
        createdAt:
          type: string
          description: >-
            The datetime that the bridging / bridging+swapping quote was
            created.
        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
                    description: >-
                      The matcher describes on what kind of transfers this route
                      should match. If no matcher is provided, a route acts as a
                      fallback and will always match unless another route that
                      has a matcher matches the transfer.
                  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:
          type: string
          description: The unique identifier of the refund.
          title: nonEmptyString
          minLength: 1
        depositAddress:
          anyOf:
            - $ref: '#/components/schemas/EthAddressSchema'
            - $ref: '#/components/schemas/TronAddressBasic'
            - $ref: '#/components/schemas/SolanaAddress'
            - $ref: '#/components/schemas/StellarMuxedAddress'
            - $ref: '#/components/schemas/BitcoinAddressSchema'
          description: >-
            The Rhino.fi Smart Deposit Address that the refunded tokens were
            sent to.
        depositChain:
          type: string
          description: The blockchain where the deposit was sent to.
          title: nonEmptyString
          minLength: 1
        recipient:
          anyOf:
            - $ref: '#/components/schemas/EthAddressSchema'
            - $ref: '#/components/schemas/TronAddressBasic'
            - $ref: '#/components/schemas/SolanaAddress'
            - $ref: '#/components/schemas/StellarMuxedAddress'
            - $ref: '#/components/schemas/BitcoinAddressSchema'
          description: The address that the refund was sent to.
        trigger:
          anyOf:
            - type: object
              required:
                - _tag
                - nativeToken
                - amountWei
              properties:
                _tag:
                  type: string
                  enum:
                    - UNSUPPORTED_TOKEN
                nativeToken:
                  type: boolean
                  description: Whether the refunded asset is the chain's native token.
                amountWei:
                  type: string
                  description: >-
                    The value of the tokens that were refunded, denominated in
                    the smallest unit of the token.
                tokenAddress:
                  type: string
                  description: The contract address of the refunded token.
                  title: nonEmptyString
                  minLength: 1
                tokenSymbol:
                  type: string
                  description: The ticker of the refunded token.
                  title: nonEmptyString
                  minLength: 1
                amount:
                  type: string
                  description: The native value of the tokens that were refunded.
                amountUsd:
                  type: string
                  description: The USD value of the tokens that were refunded.
              additionalProperties: false
            - type: object
              required:
                - _tag
                - rejectedDepositAddressBridgeId
                - nativeToken
                - amountWei
                - amount
                - amountUsd
                - tokenAddress
                - tokenSymbol
              properties:
                _tag:
                  type: string
                  enum:
                    - REJECTED_BRIDGE
                rejectedDepositAddressBridgeId:
                  type: string
                  description: >-
                    The identifier of the rejected bridge transaction that
                    triggered this refund.
                nativeToken:
                  type: boolean
                  description: Whether the refunded asset is the chain's native token.
                amountWei:
                  type: string
                  description: >-
                    The value of the tokens that were refunded, denominated in
                    the smallest unit of the token.
                amount:
                  type: string
                  description: The native value of the tokens that were refunded.
                amountUsd:
                  type: string
                  description: The USD value of the tokens that were refunded.
                tokenAddress:
                  type: string
                  description: The contract address of the refunded token.
                  title: nonEmptyString
                  minLength: 1
                tokenSymbol:
                  type: string
                  description: The ticker of the refunded token.
                  title: nonEmptyString
                  minLength: 1
              additionalProperties: false
          description: The reason that the refund was made.
        originalDepositTxHash:
          type: string
          description: The transaction hash of the original deposit that was refunded.
          title: nonEmptyString
          minLength: 1
        txHash:
          type: string
          description: The transaction hash of the refund that was made.
          title: nonEmptyString
          minLength: 1
        txTimestamp:
          type: string
          description: The datetime that the refund transaction was made.
        _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
    ExtendedPostBridgeData:
      type: object
      required:
        - _tag
        - vaultId
      properties:
        _tag:
          type: string
          enum:
            - extended
        vaultId:
          $ref: '#/components/schemas/NonNegative'
          description: A variable relating to the specific post bridge action.
          title: int
          type: integer
      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: A variable relating to the specific post bridge action.
          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
    EtherfiDepositPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - etherfideposit
      additionalProperties: false
    SwapQuote:
      type: object
      required:
        - tokenIn
        - tokenOut
        - amountIn
        - amountInUsd
        - amountOut
        - amountOutUsd
        - minAmountOut
        - minAmountOutUsd
        - aggregator
      properties:
        tokenIn:
          type: string
          description: The asset that was swapped from.
        tokenOut:
          type: string
          description: The asset that was swapped to.
        amountIn:
          type: string
          description: The native value of the tokens that were swapped from.
        amountInUsd:
          type: number
          description: The USD value of the tokens that were swapped from.
        amountOut:
          type: string
          description: The native value of the tokens that were received from the swap.
        amountOutUsd:
          type: number
          description: The USD value of the tokens that were received from the swap.
        minAmountOut:
          type: string
          description: >-
            The minimum native value of tokens guaranteed to be received from
            the swap, after slippage.
        minAmountOutUsd:
          type: number
          description: The USD value of the minAmountOut.
        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
          description: The swap aggregator used to execute the swap.
      additionalProperties: false
      description: >-
        Details of the swap performed on the chainIn before bridging, where one
        was required.
    NonNegative:
      type: number
      description: a non-negative number
      title: nonNegative
      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
    BitcoinAddressSchema:
      anyOf:
        - $ref: '#/components/schemas/BitcoinBech32AddressSchema'
        - $ref: '#/components/schemas/BitcoinBase58AddressSchema'
      description: Bitcoin address (bech32 / bech32m or base58check)
    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
    BitcoinBech32AddressSchema:
      type: string
      description: Bitcoin bech32 / bech32m address (SegWit, Taproot)
    BitcoinBase58AddressSchema:
      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

````