# trails-api v1 ea051e409c50f1605262cbb2fa34c03986cbfec2
# --
# Code generated by webrpc-gen@v0.36.1 with openapi generator; DO NOT EDIT
# 
# webrpc-gen -service=Trails -methodTreeShake -service=Trails -schema=proto/trails-api.ridl -target=openapi -title=Trails API -securityAnnotation=@auth -securitySchemes={'ApiKeyAuth': {'type': 'apiKey', 'in': 'header', 'description': 'Project access key for authenticating requests, get an access key at https://dashboard.trails.build', 'name': 'X-Access-Key'}} -out=proto/docs/trails-api.gen.yaml
openapi: 3.0.0
info:
  title: 'Trails API'
  version: ''

servers:
  - url: https://trails-api.sequence.app
    description: Trails API

components:
  securitySchemes: {'ApiKeyAuth': {'type': 'apiKey', 'in': 'header', 'description': 'Project access key for authenticating requests, get an access key at https://dashboard.trails.build', 'name': 'X-Access-Key'}}
  schemas:
    ErrorWebrpcEndpoint:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "WebrpcEndpoint"
        code:
          type: number
          example: 0
        msg:
          type: string
          example: "endpoint error"
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorWebrpcRequestFailed:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "WebrpcRequestFailed"
        code:
          type: number
          example: -1
        msg:
          type: string
          example: "request failed"
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorWebrpcBadRoute:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "WebrpcBadRoute"
        code:
          type: number
          example: -2
        msg:
          type: string
          example: "bad route"
        cause:
          type: string
        status:
          type: number
          example: 404
    ErrorWebrpcBadMethod:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "WebrpcBadMethod"
        code:
          type: number
          example: -3
        msg:
          type: string
          example: "bad method"
        cause:
          type: string
        status:
          type: number
          example: 405
    ErrorWebrpcBadRequest:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "WebrpcBadRequest"
        code:
          type: number
          example: -4
        msg:
          type: string
          example: "bad request"
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorWebrpcBadResponse:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "WebrpcBadResponse"
        code:
          type: number
          example: -5
        msg:
          type: string
          example: "bad response"
        cause:
          type: string
        status:
          type: number
          example: 500
    ErrorWebrpcServerPanic:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "WebrpcServerPanic"
        code:
          type: number
          example: -6
        msg:
          type: string
          example: "server panic"
        cause:
          type: string
        status:
          type: number
          example: 500
    ErrorWebrpcInternalError:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "WebrpcInternalError"
        code:
          type: number
          example: -7
        msg:
          type: string
          example: "internal error"
        cause:
          type: string
        status:
          type: number
          example: 500
    ErrorWebrpcClientAborted:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "WebrpcClientAborted"
        code:
          type: number
          example: -8
        msg:
          type: string
          example: "request aborted by client"
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorWebrpcStreamLost:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "WebrpcStreamLost"
        code:
          type: number
          example: -9
        msg:
          type: string
          example: "stream lost"
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorWebrpcStreamFinished:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "WebrpcStreamFinished"
        code:
          type: number
          example: -10
        msg:
          type: string
          example: "stream finished"
        cause:
          type: string
        status:
          type: number
          example: 200
    ErrorUnauthorized:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "Unauthorized"
        code:
          type: number
          example: 1000
        msg:
          type: string
          example: "Unauthorized access"
        cause:
          type: string
        status:
          type: number
          example: 401
    ErrorPermissionDenied:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "PermissionDenied"
        code:
          type: number
          example: 1001
        msg:
          type: string
          example: "Permission denied"
        cause:
          type: string
        status:
          type: number
          example: 403
    ErrorSessionExpired:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "SessionExpired"
        code:
          type: number
          example: 1002
        msg:
          type: string
          example: "Session expired"
        cause:
          type: string
        status:
          type: number
          example: 403
    ErrorMethodNotFound:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "MethodNotFound"
        code:
          type: number
          example: 1003
        msg:
          type: string
          example: "Method not found"
        cause:
          type: string
        status:
          type: number
          example: 404
    ErrorRequestConflict:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "RequestConflict"
        code:
          type: number
          example: 1004
        msg:
          type: string
          example: "Conflict with target resource"
        cause:
          type: string
        status:
          type: number
          example: 409
    ErrorAborted:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "Aborted"
        code:
          type: number
          example: 1005
        msg:
          type: string
          example: "Request aborted"
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorGeoblocked:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "Geoblocked"
        code:
          type: number
          example: 1006
        msg:
          type: string
          example: "Geoblocked region"
        cause:
          type: string
        status:
          type: number
          example: 451
    ErrorRateLimited:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "RateLimited"
        code:
          type: number
          example: 1007
        msg:
          type: string
          example: "Rate-limited. Please slow down."
        cause:
          type: string
        status:
          type: number
          example: 429
    ErrorProjectNotFound:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "ProjectNotFound"
        code:
          type: number
          example: 1008
        msg:
          type: string
          example: "Project not found"
        cause:
          type: string
        status:
          type: number
          example: 401
    ErrorAccessKeyNotFound:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "AccessKeyNotFound"
        code:
          type: number
          example: 1101
        msg:
          type: string
          example: "Access key not found"
        cause:
          type: string
        status:
          type: number
          example: 401
    ErrorAccessKeyMismatch:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "AccessKeyMismatch"
        code:
          type: number
          example: 1102
        msg:
          type: string
          example: "Access key mismatch"
        cause:
          type: string
        status:
          type: number
          example: 409
    ErrorInvalidOrigin:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "InvalidOrigin"
        code:
          type: number
          example: 1103
        msg:
          type: string
          example: "Invalid origin for Access Key"
        cause:
          type: string
        status:
          type: number
          example: 403
    ErrorInvalidService:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "InvalidService"
        code:
          type: number
          example: 1104
        msg:
          type: string
          example: "Service not enabled for Access key"
        cause:
          type: string
        status:
          type: number
          example: 403
    ErrorUnauthorizedUser:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "UnauthorizedUser"
        code:
          type: number
          example: 1105
        msg:
          type: string
          example: "Unauthorized user"
        cause:
          type: string
        status:
          type: number
          example: 403
    ErrorQuotaExceeded:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "QuotaExceeded"
        code:
          type: number
          example: 1200
        msg:
          type: string
          example: "Quota request exceeded"
        cause:
          type: string
        status:
          type: number
          example: 429
    ErrorQuotaRateLimit:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "QuotaRateLimit"
        code:
          type: number
          example: 1201
        msg:
          type: string
          example: "Quota rate limit exceeded"
        cause:
          type: string
        status:
          type: number
          example: 429
    ErrorNoDefaultKey:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "NoDefaultKey"
        code:
          type: number
          example: 1300
        msg:
          type: string
          example: "No default access key found"
        cause:
          type: string
        status:
          type: number
          example: 403
    ErrorMaxAccessKeys:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "MaxAccessKeys"
        code:
          type: number
          example: 1301
        msg:
          type: string
          example: "Access keys limit reached"
        cause:
          type: string
        status:
          type: number
          example: 403
    ErrorAtLeastOneKey:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "AtLeastOneKey"
        code:
          type: number
          example: 1302
        msg:
          type: string
          example: "You need at least one Access Key"
        cause:
          type: string
        status:
          type: number
          example: 403
    ErrorTimeout:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "Timeout"
        code:
          type: number
          example: 1900
        msg:
          type: string
          example: "Request timed out"
        cause:
          type: string
        status:
          type: number
          example: 408
    ErrorInvalidArgument:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "InvalidArgument"
        code:
          type: number
          example: 2000
        msg:
          type: string
          example: "Invalid argument"
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorUnexpected:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "Unexpected"
        code:
          type: number
          example: 2001
        msg:
          type: string
          example: "Unexpected server error"
        cause:
          type: string
        status:
          type: number
          example: 500
    ErrorUnavailable:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "Unavailable"
        code:
          type: number
          example: 2002
        msg:
          type: string
          example: "Unavailable resource"
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorQueryFailed:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "QueryFailed"
        code:
          type: number
          example: 2003
        msg:
          type: string
          example: "Query failed"
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorIntentStatus:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "IntentStatus"
        code:
          type: number
          example: 2004
        msg:
          type: string
          example: "Invalid intent status"
        cause:
          type: string
        status:
          type: number
          example: 422
    ErrorIntentProtocolDeprecated:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "IntentProtocolDeprecated"
        code:
          type: number
          example: 3000
        msg:
          type: string
          example: "Requested intent protocol version is outdated/deprecated. Please upgrade your Trails SDK, see https://docs.sequence.build for more information."
        cause:
          type: string
        status:
          type: number
          example: 422
    ErrorNotFound:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "NotFound"
        code:
          type: number
          example: 8000
        msg:
          type: string
          example: "Resource not found"
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorUnsupportedNetwork:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "UnsupportedNetwork"
        code:
          type: number
          example: 8008
        msg:
          type: string
          example: "Unsupported network"
        cause:
          type: string
        status:
          type: number
          example: 422
    ErrorClientOutdated:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "ClientOutdated"
        code:
          type: number
          example: 8009
        msg:
          type: string
          example: "Client is outdated"
        cause:
          type: string
        status:
          type: number
          example: 422
    ErrorIntentsSkipped:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "IntentsSkipped"
        code:
          type: number
          example: 7000
        msg:
          type: string
          example: "Intents skipped as client is attempting a transaction that does not require intents"
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorQuoteExpired:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "QuoteExpired"
        code:
          type: number
          example: 7001
        msg:
          type: string
          example: "Intent quote has expired. Please try again."
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorHighPriceImpact:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "HighPriceImpact"
        code:
          type: number
          example: 7002
        msg:
          type: string
          example: "Quote unavailable due to high price impact"
        cause:
          type: string
        status:
          type: number
          example: 422
    ErrorIntentsDisabled:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "IntentsDisabled"
        code:
          type: number
          example: 9000
        msg:
          type: string
          example: "Intents service is currently unavailable"
        cause:
          type: string
        status:
          type: number
          example: 400
    ErrorChainNodeHealth:
      type: object
      required:
        - error
        - code
        - msg
        - status
      properties:
        error:
          type: string
          example: "ChainNodeHealth"
        code:
          type: number
          example: 9001
        msg:
          type: string
          example: "Intent quote is unavailable due to interrupted chain node access"
        cause:
          type: string
        status:
          type: number
          example: 503
    IntentMode:
      type: string
      description: Represented as string on the server side
      enum:
        - SWAP
        - FUND
        - EARN
        - PAY
        - WITHDRAW
    TradeType:
      type: string
      description: Represented as string on the server side
      enum:
        - EXACT_INPUT
        - EXACT_OUTPUT
    RouteProvider:
      type: string
      description: Represented as string on the server side
      enum:
        - AUTO
        - CCTP
        - GASZIP
        - HYPERLANE
        - LIFI
        - LZ_OFT
        - LZ_TRANSFER
        - OIF
        - RELAY
        - SOMNIA_EXCHANGE
        - SOMNIA_SWAP
        - SUSHI
        - WETH
        - ZEROX
    RoutePreference:
      type: string
      description: Represented as string on the server side
      enum:
        - RECOMMENDED
        - FASTEST
        - CHEAPEST
        - TRUSTLESS
    FundMethod:
      type: string
      description: Represented as string on the server side
      enum:
        - WALLET
        - DIRECT_TRANSFER
        - ONRAMP_MESH
        - ONRAMP_MELD
        - ONRAMP_BLUVO
    EdgeRail:
      type: string
      description: Represented as string on the server side
      enum:
        - SOLANA
        - TRON
    EdgeMode:
      type: string
      description: Represented as string on the server side
      enum:
        - ORIGIN
        - DESTINATION
    EdgeStatus:
      type: string
      description: Represented as string on the server side
      enum:
        - PENDING
        - DEPOSITED
        - FILLED
        - REFUNDED
        - FAILED
    IntentProtocolVersion:
      type: string
      description: Represented as string on the server side
      enum:
        - v1
        - v1_5
    IntentStatus:
      type: string
      description: Represented as uint8 on the server side
      enum:
        - QUOTED
        - COMMITTED
        - EXECUTING
        - FAILED
        - SUCCEEDED
        - ABORTED
        - REFUNDED
        - INVALID
    TransactionType:
      type: string
      description: Represented as uint8 on the server side
      enum:
        - UNKNOWN
        - DEPOSIT
        - ORIGIN
        - DESTINATION
        - ROUTE
        - REFUND
    TransactionContext:
      type: string
      description: Represented as uint8 on the server side
      enum:
        - NONE
        - CCTPV2_MESSAGE
        - LZ_COMPOSE
        - LZ_RECEIVE
        - HYPERLANE_PAY_FOR_GAS
    TransactionStatus:
      type: string
      description: Represented as uint8 on the server side
      enum:
        - UNKNOWN
        - ON_HOLD
        - PENDING
        - RELAYING
        - SENT
        - ERRORED
        - MINING
        - SUCCEEDED
        - FAILED
        - ABORTED
        - REVERTED
    ChainGasUsageStatus:
      type: string
      description: Represented as string on the server side
      enum:
        - NORMAL
        - BUSY
        - VERY_BUSY
    SortOrder:
      type: string
      description: Represented as uint32 on the server side
      enum:
        - DESC
        - ASC
    QuoteIntentRequest:
      type: object
      required:
        - ownerAddress
        - originChainId
        - originTokenAddress
        - destinationChainId
        - destinationTokenAddress
      properties:
        ownerAddress:
          type: string
        originChainId:
          type: number
        originTokenAddress:
          type: string
        destinationChainId:
          type: number
        destinationTokenAddress:
          type: string
        destinationToAddress:
          type: string
        destinationApproveAddress:
          type: string
        destinationCallData:
          type: string
        destinationCallValue:
          type: number
        originTokenAmount:
          type: number
        destinationTokenAmount:
          type: number
        tradeType:
          $ref: '#/components/schemas/TradeType'
        fundMethod:
          $ref: '#/components/schemas/FundMethod'
        mode:
          $ref: '#/components/schemas/IntentMode'
        onlyNativeGasFee:
          type: boolean
        options:
          $ref: '#/components/schemas/QuoteIntentRequestOptions'
    QuoteIntentRequestOptions:
      type: object
      properties:
        intentProtocol:
          $ref: '#/components/schemas/IntentProtocolVersion'
        swapProvider:
          $ref: '#/components/schemas/RouteProvider'
        bridgeProvider:
          $ref: '#/components/schemas/RouteProvider'
        swapProviderFallback:
          type: boolean
        bridgeProviderFallback:
          type: boolean
        preference:
          $ref: '#/components/schemas/RoutePreference'
        slippageTolerance:
          type: number
        trailsAddressOverrides:
          $ref: '#/components/schemas/TrailsAddressOverrides'
    EdgeQuoteRequest:
      type: object
      required:
        - rail
        - mode
      properties:
        rail:
          $ref: '#/components/schemas/EdgeRail'
        mode:
          $ref: '#/components/schemas/EdgeMode'
        provider:
          $ref: '#/components/schemas/RouteProvider'
        tradeType:
          $ref: '#/components/schemas/TradeType'
        originChainId:
          type: number
        originAddress:
          type: string
        originTokenAddress:
          type: string
        originTokenAmount:
          type: number
        refundAddress:
          type: string
        destinationChainId:
          type: number
        destinationAddress:
          type: string
        destinationTokenAddress:
          type: string
    EdgeHandoff:
      type: object
      required:
        - chainId
        - tokenAddress
        - amount
        - recipientAddress
      properties:
        chainId:
          type: number
        tokenAddress:
          type: string
        amount:
          type: number
        recipientAddress:
          type: string
    EdgeQuoteResponse:
      type: object
      required:
        - rail
        - mode
        - provider
        - tradeType
        - requestId
        - providerQuote
        - executionPlan
      properties:
        rail:
          $ref: '#/components/schemas/EdgeRail'
        mode:
          $ref: '#/components/schemas/EdgeMode'
        provider:
          $ref: '#/components/schemas/RouteProvider'
        tradeType:
          $ref: '#/components/schemas/TradeType'
        originTokenAmount:
          type: number
        requestId:
          type: string
        handoff:
          $ref: '#/components/schemas/EdgeHandoff'
        providerQuote:
          type: object
        executionPlan:
          type: array
          description: '[]string'
          items:
            type: string
    IntentEdgeMetadata:
      type: object
      required:
        - edgeId
        - rail
        - mode
        - edgeStatus
        - originChainId
        - relayRequestId
      properties:
        edgeId:
          type: string
        rail:
          $ref: '#/components/schemas/EdgeRail'
        mode:
          $ref: '#/components/schemas/EdgeMode'
        edgeStatus:
          $ref: '#/components/schemas/EdgeStatus'
        originChainId:
          type: number
        relayRequestId:
          type: string
        edgeTokenAmount:
          type: number
        edgeTokenAddress:
          type: string
        edgeUserAddress:
          type: string
        initTransactionHash:
          type: string
        fillTransactionHash:
          type: string
        refundTransactionHash:
          type: string
        edgeTokenMetadata:
          $ref: '#/components/schemas/TokenMetadata'
        createdAt:
          type: string
    PassthroughInfo:
      type: object
      required:
        - eligible
      properties:
        eligible:
          type: boolean
        passthroughTransaction:
          $ref: '#/components/schemas/PassThroughTransaction'
        transactionStates:
          type: array
          description: '[]TransactionStateInfo'
          items:
            $ref: '#/components/schemas/TransactionStateInfo'
        quote:
          $ref: '#/components/schemas/IntentProviderQuote'
        fees:
          $ref: '#/components/schemas/IntentFees'
    Intent:
      type: object
      required:
        - id
        - projectId
        - intentId
        - status
        - quoteRequest
        - ownerAddress
        - originChainId
        - destinationChainId
        - originTokenAddress
        - destinationTokenAddress
        - originIntentAddress
        - salt
        - depositTransaction
        - originCalls
        - originPrecondition
        - originMetaTxn
        - quote
        - fees
        - trailsVersion
        - trailsContracts
        - expiresAt
        - isTestnet
      properties:
        id:
          type: number
        projectId:
          type: number
        intentId:
          type: string
        status:
          $ref: '#/components/schemas/IntentStatus'
        quoteRequest:
          $ref: '#/components/schemas/QuoteIntentRequest'
        ownerAddress:
          type: string
        originChainId:
          type: number
        destinationChainId:
          type: number
        originTokenAddress:
          type: string
        destinationTokenAddress:
          type: string
        originIntentAddress:
          type: string
        destinationIntentAddress:
          type: string
        salt:
          type: number
        depositTransaction:
          $ref: '#/components/schemas/DepositTransaction'
        edge:
          $ref: '#/components/schemas/IntentEdgeMetadata'
        passthrough:
          type: boolean
        originCalls:
          $ref: '#/components/schemas/IntentCalls'
        destinationCalls:
          $ref: '#/components/schemas/IntentCalls'
        originPrecondition:
          $ref: '#/components/schemas/TransactionPrecondition'
        destinationPrecondition:
          $ref: '#/components/schemas/TransactionPrecondition'
        originMetaTxn:
          $ref: '#/components/schemas/MetaTxn'
        destinationMetaTxn:
          $ref: '#/components/schemas/MetaTxn'
        quote:
          $ref: '#/components/schemas/IntentProviderQuote'
        fees:
          $ref: '#/components/schemas/IntentFees'
        gasFeeOptions:
          $ref: '#/components/schemas/GasFeeOptions'
        trailsVersion:
          type: string
        intentProtocol:
          $ref: '#/components/schemas/IntentProtocolVersion'
        timedRefundUnlockTimestamp:
          type: number
        trailsContracts:
          $ref: '#/components/schemas/TrailsContracts'
        expiresAt:
          type: string
        updatedAt:
          type: string
        createdAt:
          type: string
        isTestnet:
          type: boolean
    DepositTransaction:
      type: object
      required:
        - toAddress
        - tokenAddress
        - amount
        - chainId
        - to
        - data
        - value
      properties:
        toAddress:
          type: string
        tokenAddress:
          type: string
        decimals:
          type: number
        amount:
          type: number
        chainId:
          type: number
        to:
          type: string
        data:
          type: string
        value:
          type: number
    PassThroughTransaction:
      type: object
      required:
        - toAddress
        - tokenAddress
        - amount
        - chainId
        - to
        - data
        - value
      properties:
        toAddress:
          type: string
        tokenAddress:
          type: string
        decimals:
          type: number
        amount:
          type: number
        chainId:
          type: number
        to:
          type: string
        data:
          type: string
        value:
          type: number
    TransactionStateInfo:
      type: object
      required:
        - id
        - label
        - chainId
      properties:
        id:
          type: string
        label:
          type: string
        chainId:
          type: number
        transactionHash:
          type: string
    IntentCalls:
      type: object
      required:
        - chainId
        - calls
      properties:
        chainId:
          type: number
        space:
          type: number
        nonce:
          type: number
        calls:
          type: array
          description: '[]TransactionCall'
          items:
            $ref: '#/components/schemas/TransactionCall'
    TransactionCall:
      type: object
      required:
        - to
      properties:
        to:
          type: string
        value:
          type: number
        data:
          type: string
        gasLimit:
          type: number
        delegateCall:
          type: boolean
        onlyFallback:
          type: boolean
        behaviorOnError:
          type: number
    TransactionPrecondition:
      type: object
      required:
        - type
        - chainId
        - ownerAddress
        - tokenAddress
        - minAmount
      properties:
        type:
          type: string
        chainId:
          type: number
        ownerAddress:
          type: string
        tokenAddress:
          type: string
        minAmount:
          type: number
    MetaTxn:
      type: object
      required:
        - id
        - chainId
        - walletAddress
        - contract
        - input
      properties:
        id:
          type: string
        chainId:
          type: number
        walletAddress:
          type: string
        contract:
          type: string
        input:
          type: string
        bridgeGas:
          type: number
    IntentHistory:
      type: object
      required:
        - intentId
        - status
        - expiresAt
        - receipt
      properties:
        intentId:
          type: string
        status:
          $ref: '#/components/schemas/IntentStatus'
        expiresAt:
          type: string
        updatedAt:
          type: string
        createdAt:
          type: string
        receipt:
          $ref: '#/components/schemas/IntentReceipt'
        hasBalance:
          type: boolean
        balances:
          type: array
          description: '[]IntentAddressBalance'
          items:
            $ref: '#/components/schemas/IntentAddressBalance'
    IntentAddressBalance:
      type: object
      required:
        - intentAddress
        - chainId
        - tokens
      properties:
        intentAddress:
          type: string
        chainId:
          type: number
        tokens:
          type: array
          description: '[]IntentTokenBalance'
          items:
            $ref: '#/components/schemas/IntentTokenBalance'
    IntentTokenBalance:
      type: object
      required:
        - contractAddress
        - balance
        - balanceUsd
        - priceUsd
        - decimals
        - chainId
        - symbol
      properties:
        contractAddress:
          type: string
        balance:
          type: string
        balanceUsd:
          type: string
        priceUsd:
          type: string
        decimals:
          type: number
        chainId:
          type: number
        symbol:
          type: string
    IntentReceiptSummary:
      type: object
      required:
        - intentId
        - status
        - ownerAddress
        - originChainId
        - destinationChainId
        - tradeType
        - routeProviders
        - originIntentAddress
        - originTokenAddress
        - originTokenAmount
        - quotedOriginTokenAmount
        - originTokenMetadata
        - destinationIntentAddress
        - destinationTokenMetadata
        - destinationHasCallData
        - destinationHasCallValue
        - createdAt
        - expiresAt
      properties:
        intentId:
          type: string
        status:
          $ref: '#/components/schemas/IntentStatus'
        ownerAddress:
          type: string
        originChainId:
          type: number
        destinationChainId:
          type: number
        mode:
          $ref: '#/components/schemas/IntentMode'
        tradeType:
          $ref: '#/components/schemas/TradeType'
        routeProviders:
          type: array
          description: '[]RouteProvider'
          items:
            $ref: '#/components/schemas/RouteProvider'
        originIntentAddress:
          type: string
        originTokenAddress:
          type: string
        originTokenAmount:
          type: number
        quotedOriginTokenAmount:
          type: number
        originTokenMetadata:
          $ref: '#/components/schemas/TokenMetadata'
        destinationIntentAddress:
          type: string
        destinationTokenAddress:
          type: string
        destinationTokenAmount:
          type: number
        quotedDestinationTokenAmount:
          type: number
        destinationToAddress:
          type: string
        destinationTokenMetadata:
          $ref: '#/components/schemas/TokenMetadata'
        destinationHasCallData:
          type: boolean
        destinationHasCallValue:
          type: boolean
        edge:
          $ref: '#/components/schemas/IntentEdgeMetadata'
        memo:
          type: string
        createdAt:
          type: string
        expiresAt:
          type: string
        startedAt:
          type: string
        finishedAt:
          type: string
    IntentReceipt:
      type: object
      required:
        - id
        - projectId
        - intentId
        - status
        - ownerAddress
        - originChainId
        - destinationChainId
        - depositTransactionId
        - depositTransaction
        - originTransactionId
        - originTransaction
        - summary
      properties:
        id:
          type: number
        projectId:
          type: number
        intentId:
          type: string
        status:
          $ref: '#/components/schemas/IntentStatus'
        ownerAddress:
          type: string
        originChainId:
          type: number
        destinationChainId:
          type: number
        depositTransactionId:
          type: number
        depositTransaction:
          $ref: '#/components/schemas/IntentTransaction'
        originTransactionId:
          type: number
        originTransaction:
          $ref: '#/components/schemas/IntentTransaction'
        destinationTransactionId:
          type: number
        destinationTransaction:
          $ref: '#/components/schemas/IntentTransaction'
        refundTransactionId:
          type: number
        refundTransaction:
          $ref: '#/components/schemas/IntentTransaction'
        summary:
          $ref: '#/components/schemas/IntentReceiptSummary'
        edge:
          $ref: '#/components/schemas/IntentEdgeMetadata'
        updatedAt:
          type: string
        createdAt:
          type: string
    IntentTransaction:
      type: object
      required:
        - id
        - intentId
        - status
        - chainId
        - type
        - context
        - fromAddress
        - toAddress
        - tokenAddress
        - tokenAmount
      properties:
        id:
          type: number
        intentId:
          type: string
        status:
          $ref: '#/components/schemas/TransactionStatus'
        statusReason:
          type: string
        chainId:
          type: number
        type:
          $ref: '#/components/schemas/TransactionType'
        context:
          $ref: '#/components/schemas/TransactionContext'
        fromAddress:
          type: string
        toAddress:
          type: string
        tokenAddress:
          type: string
        tokenAmount:
          type: number
        bridgeGas:
          type: number
        calldata:
          type: string
        metaTxnId:
          type: string
        metaTxnFeeQuote:
          type: string
        precondition:
          $ref: '#/components/schemas/TransactionPrecondition'
        depositIntentEntry:
          $ref: '#/components/schemas/DepositIntentEntry'
        txnHash:
          type: string
        txnMinedAt:
          type: string
        updatedAt:
          type: string
        createdAt:
          type: string
        statusUpdatedAt:
          type: string
        eligibleAt:
          type: string
    PriceImpact:
      type: object
      required:
        - priceImpact
        - priceImpactUsd
      properties:
        priceImpact:
          type: number
        priceImpactUsd:
          type: number
    PriceImpactDetails:
      type: object
      required:
        - executionPriceImpact
        - marketPriceImpact
        - providerFeesPriceImpact
        - trailsFeesPriceImpact
        - netPriceImpact
      properties:
        executionPriceImpact:
          $ref: '#/components/schemas/PriceImpact'
        marketPriceImpact:
          $ref: '#/components/schemas/PriceImpact'
        providerFeesPriceImpact:
          $ref: '#/components/schemas/PriceImpact'
        trailsFeesPriceImpact:
          $ref: '#/components/schemas/PriceImpact'
        netPriceImpact:
          $ref: '#/components/schemas/PriceImpact'
    IntentProviderQuote:
      type: object
      required:
        - routeProviders
        - routeProvidersRequestIds
        - routeProvidersFeeUsd
        - fromAmount
        - fromAmountMin
        - fromAmountUsd
        - fromAmountMinUsd
        - toAmount
        - toAmountMin
        - toAmountUsd
        - toAmountMinUsd
        - maxSlippage
        - priceImpact
        - priceImpactUsd
        - priceImpactDetails
      properties:
        routeProviders:
          type: array
          description: '[]RouteProvider'
          items:
            $ref: '#/components/schemas/RouteProvider'
        routeProvidersRequestIds:
          type: array
          description: '[]string'
          items:
            type: string
        routeProvidersFeeUsd:
          type: array
          description: '[]float64'
          items:
            type: number
        estimatedDuration:
          type: number
        fromAmount:
          type: number
        fromAmountMin:
          type: number
        fromAmountUsd:
          type: number
        fromAmountMinUsd:
          type: number
        toAmount:
          type: number
        toAmountMin:
          type: number
        toAmountUsd:
          type: number
        toAmountMinUsd:
          type: number
        maxSlippage:
          type: number
        priceImpact:
          type: number
        priceImpactUsd:
          type: number
        priceImpactDetails:
          $ref: '#/components/schemas/PriceImpactDetails'
    IntentFees:
      type: object
      required:
        - originGas
        - provider
        - feeTokenAddress
        - feeTokenAmount
        - feeTokenUsd
        - feeTokenTotal
        - gasFeeTotal
        - gasFeeUsd
        - trailsFeeTotal
        - trailsFeeUsd
        - collectorFeeTotal
        - collectorFeeUsd
        - providerFeeTotal
        - providerFeeUsd
        - totalFeeAmount
        - totalFeeUsd
      properties:
        originGas:
          $ref: '#/components/schemas/IntentTransactionGasFee'
        destinationGas:
          $ref: '#/components/schemas/IntentTransactionGasFee'
        provider:
          $ref: '#/components/schemas/IntentProviderFees'
        feeTokenAddress:
          type: string
        feeTokenAmount:
          type: number
        feeTokenUsd:
          type: number
        feeTokenTotal:
          type: number
        gasFeeTotal:
          type: number
        gasFeeUsd:
          type: number
        trailsFeeTotal:
          type: number
        trailsFeeUsd:
          type: number
        collectorFeeTotal:
          type: number
        collectorFeeUsd:
          type: number
        providerFeeTotal:
          type: number
        providerFeeUsd:
          type: number
        totalFeeAmount:
          type: number
        totalFeeUsd:
          type: number
    IntentProviderFees:
      type: object
      required:
        - quoteProvider
        - quoteProviderFee
        - quoteProviderFeeUsd
        - trailsFee
        - trailsFeeUsd
        - quoteProviderWithTrailsFee
        - providerWithTrailsFeeUsd
        - totalFeeAmount
        - totalFeeUsd
      properties:
        quoteProvider:
          type: string
        quoteProviderFee:
          type: number
        quoteProviderFeeUsd:
          type: number
        trailsFee:
          type: number
        trailsFeeUsd:
          type: number
        quoteProviderWithTrailsFee:
          type: number
        providerWithTrailsFeeUsd:
          type: number
        totalFeeAmount:
          type: number
        totalFeeUsd:
          type: number
    IntentSummary:
      type: object
      required:
        - id
        - intentId
        - status
        - ownerAddress
        - originChainId
        - destinationChainId
        - originIntentAddress
        - destinationIntentAddress
        - depositTransactionStatus
        - originTransactionStatus
        - destinationTransactionStatus
        - originTokenAddress
        - originTokenAmount
        - quotedOriginTokenAmount
        - originTokenMetadata
        - destinationTokenAddress
        - destinationTokenAmount
        - quotedDestinationTokenAmount
        - destinationTokenMetadata
        - destinationToAddress
        - expiresAt
        - createdAt
      properties:
        id:
          type: number
        intentId:
          type: string
        status:
          $ref: '#/components/schemas/IntentStatus'
        ownerAddress:
          type: string
        originChainId:
          type: number
        destinationChainId:
          type: number
        originIntentAddress:
          type: string
        destinationIntentAddress:
          type: string
        depositTransactionHash:
          type: string
        depositTransactionStatus:
          $ref: '#/components/schemas/TransactionStatus'
        originTransactionHash:
          type: string
        originTransactionStatus:
          $ref: '#/components/schemas/TransactionStatus'
        destinationTransactionHash:
          type: string
        destinationTransactionStatus:
          $ref: '#/components/schemas/TransactionStatus'
        originTokenAddress:
          type: string
        originTokenAmount:
          type: number
        quotedOriginTokenAmount:
          type: number
        originTokenMetadata:
          $ref: '#/components/schemas/TokenMetadata'
        destinationTokenAddress:
          type: string
        destinationTokenAmount:
          type: number
        quotedDestinationTokenAmount:
          type: number
        destinationTokenMetadata:
          $ref: '#/components/schemas/TokenMetadata'
        destinationToAddress:
          type: string
        expiresAt:
          type: string
        updatedAt:
          type: string
        createdAt:
          type: string
    IntentTransactionGasFee:
      type: object
      required:
        - chainId
        - totalGasLimit
        - gasPrice
        - nativeTokenSymbol
        - chainGasUsageStatus
        - totalFeeAmount
        - totalFeeUsd
        - metaTxnFeeDetails
        - metaTxnGasQuote
      properties:
        chainId:
          type: number
        totalGasLimit:
          type: number
        gasPrice:
          type: number
        nativeTokenSymbol:
          type: string
        nativeTokenPriceUsd:
          type: number
        chainGasUsageStatus:
          $ref: '#/components/schemas/ChainGasUsageStatus'
        totalFeeAmount:
          type: number
        totalFeeUsd:
          type: number
        metaTxnFeeDetails:
          $ref: '#/components/schemas/MetaTxnFeeDetails'
        metaTxnGasQuote:
          type: string
    MetaTxnFeeDetails:
      type: object
      required:
        - metaTxnId
        - estimatedGasLimit
        - feeNative
      properties:
        metaTxnId:
          type: string
        estimatedGasLimit:
          type: number
        feeNative:
          type: number
    TokenMetadata:
      type: object
      required:
        - chainId
        - tokenAddress
        - name
        - symbol
      properties:
        chainId:
          type: number
        tokenAddress:
          type: string
        name:
          type: string
        symbol:
          type: string
        decimals:
          type: number
        logoUri:
          type: string
    Token:
      type: object
      required:
        - chainId
        - tokenAddress
      properties:
        chainId:
          type: number
        tokenAddress:
          type: string
        tokenSymbol:
          type: string
    TokenPrice:
      type: object
      required:
        - token
        - updatedAt
      properties:
        token:
          $ref: '#/components/schemas/Token'
        priceUsd:
          type: number
        updatedAt:
          type: string
    ExchangeRate:
      type: object
      required:
        - name
        - symbol
        - value
        - vsCurrency
        - currencyType
      properties:
        name:
          type: string
        symbol:
          type: string
        value:
          type: number
        vsCurrency:
          type: string
        currencyType:
          type: string
    GasFeeOptions:
      type: object
      required:
        - gasEstimate
        - feeOptions
        - expiresAt
        - feeCollectorAddress
      properties:
        gasEstimate:
          $ref: '#/components/schemas/GasEstimate'
        feeOptions:
          type: array
          description: '[]FeeOption'
          items:
            $ref: '#/components/schemas/FeeOption'
        expiresAt:
          type: string
        feeCollectorAddress:
          type: string
    GasEstimate:
      type: object
      required:
        - totalGas
        - gasPrice
        - nativeCost
        - nativeCostUsd
      properties:
        totalGas:
          type: number
        gasPrice:
          type: string
        nativeCost:
          type: string
        nativeCostUsd:
          type: number
    FeeOption:
      type: object
      required:
        - tokenAddress
        - tokenSymbol
        - tokenDecimals
        - amount
        - amountUsd
        - feeCollectorAddress
        - is2612
      properties:
        tokenAddress:
          type: string
        tokenSymbol:
          type: string
        tokenDecimals:
          type: number
        amount:
          type: number
        amountUsd:
          type: number
        feeCollectorAddress:
          type: string
        is2612:
          type: boolean
        isPassthroughEligible:
          type: boolean
    DepositSignature:
      type: object
      required:
        - selectedGasFeeOption
        - deadline
      properties:
        intentSignature:
          type: string
        permitSignature:
          type: string
        permitDeadline:
          type: number
        permitAmount:
          type: number
        selectedGasFeeOption:
          $ref: '#/components/schemas/FeeOption'
        userNonce:
          type: number
        deadline:
          type: number
    DepositIntentEntry:
      type: object
      required:
        - feeAmount
        - feeToken
        - feeCollector
        - deadline
      properties:
        intentSignature:
          type: string
        permitSignature:
          type: string
        permitDeadline:
          type: number
        permitAmount:
          type: number
        feeAmount:
          type: string
        feeToken:
          type: string
        feeCollector:
          type: string
        userNonce:
          type: number
        deadline:
          type: number
    TrailsAddressOverrides:
      type: object
      properties:
        sequenceWalletFactoryAddress:
          type: string
        sequenceWalletMainModuleAddress:
          type: string
        sequenceWalletMainModuleUpgradableAddress:
          type: string
        sequenceWalletGuestModuleAddress:
          type: string
        sequenceWalletUtilsAddress:
          type: string
    TrailsContracts:
      type: object
      required:
        - trailsIntentEntrypointAddress
        - trailsRouterAddress
        - trailsRouterShimAddress
        - trailsUtilsAddress
      properties:
        trailsIntentEntrypointAddress:
          type: string
        trailsRouterAddress:
          type: string
        trailsRouterShimAddress:
          type: string
        trailsUtilsAddress:
          type: string
    NativeCurrency:
      type: object
      required:
        - name
        - symbol
        - decimals
      properties:
        name:
          type: string
        symbol:
          type: string
        decimals:
          type: number
    BlockExplorer:
      type: object
      required:
        - name
        - url
      properties:
        name:
          type: string
        url:
          type: string
    ChainInfo:
      type: object
      required:
        - id
        - name
        - nativeCurrency
      properties:
        id:
          type: number
        name:
          type: string
        nativeCurrency:
          $ref: '#/components/schemas/NativeCurrency'
        logoUri:
          type: string
        blockExplorer:
          $ref: '#/components/schemas/BlockExplorer'
    TokenInfo:
      type: object
      required:
        - chainId
        - address
        - name
        - symbol
        - decimals
        - featured
        - featureIndex
      properties:
        chainId:
          type: number
        address:
          type: string
        name:
          type: string
        symbol:
          type: string
        decimals:
          type: number
        supportsBridging:
          type: boolean
        logoUri:
          type: string
        featured:
          type: boolean
        featureIndex:
          type: number
    EarnPool:
      type: object
      required:
        - id
        - name
        - protocol
        - chainId
        - apy
        - tvl
        - token
        - depositAddress
        - isActive
      properties:
        id:
          type: string
        name:
          type: string
        protocol:
          type: string
        chainId:
          type: number
        apy:
          type: number
        tvl:
          type: number
        token:
          $ref: '#/components/schemas/PoolTokenInfo'
        depositAddress:
          type: string
        isActive:
          type: boolean
        poolUrl:
          type: string
        protocolUrl:
          type: string
        wrappedTokenGatewayAddress:
          type: string
    PoolTokenInfo:
      type: object
      required:
        - symbol
        - name
        - address
        - decimals
      properties:
        symbol:
          type: string
        name:
          type: string
        address:
          type: string
        decimals:
          type: number
        logoUrl:
          type: string
    CountryRegion:
      type: object
      required:
        - regionCode
        - name
      properties:
        regionCode:
          type: string
        name:
          type: string
    Country:
      type: object
      required:
        - countryCode
        - name
        - flag
        - flagImageUrl
      properties:
        countryCode:
          type: string
        name:
          type: string
        flag:
          type: string
        flagImageUrl:
          type: string
        regions:
          type: array
          description: '[]CountryRegion'
          items:
            $ref: '#/components/schemas/CountryRegion'
    FiatCurrency:
      type: object
      required:
        - code
        - symbol
        - name
        - flag
        - decimals
      properties:
        code:
          type: string
        symbol:
          type: string
        name:
          type: string
        flag:
          type: string
        decimals:
          type: number
    Page:
      type: object
      properties:
        column:
          type: string
        before:
          type: number
        after:
          type: number
        sort:
          type: array
          description: '[]SortBy'
          items:
            $ref: '#/components/schemas/SortBy'
        pageSize:
          type: number
        more:
          type: boolean
    SortBy:
      type: object
      required:
        - column
        - order
      properties:
        column:
          type: string
        order:
          $ref: '#/components/schemas/SortOrder'
    YieldProvider:
      type: object
      required:
        - name
        - id
        - logoURI
        - description
        - website
        - tvlUsd
        - type
        - supportsBeneficiary
      properties:
        name:
          type: string
        id:
          type: string
        logoURI:
          type: string
        description:
          type: string
        website:
          type: string
        tvlUsd:
          type: object
        type:
          type: string
        references:
          type: array
          description: '[]string'
          items:
            type: string
        supportsBeneficiary:
          type: boolean
    YieldNetwork:
      type: object
      required:
        - id
        - name
        - category
        - logoURI
      properties:
        id:
          type: string
        name:
          type: string
        category:
          type: string
        logoURI:
          type: string
    YieldMarket:
      type: object
      required:
        - id
        - network
        - inputTokens
        - token
        - tokens
        - rewardRate
        - status
        - metadata
        - mechanics
        - providerId
        - supportsBeneficiary
      properties:
        id:
          type: string
        network:
          type: string
        chainId:
          type: string
        inputTokens:
          type: array
          description: '[]YieldToken'
          items:
            $ref: '#/components/schemas/YieldToken'
        outputToken:
          $ref: '#/components/schemas/YieldToken'
        token:
          $ref: '#/components/schemas/YieldToken'
        tokens:
          type: array
          description: '[]YieldToken'
          items:
            $ref: '#/components/schemas/YieldToken'
        rewardRate:
          $ref: '#/components/schemas/YieldRewardRate'
        statistics:
          $ref: '#/components/schemas/YieldStatistics'
        risk:
          $ref: '#/components/schemas/YieldRiskSummary'
        status:
          $ref: '#/components/schemas/YieldStatus'
        metadata:
          $ref: '#/components/schemas/YieldMetadata'
        mechanics:
          $ref: '#/components/schemas/YieldMechanics'
        providerId:
          type: string
        curator:
          $ref: '#/components/schemas/YieldCurator'
        tags:
          type: array
          description: '[]string'
          items:
            type: string
        state:
          $ref: '#/components/schemas/YieldState'
        supportsBeneficiary:
          type: boolean
    YieldToken:
      type: object
      required:
        - symbol
        - name
        - decimals
        - network
      properties:
        symbol:
          type: string
        name:
          type: string
        decimals:
          type: number
        network:
          type: string
        address:
          type: string
        logoURI:
          type: string
        isPoints:
          type: boolean
        coinGeckoId:
          type: string
    YieldRewardRate:
      type: object
      required:
        - total
        - rateType
        - components
      properties:
        total:
          type: number
        rateType:
          type: string
        components:
          type: array
          description: '[]YieldReward'
          items:
            $ref: '#/components/schemas/YieldReward'
    YieldReward:
      type: object
      required:
        - rate
        - rateType
        - token
        - yieldSource
      properties:
        rate:
          type: number
        rateType:
          type: string
        token:
          $ref: '#/components/schemas/YieldToken'
        yieldSource:
          type: string
        description:
          type: string
    YieldStatistics:
      type: object
      properties:
        tvlUsd:
          type: string
        tvl:
          type: string
        tvlRaw:
          type: string
        uniqueUsers:
          type: number
        averagePositionSizeUsd:
          type: string
        averagePositionSize:
          type: string
    YieldRiskSummary:
      type: object
      required:
        - ratings
      properties:
        ratings:
          type: array
          description: '[]YieldRiskEntry'
          items:
            $ref: '#/components/schemas/YieldRiskEntry'
    YieldRiskEntry:
      type: object
      required:
        - rating
        - source
      properties:
        rating:
          type: string
        source:
          type: string
    YieldStatus:
      type: object
      required:
        - enter
        - exit
      properties:
        enter:
          type: boolean
        exit:
          type: boolean
    YieldMetadata:
      type: object
      required:
        - name
        - logoURI
        - description
        - documentation
        - underMaintenance
        - deprecated
        - supportedStandards
      properties:
        name:
          type: string
        logoURI:
          type: string
        description:
          type: string
        documentation:
          type: string
        underMaintenance:
          type: boolean
        deprecated:
          type: boolean
        supportedStandards:
          type: array
          description: '[]string'
          items:
            type: string
    YieldMechanics:
      type: object
      required:
        - type
        - rewardSchedule
        - rewardClaiming
        - gasFeeToken
      properties:
        type:
          type: string
        requiresValidatorSelection:
          type: boolean
        rewardSchedule:
          type: string
        rewardClaiming:
          type: string
        gasFeeToken:
          $ref: '#/components/schemas/YieldToken'
        lockupPeriod:
          $ref: '#/components/schemas/YieldTimePeriod'
        cooldownPeriod:
          $ref: '#/components/schemas/YieldTimePeriod'
        warmupPeriod:
          $ref: '#/components/schemas/YieldTimePeriod'
        fee:
          $ref: '#/components/schemas/YieldFee'
        entryLimits:
          $ref: '#/components/schemas/YieldEntryLimits'
        requirements:
          $ref: '#/components/schemas/YieldRequirements'
        supportsLedgerWalletApi:
          type: boolean
        extraTransactionFormatsSupported:
          type: array
          description: '[]string'
          items:
            type: string
        arguments:
          $ref: '#/components/schemas/YieldMechanicsArguments'
        possibleFeeTakingMechanisms:
          $ref: '#/components/schemas/YieldPossibleFeeTakingMechanisms'
    YieldTimePeriod:
      type: object
      required:
        - seconds
      properties:
        seconds:
          type: number
    YieldFee:
      type: object
      properties:
        deposit:
          type: string
        withdrawal:
          type: string
        management:
          type: string
        performance:
          type: string
    YieldEntryLimits:
      type: object
      properties:
        minimum:
          type: string
        maximum:
          type: string
    YieldRequirements:
      type: object
      required:
        - kycRequired
      properties:
        kycRequired:
          type: boolean
        kycUrl:
          type: string
    YieldMechanicsArguments:
      type: object
      properties:
        enter:
          $ref: '#/components/schemas/YieldArgumentSchema'
        exit:
          $ref: '#/components/schemas/YieldArgumentSchema'
        manage:
          type: object
          description: 'map<string,YieldArgumentSchema>'
          additionalProperties:
            $ref: '#/components/schemas/YieldArgumentSchema'
        balance:
          $ref: '#/components/schemas/YieldArgumentSchema'
    YieldArgumentSchema:
      type: object
      required:
        - fields
      properties:
        fields:
          type: array
          description: '[]YieldArgumentField'
          items:
            $ref: '#/components/schemas/YieldArgumentField'
        notes:
          type: string
    YieldArgumentField:
      type: object
      required:
        - name
        - type
        - label
      properties:
        name:
          type: string
        type:
          type: string
        label:
          type: string
        description:
          type: string
        required:
          type: boolean
        options:
          type: array
          description: '[]string'
          items:
            type: string
        optionsRef:
          type: string
        default:
          type: object
        placeholder:
          type: string
        minimum:
          type: string
        maximum:
          type: string
        isArray:
          type: boolean
    YieldPossibleFeeTakingMechanisms:
      type: object
      required:
        - depositFee
        - managementFee
        - performanceFee
        - validatorRebates
      properties:
        depositFee:
          type: boolean
        managementFee:
          type: boolean
        performanceFee:
          type: boolean
        validatorRebates:
          type: boolean
    YieldCurator:
      type: object
      properties:
        name:
          type: object
        description:
          type: object
        logoURI:
          type: object
    YieldState:
      type: object
      properties:
        pricePerShareState:
          $ref: '#/components/schemas/YieldPricePerShareState'
        concentratedLiquidityPoolState:
          $ref: '#/components/schemas/YieldConcentratedLiquidityPoolState'
        capacityState:
          $ref: '#/components/schemas/YieldCapacity'
        liquidityState:
          $ref: '#/components/schemas/YieldLiquidityState'
        allocations:
          type: array
          description: '[]YieldAllocation'
          items:
            $ref: '#/components/schemas/YieldAllocation'
    YieldPricePerShareState:
      type: object
      required:
        - price
        - shareToken
        - quoteToken
      properties:
        price:
          type: number
        shareToken:
          $ref: '#/components/schemas/YieldToken'
        quoteToken:
          $ref: '#/components/schemas/YieldToken'
    YieldConcentratedLiquidityPoolState:
      type: object
      required:
        - baseApr
        - price
        - tickSpacing
        - minTick
        - maxTick
        - feeTier
        - baseToken
        - quoteToken
      properties:
        baseApr:
          type: number
        price:
          type: number
        tickSpacing:
          type: number
        minTick:
          type: number
        maxTick:
          type: number
        volume24hUsd:
          type: number
        fee24hUsd:
          type: number
        tvlUsd:
          type: number
        feeTier:
          type: number
        baseToken:
          $ref: '#/components/schemas/YieldToken'
        quoteToken:
          $ref: '#/components/schemas/YieldToken'
    YieldCapacity:
      type: object
      required:
        - current
      properties:
        current:
          type: string
        max:
          type: string
        remaining:
          type: string
    YieldLiquidityState:
      type: object
      properties:
        liquidity:
          type: object
        utilization:
          type: object
    YieldAllocation:
      type: object
      required:
        - address
        - network
        - name
        - allocation
        - weight
        - targetWeight
      properties:
        address:
          type: string
        network:
          type: string
        name:
          type: string
        yieldId:
          type: string
        providerId:
          type: string
        allocation:
          type: string
        allocationUsd:
          type: string
        weight:
          type: number
        targetWeight:
          type: number
        rewardRate:
          $ref: '#/components/schemas/YieldAllocationRewardRate'
        tvl:
          type: string
        tvlUsd:
          type: string
        maxCapacity:
          type: string
        remainingCapacity:
          type: string
    YieldAllocationRewardRate:
      type: object
      required:
        - total
        - rateType
      properties:
        total:
          type: number
        rateType:
          type: string
    YieldBalances:
      type: object
      required:
        - yieldId
        - balances
      properties:
        yieldId:
          type: string
        balances:
          type: array
          description: '[]YieldBalance'
          items:
            $ref: '#/components/schemas/YieldBalance'
        outputTokenBalance:
          $ref: '#/components/schemas/YieldBalance'
        rewardRate:
          $ref: '#/components/schemas/YieldRewardRate'
    YieldBalance:
      type: object
      required:
        - address
        - type
        - amount
        - amountRaw
        - pendingActions
        - token
        - isEarning
      properties:
        address:
          type: string
        type:
          type: string
        amount:
          type: string
        amountRaw:
          type: string
        date:
          type: string
        feeConfigurationId:
          type: string
        pendingActions:
          type: array
          description: '[]YieldPendingAction'
          items:
            $ref: '#/components/schemas/YieldPendingAction'
        token:
          $ref: '#/components/schemas/YieldToken'
        validator:
          $ref: '#/components/schemas/YieldValidator'
        validators:
          type: array
          description: '[]YieldValidator'
          items:
            $ref: '#/components/schemas/YieldValidator'
        amountUsd:
          type: string
        isEarning:
          type: boolean
        priceRange:
          type: object
        tokenId:
          type: string
        shareAmount:
          type: string
        shareAmountRaw:
          type: string
        shareToken:
          $ref: '#/components/schemas/YieldToken'
    YieldPendingAction:
      type: object
      required:
        - intent
        - type
        - passthrough
      properties:
        intent:
          type: string
        type:
          type: string
        passthrough:
          type: string
        arguments:
          $ref: '#/components/schemas/YieldArgumentSchema'
        amount:
          type: string
    YieldValidator:
      type: object
      required:
        - address
      properties:
        address:
          type: string
        name:
          type: string
        logoURI:
          type: string
        website:
          type: string
        rewardRate:
          $ref: '#/components/schemas/YieldRewardRate'
        provider:
          $ref: '#/components/schemas/YieldValidatorProvider'
        commission:
          type: number
        tvlUsd:
          type: string
        tvl:
          type: string
        tvlRaw:
          type: string
        votingPower:
          type: number
        preferred:
          type: boolean
        minimumStake:
          type: string
        remainingPossibleStake:
          type: string
        remainingSlots:
          type: number
        nominatorCount:
          type: number
        status:
          type: string
        providerId:
          type: string
        pricePerShare:
          type: string
        subnetId:
          type: number
        subnetName:
          type: string
        marketCap:
          type: string
        tokenSymbol:
          type: string
    YieldValidatorProvider:
      type: object
      required:
        - name
        - id
        - logoURI
        - description
        - website
        - tvlUsd
        - type
        - rank
        - preferred
      properties:
        name:
          type: string
        id:
          type: string
        logoURI:
          type: string
        description:
          type: string
        website:
          type: string
        tvlUsd:
          type: object
        type:
          type: string
        references:
          type: array
          description: '[]string'
          items:
            type: string
        rank:
          type: number
        preferred:
          type: boolean
        revshare:
          $ref: '#/components/schemas/YieldRevShareTiers'
        uniqueId:
          type: string
        createdAt:
          type: string
        updatedAt:
          type: string
    YieldRevShareTiers:
      type: object
      properties:
        trial:
          $ref: '#/components/schemas/YieldRevShareDetails'
        standard:
          $ref: '#/components/schemas/YieldRevShareDetails'
        pro:
          $ref: '#/components/schemas/YieldRevShareDetails'
    YieldRevShareDetails:
      type: object
      required:
        - minRevShare
        - maxRevShare
      properties:
        minRevShare:
          type: number
        maxRevShare:
          type: number
    YieldError:
      type: object
      required:
        - yieldId
        - error
      properties:
        yieldId:
          type: string
        error:
          type: string
    YieldAction:
      type: object
      required:
        - id
        - intent
        - type
        - yieldId
        - address
        - transactions
        - executionPattern
        - createdAt
        - status
      properties:
        id:
          type: string
        intent:
          type: string
        type:
          type: string
        yieldId:
          type: string
        address:
          type: string
        amount:
          type: string
        amountRaw:
          type: string
        amountUsd:
          type: string
        transactions:
          type: array
          description: '[]YieldTransaction'
          items:
            $ref: '#/components/schemas/YieldTransaction'
        executionPattern:
          type: string
        rawArguments:
          $ref: '#/components/schemas/YieldActionArguments'
        createdAt:
          type: string
        completedAt:
          type: string
        status:
          type: string
    YieldTransaction:
      type: object
      required:
        - id
        - title
        - network
        - status
        - type
        - createdAt
      properties:
        id:
          type: string
        title:
          type: string
        network:
          type: string
        status:
          type: string
        type:
          type: string
        hash:
          type: string
        createdAt:
          type: string
        broadcastedAt:
          type: string
        signedTransaction:
          type: string
        unsignedTransaction:
          type: object
        annotatedTransaction:
          type: object
        structuredTransaction:
          type: object
        stepIndex:
          type: number
        description:
          type: string
        error:
          type: string
        gasEstimate:
          type: string
        explorerUrl:
          type: string
        isMessage:
          type: boolean
    YieldActionArguments:
      type: object
      properties:
        amount:
          type: string
        amounts:
          type: array
          description: '[]string'
          items:
            type: string
        validatorAddress:
          type: string
        validatorAddresses:
          type: array
          description: '[]string'
          items:
            type: string
        providerId:
          type: string
        duration:
          type: number
        inputToken:
          type: string
        inputTokenNetwork:
          type: string
        outputToken:
          type: string
        outputTokenNetwork:
          type: string
        subnetId:
          type: number
        tronResource:
          type: string
        feeConfigurationId:
          type: string
        cosmosPubKey:
          type: string
        tezosPubKey:
          type: string
        cAddressBech:
          type: string
        pAddressBech:
          type: string
        executionMode:
          type: string
        ledgerWalletApiCompatible:
          type: boolean
        useMaxAmount:
          type: boolean
        useInstantExecution:
          type: boolean
        skipPrechecks:
          type: boolean
        useMaxAllowance:
          type: boolean
        feePayerAddress:
          type: string
        receiverAddress:
          type: string
        rangeMin:
          type: string
        rangeMax:
          type: string
        percentage:
          type: number
        tokenId:
          type: string
    YieldGetBalancesArguments:
      type: object
      properties:
        cAddressBech:
          type: string
        pAddressBech:
          type: string
        autoSweepDayOfMonth:
          type: number
        autoSweepTimezone:
          type: string
    YieldBalanceQuery:
      type: object
      required:
        - address
        - network
      properties:
        yieldId:
          type: string
        address:
          type: string
        network:
          type: string
        arguments:
          $ref: '#/components/schemas/YieldGetBalancesArguments'
    RuntimeStatus:
      type: object
      required:
        - healthOK
        - version
        - branch
        - commitHash
        - startTime
        - uptime
        - hostname
        - walletScreeningEnabled
        - edgesEnabled
        - runnables
        - services
      properties:
        healthOK:
          type: boolean
        version:
          type: string
        branch:
          type: string
        commitHash:
          type: string
        startTime:
          type: string
        uptime:
          type: string
        hostname:
          type: string
        walletScreeningEnabled:
          type: boolean
        edgesEnabled:
          type: array
          description: '[]EdgeRail'
          items:
            $ref: '#/components/schemas/EdgeRail'
        runnables:
          type: object
        services:
          type: array
          description: '[]ServiceStatus'
          items:
            $ref: '#/components/schemas/ServiceStatus'
    ServiceStatus:
      type: object
      required:
        - name
        - healthy
        - latency
      properties:
        name:
          type: string
        healthy:
          type: boolean
        error:
          type: string
        latency:
          type: string
    QuoteIntentResponse:
      type: object
      required:
        - intent
        - gasFeeOptions
      properties:
        intent:
          $ref: '#/components/schemas/Intent'
        originConfiguration:
          type: object
        destinationConfiguration:
          type: object
        gasFeeOptions:
          $ref: '#/components/schemas/GasFeeOptions'
        transactionStates:
          type: array
          description: '[]TransactionStateInfo'
          items:
            $ref: '#/components/schemas/TransactionStateInfo'
        passthrough:
          $ref: '#/components/schemas/PassthroughInfo'
    QuoteIntentEdgeRequest:
      type: object
      required:
        - intent
        - edge
      properties:
        intent:
          $ref: '#/components/schemas/QuoteIntentRequest'
        edge:
          $ref: '#/components/schemas/EdgeQuoteRequest'
    QuoteIntentEdgeResponse:
      type: object
      required:
        - edgeId
        - edge
      properties:
        edgeId:
          type: string
        intent:
          $ref: '#/components/schemas/Intent'
        gasFeeOptions:
          $ref: '#/components/schemas/GasFeeOptions'
        transactionStates:
          type: array
          description: '[]TransactionStateInfo'
          items:
            $ref: '#/components/schemas/TransactionStateInfo'
        passthrough:
          $ref: '#/components/schemas/PassthroughInfo'
        edge:
          $ref: '#/components/schemas/EdgeQuoteResponse'
    GetEdgeStatusRequest:
      type: object
      required:
        - edgeId
      properties:
        edgeId:
          type: string
    GetEdgeStatusResponse:
      type: object
      required:
        - status
      properties:
        status:
          type: string
        initTransactionHash:
          type: string
        fillTransactionHash:
          type: string
        refundTransactionHash:
          type: string
        transactionStates:
          type: array
          description: '[]TransactionStateInfo'
          items:
            $ref: '#/components/schemas/TransactionStateInfo'
        failReason:
          type: string
    EdgeRailModes:
      type: object
      required:
        - rail
        - modes
      properties:
        rail:
          $ref: '#/components/schemas/EdgeRail'
        modes:
          type: array
          description: '[]EdgeMode'
          items:
            $ref: '#/components/schemas/EdgeMode'
    CommitIntentRequest:
      type: object
      required:
        - intent
      properties:
        intent:
          $ref: '#/components/schemas/Intent'
    CommitIntentResponse:
      type: object
      required:
        - intentId
      properties:
        intentId:
          type: string
    ExecuteIntentRequest:
      type: object
      required:
        - intentId
      properties:
        intentId:
          type: string
        depositTransactionHash:
          type: string
        depositSignature:
          $ref: '#/components/schemas/DepositSignature'
    ExecuteIntentResponse:
      type: object
      required:
        - intentId
        - intentStatus
      properties:
        intentId:
          type: string
        intentStatus:
          $ref: '#/components/schemas/IntentStatus'
    RetryIntentRequest:
      type: object
      required:
        - intentId
        - depositTransactionHash
      properties:
        intentId:
          type: string
        depositTransactionHash:
          type: string
    RetryIntentResponse:
      type: object
      required:
        - intentId
        - intentStatus
      properties:
        intentId:
          type: string
        intentStatus:
          $ref: '#/components/schemas/IntentStatus'
    GetIntentReceiptRequest:
      type: object
      required:
        - intentId
      properties:
        intentId:
          type: string
    GetIntentReceiptResponse:
      type: object
      required:
        - intentReceipt
      properties:
        intentReceipt:
          $ref: '#/components/schemas/IntentReceipt'
    WaitIntentReceiptRequest:
      type: object
      required:
        - intentId
      properties:
        intentId:
          type: string
        lastReceiptStates:
          type: array
          description: '[]TransactionStatus'
          items:
            $ref: '#/components/schemas/TransactionStatus'
    WaitIntentReceiptResponse:
      type: object
      required:
        - intentReceipt
        - receiptStates
        - done
      properties:
        intentReceipt:
          $ref: '#/components/schemas/IntentReceipt'
        receiptStates:
          type: array
          description: '[]TransactionStatus'
          items:
            $ref: '#/components/schemas/TransactionStatus'
        done:
          type: boolean
    GetIntentRequest:
      type: object
      required:
        - intentId
      properties:
        intentId:
          type: string
    GetIntentResponse:
      type: object
      required:
        - intent
      properties:
        intent:
          $ref: '#/components/schemas/Intent'
    SearchIntentsRequest:
      type: object
      properties:
        byIntentId:
          type: string
        byProjectId:
          type: number
        byTransactionHash:
          type: string
        byOwnerAddress:
          type: string
        byOriginIntentAddress:
          type: string
        byDestinationIntentAddress:
          type: string
        byEdgeAddress:
          type: string
        byEdgeRail:
          $ref: '#/components/schemas/EdgeRail'
        byEdgeMode:
          $ref: '#/components/schemas/EdgeMode'
        byQueryString:
          type: string
    SearchIntentsResponse:
      type: object
      required:
        - intents
      properties:
        intents:
          type: array
          description: '[]Intent'
          items:
            $ref: '#/components/schemas/Intent'
    GetIntentHistoryRequest:
      type: object
      properties:
        page:
          $ref: '#/components/schemas/Page'
        byProjectId:
          type: number
        byIntentProtocol:
          $ref: '#/components/schemas/IntentProtocolVersion'
        bySwapProvider:
          $ref: '#/components/schemas/RouteProvider'
        byBridgeProvider:
          $ref: '#/components/schemas/RouteProvider'
        byOwnerAddress:
          type: string
        byEdgeAddress:
          type: string
        byEdgeRail:
          $ref: '#/components/schemas/EdgeRail'
        byEdgeMode:
          $ref: '#/components/schemas/EdgeMode'
        byParticipantAddresses:
          type: array
          description: '[]string'
          items:
            type: string
        originChainId:
          type: number
        originTokenAddress:
          type: string
        destinationChainId:
          type: number
        destinationTokenAddress:
          type: string
        fromTime:
          type: number
        toTime:
          type: number
        includeBalances:
          type: boolean
        onlyRecoverable:
          type: boolean
        byStatus:
          $ref: '#/components/schemas/IntentStatus'
        byStatuses:
          type: array
          description: '[]IntentStatus'
          items:
            $ref: '#/components/schemas/IntentStatus'
    GetIntentHistoryResponse:
      type: object
      required:
        - intents
      properties:
        intents:
          type: array
          description: '[]IntentHistory'
          items:
            $ref: '#/components/schemas/IntentHistory'
        nextPage:
          $ref: '#/components/schemas/Page'
    AbortIntentRequest:
      type: object
      required:
        - intentId
        - chainId
        - abortTransactionHash
      properties:
        intentId:
          type: string
        chainId:
          type: number
        abortTransactionHash:
          type: string
    AbortIntentResponse:
      type: object
      required:
        - intentId
        - status
      properties:
        intentId:
          type: string
        status:
          $ref: '#/components/schemas/IntentStatus'
    BuildOIFRefundTransactionRequest:
      type: object
      required:
        - intentId
      properties:
        intentId:
          type: string
    BuildOIFRefundTransactionResponse:
      type: object
      required:
        - intentId
        - to
        - data
        - value
        - chainId
        - ready
        - status
      properties:
        intentId:
          type: string
        orderId:
          type: string
        to:
          type: string
        data:
          type: string
        value:
          type: string
        chainId:
          type: number
        orderExpiresAt:
          type: string
        ready:
          type: boolean
        status:
          type: string
    PrepareIntentRecoveryRequest:
      type: object
      required:
        - intentId
      properties:
        intentId:
          type: string
        intentAddress:
          type: string
        refundToAddress:
          type: string
        tokenAddress:
          type: string
    PrepareIntentRecoveryResponse:
      type: object
      required:
        - intentId
        - intentProtocol
        - intentAddress
        - chainId
        - intentSource
        - payload
        - typedData
        - payloadHash
      properties:
        intentId:
          type: string
        intentProtocol:
          $ref: '#/components/schemas/IntentProtocolVersion'
        intentAddress:
          type: string
        chainId:
          type: number
        intentSource:
          type: string
        recoveryTokens:
          type: array
          description: '[]IntentTokenBalance'
          items:
            $ref: '#/components/schemas/IntentTokenBalance'
        payload:
          type: object
        typedData:
          type: object
        payloadHash:
          type: string
    BuildIntentRecoveryTransactionRequest:
      type: object
      required:
        - intentId
        - payload
        - signature
        - intentAddress
      properties:
        intentId:
          type: string
        payload:
          type: object
        signature:
          type: string
        intentAddress:
          type: string
        refundToAddress:
          type: string
    BuildIntentRecoveryTransactionResponse:
      type: object
      required:
        - to
        - data
        - value
        - chainId
        - intentAddress
        - requiresDeploy
      properties:
        to:
          type: string
        data:
          type: string
        value:
          type: string
        chainId:
          type: number
        intentAddress:
          type: string
        requiresDeploy:
          type: boolean
        payloadHash:
          type: string
    GetTokenPricesRequest:
      type: object
      required:
        - tokens
      properties:
        tokens:
          type: array
          description: '[]Token'
          items:
            $ref: '#/components/schemas/Token'
    GetTokenPricesResponse:
      type: object
      required:
        - tokenPrices
      properties:
        tokenPrices:
          type: array
          description: '[]TokenPrice'
          items:
            $ref: '#/components/schemas/TokenPrice'
    GetChainsRequest:
      type: object
      properties:
        routeProvider:
          $ref: '#/components/schemas/RouteProvider'
    GetChainsResponse:
      type: object
      required:
        - chains
      properties:
        chains:
          type: array
          description: '[]ChainInfo'
          items:
            $ref: '#/components/schemas/ChainInfo'
    GetExactOutputRoutesRequest:
      type: object
      required:
        - destinationChainId
        - destinationTokenAddress
      properties:
        destinationChainId:
          type: number
        destinationTokenAddress:
          type: string
        originChainId:
          type: number
        originTokenAddress:
          type: string
        ownerAddress:
          type: string
    GetExactOutputRoutesResponse:
      type: object
      required:
        - tokens
      properties:
        tokens:
          type: array
          description: '[]TokenInfo'
          items:
            $ref: '#/components/schemas/TokenInfo'
    GetExactInputRoutesRequest:
      type: object
      required:
        - originChainId
        - originTokenAddress
      properties:
        originChainId:
          type: number
        originTokenAddress:
          type: string
        destinationChainId:
          type: number
        destinationTokenAddress:
          type: string
    GetExactInputRoutesResponse:
      type: object
      required:
        - tokens
      properties:
        tokens:
          type: array
          description: '[]TokenInfo'
          items:
            $ref: '#/components/schemas/TokenInfo'
    GetTokenListRequest:
      type: object
      required:
        - chainIds
      properties:
        chainIds:
          type: array
          description: '[]uint64'
          items:
            type: number
        searchQuery:
          type: string
        limit:
          type: number
        tokenAddress:
          type: string
        includeAllListed:
          type: boolean
        includeExternal:
          type: boolean
        excludeTokens:
          type: array
          description: '[]string'
          items:
            type: string
    GetTokenListResponse:
      type: object
      required:
        - tokens
      properties:
        tokens:
          type: array
          description: '[]TokenInfo'
          items:
            $ref: '#/components/schemas/TokenInfo'
    GetEarnPoolsRequest:
      type: object
      properties:
        chainIds:
          type: array
          description: '[]uint64'
          items:
            type: number
        protocols:
          type: array
          description: '[]string'
          items:
            type: string
        minTvl:
          type: number
        maxApy:
          type: number
    GetEarnPoolsResponse:
      type: object
      required:
        - pools
        - timestamp
        - cached
      properties:
        pools:
          type: array
          description: '[]EarnPool'
          items:
            $ref: '#/components/schemas/EarnPool'
        timestamp:
          type: string
        cached:
          type: boolean
    GetYieldProvidersRequest:
      type: object
      properties:
        limit:
          type: number
        offset:
          type: number
    GetYieldProvidersResponse:
      type: object
      required:
        - items
        - total
        - offset
        - limit
      properties:
        items:
          type: array
          description: '[]YieldProvider'
          items:
            $ref: '#/components/schemas/YieldProvider'
        total:
          type: number
        offset:
          type: number
        limit:
          type: number
    GetYieldProviderRequest:
      type: object
      required:
        - providerId
      properties:
        providerId:
          type: string
    GetYieldProviderResponse:
      type: object
      required:
        - provider
      properties:
        provider:
          $ref: '#/components/schemas/YieldProvider'
    GetYieldNetworksRequest:
      type: object
    GetYieldNetworksResponse:
      type: object
      required:
        - networks
      properties:
        networks:
          type: array
          description: '[]YieldNetwork'
          items:
            $ref: '#/components/schemas/YieldNetwork'
    GetYieldMarketsRequest:
      type: object
      properties:
        provider:
          type: string
        chainId:
          type: string
        type:
          type: string
        search:
          type: string
        sort:
          type: string
        limit:
          type: number
        offset:
          type: number
    GetYieldMarketsResponse:
      type: object
      required:
        - items
        - total
        - offset
        - limit
      properties:
        items:
          type: array
          description: '[]YieldMarket'
          items:
            $ref: '#/components/schemas/YieldMarket'
        total:
          type: number
        offset:
          type: number
        limit:
          type: number
    GetYieldMarketByIdRequest:
      type: object
      required:
        - marketId
      properties:
        marketId:
          type: string
    GetYieldMarketByIdResponse:
      type: object
      required:
        - market
      properties:
        market:
          $ref: '#/components/schemas/YieldMarket'
    GetYieldAggregateBalancesRequest:
      type: object
      required:
        - queries
      properties:
        queries:
          type: array
          description: '[]YieldBalanceQuery'
          items:
            $ref: '#/components/schemas/YieldBalanceQuery'
    GetYieldAggregateBalancesResponse:
      type: object
      required:
        - items
        - errors
      properties:
        items:
          type: array
          description: '[]YieldBalances'
          items:
            $ref: '#/components/schemas/YieldBalances'
        errors:
          type: array
          description: '[]YieldError'
          items:
            $ref: '#/components/schemas/YieldError'
    CreateYieldActionRequest:
      type: object
      required:
        - earnMarketId
        - userWalletAddress
      properties:
        earnMarketId:
          type: string
        userWalletAddress:
          type: string
        args:
          $ref: '#/components/schemas/YieldActionArguments'
    CreateYieldActionResponse:
      type: object
      required:
        - action
      properties:
        action:
          $ref: '#/components/schemas/YieldAction'
    GetIntentTransactionHistoryRequest:
      type: object
      properties:
        page:
          $ref: '#/components/schemas/Page'
        byProjectId:
          type: number
        byOwnerAddress:
          type: string
    GetIntentTransactionHistoryResponse:
      type: object
      required:
        - intents
      properties:
        intents:
          type: array
          description: '[]IntentSummary'
          items:
            $ref: '#/components/schemas/IntentSummary'
        nextPage:
          $ref: '#/components/schemas/Page'
    Trails_Ping_Request:
      type: object
    Trails_RuntimeStatus_Request:
      type: object
    Trails_Clock_Request:
      type: object
    Trails_GetEdges_Request:
      type: object
    Trails_GetExchangeRate_Request:
      type: object
      properties:
        toCurrency:
          type: string
    Trails_GetCountryList_Request:
      type: object
    Trails_GetTrailsContracts_Request:
      type: object
    Trails_GetProtocolContracts_Request:
      type: object
      properties:
        intentProtocol:
          $ref: '#/components/schemas/IntentProtocolVersion'
    Trails_GetSupportedIntentProtocols_Request:
      type: object
    Trails_GetDefaultIntentProtocol_Request:
      type: object
    Trails_GetFiatCurrencyList_Request:
      type: object
    Trails_Ping_Response:
      type: object
      properties:
        version:
          type: string
    Trails_RuntimeStatus_Response:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/RuntimeStatus'
    Trails_Clock_Response:
      type: object
      properties:
        serverTime:
          type: string
    Trails_GetEdges_Response:
      type: object
      properties:
        edges:
          type: array
          description: '[]EdgeRailModes'
          items:
            $ref: '#/components/schemas/EdgeRailModes'
    Trails_GetExchangeRate_Response:
      type: object
      properties:
        exchangeRate:
          $ref: '#/components/schemas/ExchangeRate'
    Trails_GetCountryList_Response:
      type: object
      properties:
        countries:
          type: array
          description: '[]Country'
          items:
            $ref: '#/components/schemas/Country'
    Trails_GetTrailsContracts_Response:
      type: object
      properties:
        TrailsContracts:
          $ref: '#/components/schemas/TrailsContracts'
    Trails_GetProtocolContracts_Response:
      type: object
      properties:
        TrailsContracts:
          $ref: '#/components/schemas/TrailsContracts'
    Trails_GetSupportedIntentProtocols_Response:
      type: object
      properties:
        versions:
          type: array
          description: '[]IntentProtocolVersion'
          items:
            $ref: '#/components/schemas/IntentProtocolVersion'
    Trails_GetDefaultIntentProtocol_Response:
      type: object
      properties:
        version:
          $ref: '#/components/schemas/IntentProtocolVersion'
    Trails_GetFiatCurrencyList_Response:
      type: object
      properties:
        currencies:
          type: array
          description: '[]FiatCurrency'
          items:
            $ref: '#/components/schemas/FiatCurrency'

paths:
  /rpc/Trails/Ping:
    post:
      operationId: Trails-Ping
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trails_Ping_Request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trails_Ping_Response'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/RuntimeStatus:
    post:
      operationId: Trails-RuntimeStatus
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trails_RuntimeStatus_Request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trails_RuntimeStatus_Response'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/Clock:
    post:
      operationId: Trails-Clock
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trails_Clock_Request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trails_Clock_Response'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/QuoteIntent:
    post:
      operationId: Trails-QuoteIntent
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteIntentRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteIntentResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/QuoteIntentEdge:
    post:
      operationId: Trails-QuoteIntentEdge
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteIntentEdgeRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteIntentEdgeResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetEdgeStatus:
    post:
      operationId: Trails-GetEdgeStatus
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetEdgeStatusRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEdgeStatusResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetEdges:
    post:
      operationId: Trails-GetEdges
      tags: ["Trails"]
      summary: "GetEdges returns edge rails and modes currently enabled on this deployment."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trails_GetEdges_Request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trails_GetEdges_Response'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/CommitIntent:
    post:
      operationId: Trails-CommitIntent
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommitIntentRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitIntentResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/ExecuteIntent:
    post:
      operationId: Trails-ExecuteIntent
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExecuteIntentRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecuteIntentResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/RetryIntent:
    post:
      operationId: Trails-RetryIntent
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RetryIntentRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetryIntentResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/WaitIntentReceipt:
    post:
      operationId: Trails-WaitIntentReceipt
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WaitIntentReceiptRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WaitIntentReceiptResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetIntentReceipt:
    post:
      operationId: Trails-GetIntentReceipt
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetIntentReceiptRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIntentReceiptResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetIntent:
    post:
      operationId: Trails-GetIntent
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetIntentRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIntentResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/SearchIntents:
    post:
      operationId: Trails-SearchIntents
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchIntentsRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchIntentsResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetIntentHistory:
    post:
      operationId: Trails-GetIntentHistory
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetIntentHistoryRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIntentHistoryResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/AbortIntent:
    post:
      operationId: Trails-AbortIntent
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AbortIntentRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AbortIntentResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/PrepareIntentRecovery:
    post:
      operationId: Trails-PrepareIntentRecovery
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PrepareIntentRecoveryRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrepareIntentRecoveryResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/BuildIntentRecoveryTransaction:
    post:
      operationId: Trails-BuildIntentRecoveryTransaction
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildIntentRecoveryTransactionRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildIntentRecoveryTransactionResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/BuildOIFRefundTransaction:
    post:
      operationId: Trails-BuildOIFRefundTransaction
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildOIFRefundTransactionRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildOIFRefundTransactionResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetChains:
    post:
      operationId: Trails-GetChains
      tags: ["Trails"]
      summary: "GetChains will return the list of supported chains by Trails."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetChainsRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetChainsResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetExactOutputRoutes:
    post:
      operationId: Trails-GetExactOutputRoutes
      tags: ["Trails"]
      summary: "GetExactOutputRoutes will return a list of origin tokens, when given a destination chain and token,"
      description: |
        that can be used to pay/send from an origin chain the exact output amount on the
        destination chain.
        
        The request will include the destination chain and token desired. Optionally, the
        user can specify an origin chain and token to filter results to only that specific
        origin token. Additionally, an optional owner address can be provided to filter
        results to only tokens the owner has a balance on (requires indexer gateway to be
        configured).
        
        The response is a list of origin tokens and their chains which can be used to fulfill
        the exact output request. These are tokens the user can send FROM to achieve the desired
        destination token amount.
        
        aka, the "pay" routes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetExactOutputRoutesRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetExactOutputRoutesResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetExactInputRoutes:
    post:
      operationId: Trails-GetExactInputRoutes
      tags: ["Trails"]
      summary: "GetExactInputRoutes will return a list of destination tokens, when given an origin chain and token,"
      description: |
        that can be used to send/swap to a destination chain and token.
        
        The request will include the origin chain and token used for input. Optionally, the
        user can specify a destination chain and token to further filter the results.
        
        The response is a list of destination tokens and their chains which can be reached from
        the origin token and chain. These are tokens the user can send TO from the given origin token.
        
        aka, the "swap" routes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetExactInputRoutesRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetExactInputRoutesResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetTokenList:
    post:
      operationId: Trails-GetTokenList
      tags: ["Trails"]
      summary: "GetTokenList will return a list of tokens based on the provided filters."
      description: |
        NOTE: there are many filters and options on GetTokenListRequest
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetTokenListRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTokenListResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetTokenPrices:
    post:
      operationId: Trails-GetTokenPrices
      tags: ["Trails"]
      summary: "GetTokenPrices will return the live prices for a list of tokens."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetTokenPricesRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTokenPricesResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetExchangeRate:
    post:
      operationId: Trails-GetExchangeRate
      tags: ["Trails"]
      summary: "GetExchangeRate returns the exchange rate from USD to a specified currency."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trails_GetExchangeRate_Request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trails_GetExchangeRate_Response'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetCountryList:
    post:
      operationId: Trails-GetCountryList
      tags: ["Trails"]
      summary: "GetCountryList returns the list of supported countries for onramp providers."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trails_GetCountryList_Request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trails_GetCountryList_Response'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetTrailsContracts:
    post:
      operationId: Trails-GetTrailsContracts
      tags: ["Trails"]
      summary: "Deprecated: please use GetProtocolContracts instead"
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trails_GetTrailsContracts_Request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trails_GetTrailsContracts_Response'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetProtocolContracts:
    post:
      operationId: Trails-GetProtocolContracts
      tags: ["Trails"]
      summary: "GetProtocolContracts returns Trails contract addresses used by the Trails Intents stack for the given protocol."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trails_GetProtocolContracts_Request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trails_GetProtocolContracts_Response'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetSupportedIntentProtocols:
    post:
      operationId: Trails-GetSupportedIntentProtocols
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trails_GetSupportedIntentProtocols_Request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trails_GetSupportedIntentProtocols_Response'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetDefaultIntentProtocol:
    post:
      operationId: Trails-GetDefaultIntentProtocol
      tags: ["Trails"]
      summary: ""
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trails_GetDefaultIntentProtocol_Request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trails_GetDefaultIntentProtocol_Response'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetEarnPools:
    post:
      operationId: Trails-GetEarnPools
      tags: ["Trails"]
      summary: "GetEarnPools returns aggregated pool information from DeFi protocols (Aave, Morpho)."
      description: |
        This endpoint provides yield-bearing opportunities across multiple chains.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetEarnPoolsRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEarnPoolsResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/YieldGetProviders:
    post:
      operationId: Trails-YieldGetProviders
      tags: ["Trails"]
      summary: "YieldGetProviders returns available Yield providers."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetYieldProvidersRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetYieldProvidersResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/YieldGetProvider:
    post:
      operationId: Trails-YieldGetProvider
      tags: ["Trails"]
      summary: "YieldGetProvider returns a Yield provider by provider ID."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetYieldProviderRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetYieldProviderResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/YieldGetNetworks:
    post:
      operationId: Trails-YieldGetNetworks
      tags: ["Trails"]
      summary: "YieldGetNetworks returns available Yield networks."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetYieldNetworksRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetYieldNetworksResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/YieldGetMarkets:
    post:
      operationId: Trails-YieldGetMarkets
      tags: ["Trails"]
      summary: "YieldGetMarkets returns Yield markets with optional filters."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetYieldMarketsRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetYieldMarketsResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/YieldGetMarketById:
    post:
      operationId: Trails-YieldGetMarketById
      tags: ["Trails"]
      summary: "YieldGetMarketById returns a Yield market by market ID."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetYieldMarketByIdRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetYieldMarketByIdResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/YieldGetAggregateBalances:
    post:
      operationId: Trails-YieldGetAggregateBalances
      tags: ["Trails"]
      summary: "YieldGetAggregateBalances returns balances across multiple yields and networks."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetYieldAggregateBalancesRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetYieldAggregateBalancesResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/YieldCreateEnterAction:
    post:
      operationId: Trails-YieldCreateEnterAction
      tags: ["Trails"]
      summary: "YieldCreateEnterAction returns unsigned enter-action transaction payloads."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateYieldActionRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateYieldActionResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/YieldCreateExitAction:
    post:
      operationId: Trails-YieldCreateExitAction
      tags: ["Trails"]
      summary: "YieldCreateExitAction returns unsigned exit-action transaction payloads."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateYieldActionRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateYieldActionResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetFiatCurrencyList:
    post:
      operationId: Trails-GetFiatCurrencyList
      tags: ["Trails"]
      summary: "GetFiatCurrencyList returns the list of supported fiat currencies for display preferences."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trails_GetFiatCurrencyList_Request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trails_GetFiatCurrencyList_Response'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'
  /rpc/Trails/GetIntentTransactionHistory:
    post:
      operationId: Trails-GetIntentTransactionHistory
      tags: ["Trails"]
      summary: "Deprecated: please use GetIntentHistory instead"
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetIntentTransactionHistoryRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIntentTransactionHistoryResponse'
        '4XX':
          description: Client error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcEndpoint'
                - $ref: '#/components/schemas/ErrorWebrpcRequestFailed'
                - $ref: '#/components/schemas/ErrorWebrpcBadRoute'
                - $ref: '#/components/schemas/ErrorWebrpcBadMethod'
                - $ref: '#/components/schemas/ErrorWebrpcBadRequest'
                - $ref: '#/components/schemas/ErrorWebrpcClientAborted'
                - $ref: '#/components/schemas/ErrorWebrpcStreamLost'
                - $ref: '#/components/schemas/ErrorUnauthorized'
                - $ref: '#/components/schemas/ErrorPermissionDenied'
                - $ref: '#/components/schemas/ErrorSessionExpired'
                - $ref: '#/components/schemas/ErrorMethodNotFound'
                - $ref: '#/components/schemas/ErrorRequestConflict'
                - $ref: '#/components/schemas/ErrorAborted'
                - $ref: '#/components/schemas/ErrorGeoblocked'
                - $ref: '#/components/schemas/ErrorRateLimited'
                - $ref: '#/components/schemas/ErrorProjectNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyNotFound'
                - $ref: '#/components/schemas/ErrorAccessKeyMismatch'
                - $ref: '#/components/schemas/ErrorInvalidOrigin'
                - $ref: '#/components/schemas/ErrorInvalidService'
                - $ref: '#/components/schemas/ErrorUnauthorizedUser'
                - $ref: '#/components/schemas/ErrorQuotaExceeded'
                - $ref: '#/components/schemas/ErrorQuotaRateLimit'
                - $ref: '#/components/schemas/ErrorNoDefaultKey'
                - $ref: '#/components/schemas/ErrorMaxAccessKeys'
                - $ref: '#/components/schemas/ErrorAtLeastOneKey'
                - $ref: '#/components/schemas/ErrorTimeout'
                - $ref: '#/components/schemas/ErrorInvalidArgument'
                - $ref: '#/components/schemas/ErrorUnavailable'
                - $ref: '#/components/schemas/ErrorQueryFailed'
                - $ref: '#/components/schemas/ErrorIntentStatus'
                - $ref: '#/components/schemas/ErrorIntentProtocolDeprecated'
                - $ref: '#/components/schemas/ErrorNotFound'
                - $ref: '#/components/schemas/ErrorUnsupportedNetwork'
                - $ref: '#/components/schemas/ErrorClientOutdated'
                - $ref: '#/components/schemas/ErrorIntentsSkipped'
                - $ref: '#/components/schemas/ErrorQuoteExpired'
                - $ref: '#/components/schemas/ErrorHighPriceImpact'
                - $ref: '#/components/schemas/ErrorIntentsDisabled'
        '5XX':
          description: Server error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ErrorWebrpcBadResponse'
                - $ref: '#/components/schemas/ErrorWebrpcServerPanic'
                - $ref: '#/components/schemas/ErrorWebrpcInternalError'
                - $ref: '#/components/schemas/ErrorUnexpected'
                - $ref: '#/components/schemas/ErrorChainNodeHealth'