{
  "openapi": "3.0.1",
  "info": {
    "title": "Figure Markets High Frequency Trading Exchange Partner API",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "http://localhost:8080/service-hft-exchange",
      "description": "Local environment"
    },
    {
      "url": "https://www.figuremarkets.dev/service-hft-exchange",
      "description": "Sandbox environment"
    },
    {
      "url": "https://www.figuremarkets.com/service-hft-exchange",
      "description": "Production environment"
    }
  ],
  "paths": {
    "/partner/api/v1/accounts/deposit-address/crypto": {
      "put": {
        "tags": [
          "Accounts"
        ],
        "summary": "Generate an mpc deposit address for crypto",
        "operationId": "generateCryptoDeposit",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartnerDepositRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositAddressResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v2/margin/payment": {
      "post": {
        "tags": [
          "Margin Trading"
        ],
        "summary": "Make a loan payment",
        "operationId": "createPaymentV2",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoanPaymentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoanPaymentResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v2/margin/loan": {
      "post": {
        "tags": [
          "Margin Trading"
        ],
        "summary": "Take out a new margin loan",
        "operationId": "createLoanV2",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMarginLoanRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateMarginLoanResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/transfers/nms/send": {
      "post": {
        "tags": [
          "Transfers"
        ],
        "summary": "Initiate sending NMS shares to an external brokerage",
        "operationId": "createPartnerNMSSend",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartnerNmsSendRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WithdrawResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/transfers/nms/receive": {
      "post": {
        "tags": [
          "Transfers"
        ],
        "summary": "Create a request to receive NMS shares",
        "operationId": "createPartnerNMSReceive",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NmsReceiveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NmsReceiveResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/orders/ylds": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Place a new YLDS order",
        "operationId": "placeYLDSOrder",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartnerYLDSOrderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerYLDSOrderResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/orders/search": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Proxies EP3 search_orders",
        "operationId": "searchOrders",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.SearchOrdersRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.SearchOrdersResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/orders/search/trades": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Proxies EP3 search_trades",
        "description": "Search trades emitted from the matching engine",
        "operationId": "searchTrades",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.SearchTradesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.SearchTradesResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/orders/search/executions": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Proxies EP3 search_executions",
        "operationId": "searchExecutions",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.SearchExecutionsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.SearchExecutionsResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/orders/cancel": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Cancel all open orders",
        "operationId": "cancelOrders",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelOrdersRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/margin": {
      "get": {
        "tags": [
          "Margin Trading"
        ],
        "summary": "Get current margin trading status",
        "operationId": "getMargin",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMarginResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Margin Trading"
        ],
        "summary": "enable margin for an account",
        "operationId": "enableMargin",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartnerEnableMarginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnableMarginResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Margin Trading"
        ],
        "summary": "disable margin trading for an account. This will not affect off-platform margin",
        "operationId": "disableMargin",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnableMarginResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/lenders": {
      "post": {
        "tags": [
          "Lending"
        ],
        "summary": "Register as a lender. Consent: https://www.figuremarkets.com/disclosures/democratized-prime-terms/",
        "operationId": "createLender",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateLenderResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/lenders/offer": {
      "get": {
        "tags": [
          "Lending"
        ],
        "summary": "Get all offers",
        "operationId": "getAllOffers",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "maximum": 50,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OfferStatus"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfferResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Lending"
        ],
        "summary": "Create an offer",
        "operationId": "createOffer",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOfferRequestV2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerCreateOfferResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/lenders/offer/{offerId}/exit": {
      "post": {
        "tags": [
          "Lending"
        ],
        "summary": "Exit an offer",
        "operationId": "exitOffer",
        "parameters": [
          {
            "name": "offerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LenderOfferResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/accounts/withdraw": {
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Initiate a withdraw",
        "operationId": "withdrawTradingAccount",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartnerWithdrawRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerWithdrawResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/accounts/withdraw/wire": {
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Initiate a USD wire withdraw from the exchange",
        "operationId": "createFiatWithdraw",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartnerWireWithdrawRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WithdrawResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/accounts/commit": {
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Initiate manual commitment of a native Provenance asset for a market maker",
        "operationId": "depositNativeCoin",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssetCommitmentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v2/orders/search/open": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Get open orders",
        "operationId": "searchOpenOrdersV2",
        "parameters": [
          {
            "name": "marketId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.GetOpenOrdersResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v2/margin/loan-history": {
      "get": {
        "tags": [
          "Margin Trading"
        ],
        "summary": "Get paginated loan history",
        "operationId": "getLoanHistoryV2",
        "parameters": [
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "maximum": 50,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "leverage_pool_uuid",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PeriodSpan"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseLoanPeriodResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v2/accounts/history": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Gets a list of historical transfers for the current wallet",
        "operationId": "getTransferHistoryV2",
        "parameters": [
          {
            "name": "actions",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TransferAction"
              }
            }
          },
          {
            "name": "assets",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseTransferHistoryResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v2/accounts/balances": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get portfolio balances for an account",
        "description": "Get current portfolio balances, or balances at a specified time.",
        "operationId": "partnerGetPortfolioBalancesV2",
        "parameters": [
          {
            "name": "atTime",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerPortfolioBalanceResponseV2"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/orders/{orderId}": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Get an order",
        "operationId": "getOrder",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "is_clord_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OrderResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/orders/trades": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Get trades",
        "description": "Retrieves summarized trade data for the authenticated account as opposed to /search/trades\n             which returns raw execution-level data. This endpoint should be used for reporting purposes.",
        "operationId": "getTrades",
        "parameters": [
          {
            "name": "market_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/Direction"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Filter for trades created on or after the date. There will be no start cap if omitted.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "token",
            "in": "query",
            "description": "pagination token",
            "required": false,
            "schema": {
              "type": "string",
              "description": "pagination token"
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "maximum": 200,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/SortOrder"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/TokenPaginatedResponsePartnerTradeResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/orders/stream": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Create order subscription",
        "description": "Proxies EP3 CreateOrderSubscription: creates a subscription for working orders and updates.",
        "operationId": "streamOrders",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/event-stream": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.CreateOrderSubscriptionResponse"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/margin/payment/{id}": {
      "get": {
        "tags": [
          "Margin Trading"
        ],
        "summary": "fetch a loan payment",
        "operationId": "getPayment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoanPaymentResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/margin/loan-balances": {
      "get": {
        "tags": [
          "Margin Trading"
        ],
        "summary": "Get outstanding loan balances",
        "operationId": "outstandingBalances",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetLoanBalancesResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/margin/liquidations": {
      "get": {
        "tags": [
          "Margin Trading"
        ],
        "summary": "Get past liquidations",
        "operationId": "getLiquidations",
        "parameters": [
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseLiquidationResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/margin/leverage-pools": {
      "get": {
        "tags": [
          "Margin Trading"
        ],
        "operationId": "getLeveragePools",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/com.figuremarkets.exchange.proto.hft.Markets.Market.MarketLocation"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/LeveragePoolType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PartnerLeveragePoolResponse"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/margin/leverage-pools/{leveragePoolId}/offers": {
      "get": {
        "tags": [
          "Margin Trading"
        ],
        "summary": "Fetch current period offers",
        "operationId": "getCurrentPeriodOffers",
        "parameters": [
          {
            "name": "leveragePoolId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerOffersResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/margin/leverage-pools/{leveragePoolId}/offers/next": {
      "get": {
        "tags": [
          "Margin Trading"
        ],
        "summary": "Fetch next period offers",
        "operationId": "getNextPeriodOffers",
        "parameters": [
          {
            "name": "leveragePoolId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerOffersResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/margin/leverage-pools/{id}": {
      "get": {
        "tags": [
          "Margin Trading"
        ],
        "operationId": "getLeveragePool",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerLeveragePoolResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/lenders/offer/{offerId}": {
      "get": {
        "tags": [
          "Lending"
        ],
        "summary": "Fetch offer by id",
        "operationId": "getOffer",
        "parameters": [
          {
            "name": "offerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OfferResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/lenders/earnings-history": {
      "get": {
        "tags": [
          "Lending"
        ],
        "summary": "Get paginated earnings history for auction based pools",
        "operationId": "getEarningsHistory",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "maximum": 50,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "leverage_pool_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PeriodSpan"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseEarningsHistoryResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/lenders/earnings-history/total": {
      "get": {
        "tags": [
          "Lending"
        ],
        "summary": "Get 24 hour and lifetime earnings in the given pool",
        "operationId": "getTotalEarnings",
        "parameters": [
          {
            "name": "leverage_pool_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TotalEarningsResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/lenders/earnings-history/accrual": {
      "get": {
        "tags": [
          "Lending"
        ],
        "summary": "Get total interest earnings within a given date range for auction and live rate pools",
        "operationId": "getEarningsInRange",
        "parameters": [
          {
            "name": "start_dtm",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end_dtm",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "pool_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountInterestAccrualResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/groups/submit-vote": {
      "get": {
        "tags": [
          "Groups"
        ],
        "summary": "Get vote transaction payload for a proposal",
        "operationId": "getSubmitVotePayload",
        "parameters": [
          {
            "name": "proposal_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "option",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/VoteOption"
            }
          },
          {
            "name": "exec",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/Exec"
            }
          },
          {
            "name": "justification",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "voter_address",
            "in": "query",
            "required": true,
            "schema": {
              "title": "The blockchain address of the account voting on this proposal",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FormattedTxDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/groups/proposals": {
      "get": {
        "tags": [
          "Groups"
        ],
        "summary": "Get proposals for the authenticated partner\u0027s group policy",
        "operationId": "getProposals",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int64",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int64",
              "default": 10
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "title": "Optional filter for proposal statuses",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupManagerPaginatedResponseGroupProposalDtoV2"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/accounts/wire": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get the list of wire accounts associated with the partner address",
        "operationId": "getWireAccounts",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FiatPaginatedResultWireAccount"
                }
              }
            }
          }
        },
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/accounts/positions": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get market positions for an account",
        "description": "Replace with call to /balances",
        "operationId": "getMarketPositions",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketPositionsResponse"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/accounts/history": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Gets a list of historical transfers for the current wallet",
        "description": "Use v2, which introduces SEND, RECEIVE, SEND_COLLATERAL, RECEIVE_COLLATERAL",
        "operationId": "getTransferHistory",
        "parameters": [
          {
            "name": "actions",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TransferAction"
              }
            }
          },
          {
            "name": "assets",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseTransferHistoryResponse"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    },
    "/partner/api/v1/accounts/balances": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get portfolio balances for an account",
        "description": "Use v2",
        "operationId": "getPortfolioBalances",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerPortfolioBalanceResponse"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "PartnerAuth": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "PartnerDepositRequest": {
        "required": [
          "denom"
        ],
        "type": "object",
        "properties": {
          "denom": {
            "type": "string",
            "description": "Asset to deposit (eg. BTC)"
          }
        }
      },
      "DepositAddressResponse": {
        "required": [
          "b64PngDepositAddressQrCode",
          "denom",
          "depositAddress",
          "recipientAddress",
          "uuid"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "recipientAddress": {
            "type": "string"
          },
          "depositAddress": {
            "type": "string"
          },
          "b64PngDepositAddressQrCode": {
            "type": "string"
          },
          "denom": {
            "type": "string"
          }
        }
      },
      "LoanPaymentRequest": {
        "required": [
          "amount",
          "id",
          "leveragePoolId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Client generated unique payment id",
            "format": "uuid"
          },
          "leveragePoolId": {
            "type": "string",
            "format": "uuid"
          },
          "amount": {
            "type": "number"
          }
        }
      },
      "LoanPaymentResponse": {
        "required": [
          "amount",
          "asset",
          "id",
          "leveragePoolId",
          "status"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "asset": {
            "type": "string"
          },
          "leveragePoolId": {
            "type": "string",
            "format": "uuid"
          },
          "amount": {
            "type": "number"
          },
          "status": {
            "$ref": "#/components/schemas/LoanPaymentStatus"
          }
        }
      },
      "LoanPaymentStatus": {
        "type": "string",
        "enum": [
          "PENDING",
          "COMPLETE",
          "ERROR"
        ]
      },
      "CreateMarginLoanRequest": {
        "required": [
          "amount",
          "id",
          "leveragePoolId",
          "loanType"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Client generated unique loan id",
            "format": "uuid"
          },
          "amount": {
            "minimum": 0.0,
            "exclusiveMinimum": true,
            "type": "number"
          },
          "leveragePoolId": {
            "type": "string",
            "format": "uuid"
          },
          "loanType": {
            "$ref": "#/components/schemas/LoanType"
          },
          "withdrawRequest": {
            "$ref": "#/components/schemas/WithdrawRequest"
          },
          "fiatWithdrawRequest": {
            "$ref": "#/components/schemas/FiatWithdrawRequest"
          }
        }
      },
      "FiatPaymentRail": {
        "type": "string",
        "description": "Method used to transfer fiat asset",
        "enum": [
          "ACH",
          "DEBIT_CARD",
          "SEPA",
          "WIRE"
        ]
      },
      "FiatWithdrawRequest": {
        "required": [
          "amount",
          "currency",
          "destinationPlaidAccountId",
          "paymentRail"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number"
          },
          "currency": {
            "title": "Asset name",
            "type": "string"
          },
          "paymentRail": {
            "$ref": "#/components/schemas/FiatPaymentRail"
          },
          "destinationPlaidAccountId": {
            "title": "Fiat account id",
            "type": "string",
            "description": "Plaid or wire account id",
            "format": "uuid"
          }
        },
        "description": "Optional fiat withdraw request for off platform loan"
      },
      "LoanType": {
        "type": "string",
        "description": "Type of loan to create",
        "enum": [
          "MARGIN",
          "OFF_PLATFORM_MARGIN"
        ],
        "default": "MARGIN"
      },
      "WithdrawRequest": {
        "required": [
          "amount",
          "currency"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "string"
          },
          "recipientAddress": {
            "type": "string",
            "description": "Address to send uncommitted asset to. Only for security entitlements"
          },
          "currency": {
            "title": "Asset name",
            "type": "string"
          },
          "feeId": {
            "type": "string",
            "description": "Estimated fee ID. Required for non-native currencies.",
            "format": "uuid"
          },
          "memo": {
            "type": "string",
            "description": "Optional memo for withdrawing certain assets to networks that support it"
          },
          "uncommitOnly": {
            "type": "boolean",
            "description": "When true, only uncommits the asset from the exchange without initiating a blockchain transfer. Recipient address is not required."
          }
        },
        "description": "Optional MPC withdraw request for off platform loan"
      },
      "CreateMarginLoanResponse": {
        "required": [
          "id",
          "rate"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "rate": {
            "$ref": "#/components/schemas/LoanRateResponse"
          }
        }
      },
      "LoanRateResponse": {
        "required": [
          "amt",
          "periodIntAmt",
          "periodRate",
          "rate"
        ],
        "type": "object",
        "properties": {
          "amt": {
            "type": "number"
          },
          "rate": {
            "type": "number"
          },
          "periodIntAmt": {
            "type": "number"
          },
          "periodRate": {
            "type": "number"
          }
        }
      },
      "NmsBrokerage": {
        "required": [
          "accountNumber",
          "brokerageName",
          "dtcNumber"
        ],
        "type": "object",
        "properties": {
          "brokerageName": {
            "type": "string",
            "description": "Brokerage name"
          },
          "dtcNumber": {
            "type": "string",
            "description": "DTC number"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          }
        },
        "description": "Brokerage details"
      },
      "PartnerNmsSendRequest": {
        "required": [
          "amount",
          "asset",
          "brokerage",
          "uuid"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "Unique id for the NMS send",
            "format": "uuid"
          },
          "amount": {
            "type": "integer",
            "description": "Amount to send",
            "format": "int64"
          },
          "asset": {
            "title": "Asset name",
            "type": "string"
          },
          "brokerage": {
            "$ref": "#/components/schemas/NmsBrokerage"
          }
        }
      },
      "WithdrawResponse": {
        "required": [
          "amount",
          "currency",
          "status",
          "uuid"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "recipientAddress": {
            "type": "string"
          },
          "amount": {
            "type": "string"
          },
          "currency": {
            "title": "Asset name",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/com.figuremarkets.exchange.proto.hft.Transfers.Withdraw.WithdrawStatus"
          },
          "fee": {
            "type": "string"
          },
          "memo": {
            "type": "string"
          }
        }
      },
      "com.figuremarkets.exchange.proto.hft.Transfers.Withdraw.WithdrawStatus": {
        "type": "string",
        "enum": [
          "UNKNOWN_WITHDRAW_STATUS",
          "REQUESTED",
          "SETTLEMENT_PENDING",
          "SETTLEMENT_CONFIRMED",
          "TRADING_BALANCE_SWAP",
          "RECEIVED_DART",
          "MPC_SETTLEMENT_PENDING",
          "APPROVAL_PENDING",
          "FIAT_SETTLEMENT_PENDING",
          "TRANSFER_PENDING",
          "TRANSFER_AWAITING_EXECUTION",
          "TRANSFER_EXECUTED",
          "COMPLETE",
          "ERROR",
          "TRANSFER_CANCELED"
        ]
      },
      "NmsReceiveRequest": {
        "required": [
          "asset",
          "brokerage",
          "quantity",
          "uuid"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "Unique id for the NMS receive",
            "format": "uuid"
          },
          "asset": {
            "title": "Asset name",
            "type": "string"
          },
          "quantity": {
            "type": "integer",
            "description": "Quantity of shares",
            "format": "int64"
          },
          "brokerage": {
            "$ref": "#/components/schemas/NmsBrokerage"
          }
        }
      },
      "NmsReceiveResponse": {
        "required": [
          "asset",
          "brokerage",
          "status",
          "uuid"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "Unique id for the NMS receive",
            "format": "uuid"
          },
          "asset": {
            "title": "Asset name",
            "type": "string"
          },
          "brokerage": {
            "$ref": "#/components/schemas/NmsBrokerage"
          },
          "status": {
            "$ref": "#/components/schemas/NmsReceiveStatusApi"
          }
        }
      },
      "NmsReceiveStatusApi": {
        "type": "string",
        "description": "Status of the NMS receive request",
        "enum": [
          "REQUESTED",
          "REVIEW",
          "COMPLETE",
          "ERROR",
          "CANCELED"
        ]
      },
      "Direction": {
        "type": "string",
        "enum": [
          "UNKNOWN_DIRECTION",
          "ASK",
          "BID"
        ]
      },
      "PartnerYLDSOrderRequest": {
        "required": [
          "direction",
          "marketId",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "Unique id for the order, automatically generated if not sent.",
            "format": "uuid"
          },
          "marketId": {
            "type": "string",
            "description": "Market id"
          },
          "quantity": {
            "minimum": 0.0,
            "exclusiveMinimum": true,
            "type": "number"
          },
          "direction": {
            "$ref": "#/components/schemas/Direction"
          }
        }
      },
      "OrderState": {
        "type": "string",
        "enum": [
          "UNKNOWN_ORDER_STATE",
          "NEW",
          "PARTIALLY_FILLED",
          "FILLED",
          "CANCELED",
          "REPLACED",
          "REJECTED",
          "EXPIRED",
          "PENDING_NEW",
          "PENDING_REPLACE",
          "PENDING_CANCEL",
          "PENDING_RISK"
        ]
      },
      "PartnerYLDSOrderResponse": {
        "required": [
          "created",
          "direction",
          "marketDisplayName",
          "marketId",
          "quantity",
          "state",
          "uuid"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "Reference Number for the order request.",
            "format": "uuid"
          },
          "marketId": {
            "type": "string",
            "description": "Market id"
          },
          "marketDisplayName": {
            "type": "string",
            "description": "Display name for market"
          },
          "quantity": {
            "type": "number"
          },
          "direction": {
            "$ref": "#/components/schemas/Direction"
          },
          "state": {
            "$ref": "#/components/schemas/OrderState"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "com.connamara.ep3.orders.v1beta1.OrderStateFilter": {
        "type": "string",
        "enum": [
          "ORDER_STATE_FILTER_UNDEFINED",
          "ORDER_STATE_FILTER_OPEN",
          "ORDER_STATE_FILTER_CLOSED",
          "ORDER_STATE_FILTER_NEW",
          "ORDER_STATE_FILTER_PARTIALLY_FILLED",
          "ORDER_STATE_FILTER_FILLED",
          "ORDER_STATE_FILTER_CANCELED",
          "ORDER_STATE_FILTER_REPLACED",
          "ORDER_STATE_FILTER_REJECTED",
          "ORDER_STATE_FILTER_EXPIRED",
          "ORDER_STATE_FILTER_PENDING_RISK"
        ]
      },
      "com.connamara.ep3.orders.v1beta1.OrderType": {
        "type": "string",
        "enum": [
          "ORDER_TYPE_UNDEFINED",
          "ORDER_TYPE_MARKET_TO_LIMIT",
          "ORDER_TYPE_LIMIT",
          "ORDER_TYPE_STOP",
          "ORDER_TYPE_STOP_LIMIT"
        ]
      },
      "com.connamara.ep3.orders.v1beta1.Side": {
        "type": "string",
        "enum": [
          "SIDE_UNDEFINED",
          "SIDE_BUY",
          "SIDE_SELL"
        ]
      },
      "com.connamara.ep3.type.v1beta1.Date": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer",
            "format": "int32"
          },
          "month": {
            "type": "integer",
            "format": "int32"
          },
          "day": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "com.connamara.ep3.v1beta1.SearchOrdersRequest": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "pageToken": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "clordId": {
            "type": "string"
          },
          "startTime": {
            "type": "string",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "format": "date-time"
          },
          "symbol": {
            "type": "string"
          },
          "accounts": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "side": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.Side"
          },
          "type": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.OrderType"
          },
          "orderStateFilter": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.OrderStateFilter"
          },
          "crossId": {
            "type": "string"
          },
          "hostCrossId": {
            "type": "string"
          },
          "clientAccountId": {
            "type": "string"
          },
          "clientParticipantId": {
            "type": "string"
          },
          "parentOrderId": {
            "type": "string"
          },
          "symbolSubType": {
            "type": "string"
          },
          "startTransactTradeDate": {
            "$ref": "#/components/schemas/com.connamara.ep3.type.v1beta1.Date"
          },
          "endTransactTradeDate": {
            "$ref": "#/components/schemas/com.connamara.ep3.type.v1beta1.Date"
          },
          "withLastExecution": {
            "type": "boolean"
          }
        }
      },
      "com.connamara.ep3.fix.v1beta1.FIXOrderContext": {
        "type": "object",
        "properties": {
          "beginString": {
            "type": "string"
          },
          "targetCompId": {
            "type": "string"
          },
          "senderCompId": {
            "type": "string"
          },
          "origClordId": {
            "type": "string"
          },
          "securityType": {
            "type": "string"
          },
          "targetSubId": {
            "type": "string"
          },
          "targetLocationId": {
            "type": "string"
          },
          "senderSubId": {
            "type": "string"
          },
          "senderLocationId": {
            "type": "string"
          },
          "onBehalfOfCompId": {
            "type": "string"
          },
          "onBehalfOfSubId": {
            "type": "string"
          }
        }
      },
      "com.connamara.ep3.orders.v1beta1.ConditionTriggerMethod": {
        "type": "string",
        "enum": [
          "CONDITION_TRIGGER_METHOD_UNDEFINED",
          "CONDITION_TRIGGER_METHOD_LAST_PRICE",
          "CONDITION_TRIGGER_METHOD_SETTLEMENT_PRICE"
        ]
      },
      "com.connamara.ep3.orders.v1beta1.ExecutionType": {
        "type": "string",
        "enum": [
          "EXECUTION_TYPE_NEW",
          "EXECUTION_TYPE_PARTIAL_FILL",
          "EXECUTION_TYPE_FILL",
          "EXECUTION_TYPE_CANCELED",
          "EXECUTION_TYPE_REPLACE",
          "EXECUTION_TYPE_REJECTED",
          "EXECUTION_TYPE_EXPIRED",
          "EXECUTION_TYPE_DONE_FOR_DAY"
        ]
      },
      "com.connamara.ep3.orders.v1beta1.LegPrice": {
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string"
          },
          "anchor": {
            "type": "boolean"
          },
          "px": {
            "type": "integer",
            "format": "int64"
          },
          "qty": {
            "type": "integer",
            "format": "int64"
          },
          "side": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.Side"
          },
          "referencePx": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "com.connamara.ep3.orders.v1beta1.ManualOrderIndicator": {
        "type": "string",
        "enum": [
          "MANUAL_ORDER_INDICATOR_UNDEFINED",
          "MANUAL_ORDER_INDICATOR_MANUAL",
          "MANUAL_ORDER_INDICATOR_AUTOMATED"
        ]
      },
      "com.connamara.ep3.orders.v1beta1.OrdRejectReason": {
        "type": "string",
        "enum": [
          "ORD_REJECT_REASON_EXCHANGE_OPTION",
          "ORD_REJECT_REASON_UNKNOWN_SYMBOL",
          "ORD_REJECT_REASON_EXCHANGE_CLOSED",
          "ORD_REJECT_REASON_INCORRECT_QUANTITY",
          "ORD_REJECT_REASON_INVALID_PRICE_INCREMENT",
          "ORD_REJECT_REASON_INCORRECT_ORDER_TYPE",
          "ORD_REJECT_REASON_PRICE_OUT_OF_BOUNDS",
          "ORD_REJECT_REASON_NO_LIQUIDITY",
          "ORD_REJECT_REASON_INSUFFICIENT_CREDIT_LIMIT"
        ]
      },
      "com.connamara.ep3.orders.v1beta1.OrderCapacity": {
        "type": "string",
        "enum": [
          "ORDER_CAPACITY_UNDEFINED",
          "ORDER_CAPACITY_AGENCY",
          "ORDER_CAPACITY_PRINCIPAL",
          "ORDER_CAPACITY_PROPRIETARY",
          "ORDER_CAPACITY_INDIVIDUAL",
          "ORDER_CAPACITY_RISKLESS_PRINCIPAL",
          "ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER"
        ]
      },
      "com.connamara.ep3.orders.v1beta1.OrderContext": {
        "type": "object",
        "properties": {
          "anyContext": {
            "$ref": "#/components/schemas/com.google.protobuf.Any"
          },
          "fixContext": {
            "$ref": "#/components/schemas/com.connamara.ep3.fix.v1beta1.FIXOrderContext"
          },
          "validationContexts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/com.google.protobuf.Any"
            }
          },
          "serviceName": {
            "type": "string"
          }
        }
      },
      "com.connamara.ep3.orders.v1beta1.OrderState": {
        "type": "string",
        "enum": [
          "ORDER_STATE_NEW",
          "ORDER_STATE_PARTIALLY_FILLED",
          "ORDER_STATE_FILLED",
          "ORDER_STATE_CANCELED",
          "ORDER_STATE_REPLACED",
          "ORDER_STATE_REJECTED",
          "ORDER_STATE_EXPIRED",
          "ORDER_STATE_PENDING_NEW",
          "ORDER_STATE_PENDING_REPLACE",
          "ORDER_STATE_PENDING_CANCEL",
          "ORDER_STATE_PENDING_RISK"
        ]
      },
      "com.connamara.ep3.orders.v1beta1.SelfMatchPreventionInstruction": {
        "type": "string",
        "enum": [
          "SELF_MATCH_PREVENTION_INSTRUCTION_UNDEFINED",
          "SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR",
          "SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING",
          "SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH"
        ]
      },
      "com.connamara.ep3.orders.v1beta1.TimeInForce": {
        "type": "string",
        "enum": [
          "TIME_IN_FORCE_UNDEFINED",
          "TIME_IN_FORCE_DAY",
          "TIME_IN_FORCE_GOOD_TILL_CANCEL",
          "TIME_IN_FORCE_IMMEDIATE_OR_CANCEL",
          "TIME_IN_FORCE_GOOD_TILL_TIME",
          "TIME_IN_FORCE_FILL_OR_KILL"
        ]
      },
      "com.connamara.ep3.orders.v1beta1.UnsolicitedCxlReason": {
        "type": "string",
        "enum": [
          "UNSOLICITED_CXL_REASON_UNDEFINED",
          "UNSOLICITED_CXL_REASON_CONNECTION_LOSS",
          "UNSOLICITED_CXL_REASON_LOGOUT",
          "UNSOLICITED_CXL_REASON_EXCHANGE_OPTION",
          "UNSOLICITED_CXL_REASON_OTHER"
        ]
      },
      "com.connamara.ep3.v1beta1.Execution": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "order": {
            "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.Order"
          },
          "lastShares": {
            "type": "integer",
            "format": "int64"
          },
          "lastPx": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.ExecutionType"
          },
          "text": {
            "type": "string"
          },
          "orderRejectReason": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.OrdRejectReason"
          },
          "transactTime": {
            "type": "string",
            "format": "date-time"
          },
          "legPrices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.LegPrice"
            }
          },
          "tradeId": {
            "type": "string"
          },
          "aggressor": {
            "type": "boolean"
          },
          "commissionNotionalCollected": {
            "type": "integer",
            "format": "int64"
          },
          "unsolicitedCancelReason": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.UnsolicitedCxlReason"
          },
          "traceId": {
            "type": "string"
          },
          "commissionSpreadPx": {
            "type": "integer",
            "format": "int64"
          },
          "transactTradeDate": {
            "$ref": "#/components/schemas/com.connamara.ep3.type.v1beta1.Date"
          },
          "previousBestBidPrice": {
            "type": "integer",
            "format": "int64"
          },
          "previousBestBidQuantity": {
            "type": "integer",
            "format": "int64"
          },
          "previousBestOfferPrice": {
            "type": "integer",
            "format": "int64"
          },
          "previousBestOfferQuantity": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "com.connamara.ep3.v1beta1.Order": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.OrderType"
          },
          "side": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.Side"
          },
          "orderQty": {
            "type": "integer",
            "format": "int64"
          },
          "symbol": {
            "type": "string"
          },
          "clordId": {
            "type": "string"
          },
          "timeInForce": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.TimeInForce"
          },
          "account": {
            "type": "string"
          },
          "cumQty": {
            "type": "integer",
            "format": "int64"
          },
          "avgPx": {
            "type": "integer",
            "format": "int64"
          },
          "leavesQty": {
            "type": "integer",
            "format": "int64"
          },
          "state": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.OrderState"
          },
          "participant": {
            "type": "string"
          },
          "price": {
            "type": "integer",
            "format": "int64"
          },
          "insertTime": {
            "type": "string",
            "format": "date-time"
          },
          "stopPrice": {
            "type": "integer",
            "format": "int64"
          },
          "minQty": {
            "type": "integer",
            "format": "int64"
          },
          "createTime": {
            "type": "string",
            "format": "date-time"
          },
          "allOrNone": {
            "type": "boolean"
          },
          "crossId": {
            "type": "string"
          },
          "hostCrossId": {
            "type": "string"
          },
          "submittingParticipant": {
            "type": "string"
          },
          "clientAccountId": {
            "type": "string"
          },
          "clientParticipantId": {
            "type": "string"
          },
          "parentOrderId": {
            "type": "string"
          },
          "commissionsBasisPoints": {
            "type": "string"
          },
          "participateDontInitiate": {
            "type": "boolean"
          },
          "cashOrderQty": {
            "type": "integer",
            "format": "int64"
          },
          "symbolSubType": {
            "type": "string"
          },
          "strictLimit": {
            "type": "boolean"
          },
          "riskCheckTime": {
            "type": "string",
            "format": "date-time"
          },
          "collateralMemo": {
            "type": "string"
          },
          "priorityWeight": {
            "type": "integer",
            "format": "int64"
          },
          "goodTillTime": {
            "type": "string",
            "format": "date-time"
          },
          "context": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.OrderContext"
          },
          "bestLimit": {
            "type": "boolean"
          },
          "immediatelyExecutableLimit": {
            "type": "boolean"
          },
          "blockTradeIndicator": {
            "type": "boolean"
          },
          "lastTradeId": {
            "type": "string"
          },
          "triggerMethod": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.ConditionTriggerMethod"
          },
          "priceToQuantityFilled": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            }
          },
          "commissionNotionalTotalCollected": {
            "type": "integer",
            "format": "int64"
          },
          "selfMatchPreventionInstruction": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.SelfMatchPreventionInstruction"
          },
          "orderCapacity": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.OrderCapacity"
          },
          "ignorePriceValidityChecks": {
            "type": "boolean"
          },
          "transactionBookedTime": {
            "type": "string",
            "format": "date-time"
          },
          "lastTransactTime": {
            "type": "string",
            "format": "date-time"
          },
          "priceScale": {
            "type": "integer",
            "format": "int64"
          },
          "fractionalQuantityScale": {
            "type": "integer",
            "format": "int64"
          },
          "makerCommissionsBasisPoints": {
            "type": "string"
          },
          "manualOrderIndicator": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.ManualOrderIndicator"
          },
          "clordLinkId": {
            "type": "string"
          },
          "visibleQty": {
            "type": "integer",
            "format": "int64"
          },
          "shortIntent": {
            "type": "boolean"
          }
        }
      },
      "com.connamara.ep3.v1beta1.SearchOrdersResponse": {
        "type": "object",
        "properties": {
          "order": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.Order"
            }
          },
          "nextPageToken": {
            "type": "string"
          },
          "lastExecutions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.Execution"
            }
          }
        }
      },
      "com.google.protobuf.Any": {
        "required": [
          "typeUrl",
          "value"
        ],
        "type": "object",
        "properties": {
          "typeUrl": {
            "type": "string"
          },
          "value": {
            "type": "string",
            "format": "byte"
          }
        }
      },
      "com.connamara.ep3.trades.v1beta1.TradeState": {
        "type": "string",
        "enum": [
          "TRADE_STATE_UNDEFINED",
          "TRADE_STATE_NEW",
          "TRADE_STATE_CLEARED",
          "TRADE_STATE_BUSTED",
          "TRADE_STATE_INFLIGHT",
          "TRADE_STATE_PENDING_RISK",
          "TRADE_STATE_PENDING_CLEARED",
          "TRADE_STATE_REJECTED",
          "TRADE_STATE_CLEARING_ACKNOWLEDGED",
          "TRADE_STATE_RETRY_REQUEST"
        ]
      },
      "com.connamara.ep3.v1beta1.SearchTradesRequest": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "pageToken": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "tradeId": {
            "type": "string"
          },
          "execId": {
            "type": "string"
          },
          "startTime": {
            "type": "string",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "format": "date-time"
          },
          "symbol": {
            "type": "string"
          },
          "accounts": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "states": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/com.connamara.ep3.trades.v1beta1.TradeState"
            }
          },
          "tradeLinkId": {
            "type": "string"
          }
        }
      },
      "com.connamara.ep3.trades.v1beta1.TradeType": {
        "type": "string",
        "enum": [
          "TRADE_TYPE_UNDEFINED",
          "TRADE_TYPE_REGULAR",
          "TRADE_TYPE_REQUEST_FOR_QUOTE",
          "TRADE_TYPE_BLOCK",
          "TRADE_TYPE_CROSS"
        ]
      },
      "com.connamara.ep3.v1beta1.SearchTradesResponse": {
        "type": "object",
        "properties": {
          "trade": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.Trade"
            }
          },
          "nextPageToken": {
            "type": "string"
          }
        }
      },
      "com.connamara.ep3.v1beta1.Trade": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "aggressor": {
            "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.Execution"
          },
          "passive": {
            "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.Execution"
          },
          "tradeType": {
            "$ref": "#/components/schemas/com.connamara.ep3.trades.v1beta1.TradeType"
          },
          "state": {
            "$ref": "#/components/schemas/com.connamara.ep3.trades.v1beta1.TradeState"
          },
          "reportingCounterparty": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.Side"
          },
          "text": {
            "type": "string"
          },
          "tradeLinkId": {
            "type": "string"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "com.connamara.ep3.v1beta1.SearchExecutionsRequest": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "pageToken": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "clordId": {
            "type": "string"
          },
          "startTime": {
            "type": "string",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "format": "date-time"
          },
          "symbol": {
            "type": "string"
          },
          "types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.ExecutionType"
            }
          },
          "newestFirst": {
            "type": "boolean"
          },
          "accounts": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "clientAccountId": {
            "type": "string"
          },
          "clientParticipantId": {
            "type": "string"
          },
          "parentOrderId": {
            "type": "string"
          },
          "symbolSubType": {
            "type": "string"
          },
          "execIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "startTransactTradeDate": {
            "$ref": "#/components/schemas/com.connamara.ep3.type.v1beta1.Date"
          },
          "endTransactTradeDate": {
            "$ref": "#/components/schemas/com.connamara.ep3.type.v1beta1.Date"
          }
        }
      },
      "com.connamara.ep3.v1beta1.SearchExecutionsResponse": {
        "type": "object",
        "properties": {
          "executions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.Execution"
            }
          },
          "nextPageToken": {
            "type": "string"
          },
          "eof": {
            "type": "boolean"
          }
        }
      },
      "CancelOrdersRequest": {
        "type": "object",
        "properties": {
          "marketId": {
            "title": "Market id",
            "type": "string"
          },
          "baseAsset": {
            "type": "string",
            "description": "Base asset for all markets to cancel orders on"
          }
        }
      },
      "ConsentType": {
        "type": "string",
        "enum": [
          "TRADING_CONSENT",
          "DOMESTIC_MARGIN_CONSENT",
          "INTERNATIONAL_MARGIN_CONSENT",
          "DOMESTIC_OFF_PLATFORM_MARGIN_CONSENT",
          "INTERNATIONAL_OFF_PLATFORM_MARGIN_CONSENT",
          "CAYMAN_EXEMPTION_CONSENT",
          "LENDER_CONSENT",
          "REFERRAL_CONSENT",
          "TRADER_API_CONSENT",
          "DEMOCRATIZED_PRIME_BORROWER_CONSENT"
        ]
      },
      "PartnerEnableMarginRequest": {
        "required": [
          "location"
        ],
        "type": "object",
        "properties": {
          "location": {
            "$ref": "#/components/schemas/com.figuremarkets.exchange.proto.hft.Markets.Market.MarketLocation"
          },
          "consentType": {
            "$ref": "#/components/schemas/ConsentType"
          }
        }
      },
      "com.figuremarkets.exchange.proto.hft.Markets.Market.MarketLocation": {
        "type": "string",
        "enum": [
          "UNKNOWN_MARKET_LOCATION",
          "US",
          "CAYMAN",
          "IRELAND"
        ]
      },
      "EnableMarginResponse": {
        "required": [
          "accountAddress",
          "isAutopayEnabled",
          "isMarginEnabledForUser",
          "isOffPlatformMarginEnabledForUser",
          "leveragePoolIds",
          "status"
        ],
        "type": "object",
        "properties": {
          "accountAddress": {
            "type": "string"
          },
          "location": {
            "$ref": "#/components/schemas/com.figuremarkets.exchange.proto.hft.Markets.Market.MarketLocation"
          },
          "leveragePoolIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "status": {
            "$ref": "#/components/schemas/ParticipantRoleStatus"
          },
          "isMarginEnabledForUser": {
            "type": "boolean",
            "description": "Indicates if margin trading is available for the user"
          },
          "isOffPlatformMarginEnabledForUser": {
            "type": "boolean",
            "description": "Indicates if off platform margin is available for the user"
          },
          "isAutopayEnabled": {
            "type": "boolean",
            "description": "Indicates if payments will be automatically made during auctions if funds are available"
          }
        }
      },
      "ParticipantRoleStatus": {
        "type": "string",
        "description": "Indicates the margin trading status for the user",
        "deprecated": true,
        "enum": [
          "ACTIVE",
          "CANCELLED"
        ]
      },
      "CreateLenderResponse": {
        "required": [
          "id",
          "leveragePoolIds",
          "status"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "leveragePoolIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "status": {
            "$ref": "#/components/schemas/ParticipantRoleStatus"
          }
        }
      },
      "CreateOfferRequestV2": {
        "required": [
          "amount",
          "id",
          "leveragePoolId",
          "rate"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "rate": {
            "maximum": 1.0,
            "exclusiveMaximum": false,
            "type": "number"
          },
          "amount": {
            "type": "number"
          },
          "leveragePoolId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "OfferStatus": {
        "type": "string",
        "enum": [
          "PENDING",
          "ACTIVE",
          "PENDING_CANCELLATION",
          "CANCELLED",
          "ERROR"
        ]
      },
      "PartnerCreateOfferResponse": {
        "required": [
          "amt",
          "id",
          "leveragePoolId",
          "rate",
          "status"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "rate": {
            "type": "number"
          },
          "amt": {
            "type": "number"
          },
          "status": {
            "$ref": "#/components/schemas/OfferStatus"
          },
          "accountId": {
            "type": "string",
            "format": "uuid"
          },
          "leveragePoolId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "LenderOfferResponse": {
        "required": [
          "amt",
          "asset",
          "createdAt",
          "id",
          "initialAmt",
          "initialRate",
          "interestAmt",
          "leveragePoolId",
          "outstandingInterestAmt",
          "rate",
          "status",
          "utilAmt",
          "utilRate"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "initialRate": {
            "type": "number"
          },
          "rate": {
            "type": "number"
          },
          "initialAmt": {
            "type": "number"
          },
          "amt": {
            "type": "number"
          },
          "interestAmt": {
            "type": "number",
            "description": "Total interest including accrued and paid out"
          },
          "status": {
            "$ref": "#/components/schemas/OfferStatus"
          },
          "leveragePoolId": {
            "type": "string",
            "format": "uuid"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "outstandingInterestAmt": {
            "type": "number",
            "description": "Interest accrued but not paid out"
          },
          "utilAmt": {
            "type": "number"
          },
          "utilRate": {
            "type": "number"
          },
          "asset": {
            "type": "string"
          }
        }
      },
      "PartnerWithdrawRequest": {
        "required": [
          "amount",
          "denom"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "Unique id for the withdrawal, Automatically generated if not sent.",
            "format": "uuid"
          },
          "denom": {
            "type": "string",
            "description": "Asset to withdraw"
          },
          "amount": {
            "type": "string",
            "description": "Amount to be withdrawn"
          },
          "recipientAddress": {
            "type": "string",
            "description": "Address to send uncommitted asset to. Only for security entitlements"
          },
          "memo": {
            "type": "string",
            "description": "Optional memo for withdrawing certain assets to networks that support it"
          }
        }
      },
      "PartnerWithdrawResponse": {
        "required": [
          "uuid"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "Reference Number for withdraw request",
            "format": "uuid"
          },
          "fee": {
            "type": "string",
            "description": "The withdraw fee"
          }
        }
      },
      "PartnerWireWithdrawRequest": {
        "required": [
          "amount",
          "wireAccountId"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "Unique id for the withdrawal, Automatically generated if not sent.",
            "format": "uuid"
          },
          "amount": {
            "type": "number"
          },
          "wireAccountId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "AssetCommitmentRequest": {
        "required": [
          "amount",
          "denom"
        ],
        "type": "object",
        "properties": {
          "denom": {
            "type": "string",
            "description": "The denom display name, e.g. hash, or the asset id"
          },
          "amount": {
            "type": "number",
            "description": "The amount in terms of the display quantity to commit, e.g. 0.1 hash"
          }
        }
      },
      "com.connamara.ep3.v1beta1.GetOpenOrdersResponse": {
        "type": "object",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.Order"
            }
          }
        }
      },
      "PeriodSpan": {
        "type": "string",
        "enum": [
          "HOUR",
          "DAY",
          "WEEK",
          "MONTH",
          "YEAR"
        ]
      },
      "LoanPeriodResponse": {
        "required": [
          "currency",
          "effectiveApr",
          "endTime",
          "endingBalance",
          "fees",
          "lenderInterest",
          "leveragePoolId",
          "marketFees",
          "newLoanIncurred",
          "payments",
          "rolloverAmount",
          "startTime"
        ],
        "type": "object",
        "properties": {
          "startTime": {
            "type": "string",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "format": "date-time"
          },
          "leveragePoolId": {
            "type": "string",
            "format": "uuid"
          },
          "currency": {
            "type": "string"
          },
          "rolloverAmount": {
            "type": "number"
          },
          "newLoanIncurred": {
            "type": "number"
          },
          "fees": {
            "type": "number"
          },
          "effectiveApr": {
            "type": "number"
          },
          "payments": {
            "type": "number"
          },
          "endingBalance": {
            "type": "number"
          },
          "lenderInterest": {
            "type": "number"
          },
          "marketFees": {
            "type": "number"
          }
        }
      },
      "PaginatedResponseLoanPeriodResponse": {
        "required": [
          "data",
          "pagination"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoanPeriodResponse"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationResponse"
          }
        }
      },
      "PaginationResponse": {
        "required": [
          "page",
          "size",
          "totalCount",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "totalCount": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "TransferAction": {
        "type": "string",
        "enum": [
          "DEPOSIT",
          "WITHDRAW",
          "INTEREST",
          "REFUND",
          "RETURN",
          "REWARD",
          "ISSUANCE",
          "RECEIVE_YLDS_PAYMENT",
          "P2P",
          "CBL_DISBURSEMENT",
          "CBL_PAYMENT",
          "REPAYMENT_TRANSFER",
          "MARGIN",
          "NMS_SEND",
          "NMS_RECEIVE",
          "SEND",
          "RECEIVE",
          "SEND_COLLATERAL",
          "RECEIVE_COLLATERAL"
        ]
      },
      "PaginatedResponseTransferHistoryResponse": {
        "required": [
          "data",
          "pagination"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TransferHistoryResponse"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationResponse"
          }
        }
      },
      "TransferHistoryResponse": {
        "required": [
          "action",
          "amount",
          "currency",
          "recipientAddress",
          "senderAddress",
          "status",
          "transferDateTime",
          "uuid"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "action": {
            "$ref": "#/components/schemas/TransferAction"
          },
          "recipientAddress": {
            "type": "string"
          },
          "senderAddress": {
            "type": "string"
          },
          "currency": {
            "title": "Asset name",
            "type": "string"
          },
          "denom": {
            "type": "string"
          },
          "amount": {
            "type": "string"
          },
          "transferDateTime": {
            "type": "string",
            "format": "date-time"
          },
          "transferUpdateDateTime": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "$ref": "#/components/schemas/TransferHistoryStatus"
          },
          "fee": {
            "type": "string"
          },
          "groupProposalId": {
            "type": "integer",
            "format": "int64"
          },
          "memo": {
            "type": "string"
          },
          "toEmail": {
            "type": "string"
          },
          "expiration": {
            "type": "string",
            "format": "date-time"
          },
          "fromEmail": {
            "type": "string"
          },
          "fiatRail": {
            "$ref": "#/components/schemas/FiatPaymentRail"
          },
          "clearingDate": {
            "type": "string",
            "format": "date-time"
          },
          "transactionHash": {
            "type": "string"
          },
          "brokerage": {
            "$ref": "#/components/schemas/NmsBrokerage"
          }
        }
      },
      "TransferHistoryStatus": {
        "type": "string",
        "enum": [
          "PENDING",
          "TRANSFER_PENDING",
          "TRANSFER_AWAITING_EXECUTION",
          "TRANSFER_EXECUTED",
          "COMPLETE",
          "ERROR",
          "CANCELED",
          "INVITATION_ACCEPTANCE_PENDING",
          "PENDING_CANCELED",
          "UNKNOWN",
          "DECLINED",
          "REVIEW"
        ]
      },
      "AssetBalanceResponse": {
        "required": [
          "asset",
          "cblBalance",
          "cblOwedBalance",
          "displayBalance",
          "exchangeBalance",
          "exchangePrice",
          "fiatLedgerBalance",
          "loanBalance",
          "offerBalance",
          "rewardsBalance",
          "smartContractLendingBalance",
          "stakableBalance",
          "stakedBalance",
          "totalBalance",
          "tradingPower",
          "unbondingBalance",
          "uncommittedBalance",
          "unvestedBalance"
        ],
        "type": "object",
        "properties": {
          "asset": {
            "type": "string"
          },
          "totalBalance": {
            "title": "Sum of all balances, less liabilities",
            "type": "number"
          },
          "displayBalance": {
            "title": "Balance for display",
            "type": "number",
            "description": "Does not include loan, offer, or smart-contract lending balances."
          },
          "exchangeBalance": {
            "title": "Balance committed to the exchange for trading",
            "type": "number"
          },
          "tradingPower": {
            "title": "Balance available to trade",
            "type": "number"
          },
          "loanBalance": {
            "title": "Democratized prime loan balance",
            "type": "number"
          },
          "offerBalance": {
            "title": "Balance lent out in democratized prime offers",
            "type": "number"
          },
          "smartContractLendingBalance": {
            "title": "Balance lent via on-chain smart-contract (repo) pools",
            "type": "number",
            "description": "Included in total portfolio value; separate from lending offers."
          },
          "cblBalance": {
            "title": "Balance committed as collateral for Crypto Backed Loans",
            "type": "number"
          },
          "cblOwedBalance": {
            "title": "Balance owed on Crypto Backed Loans",
            "type": "number"
          },
          "uncommittedBalance": {
            "title": "Balance present on chain that is not otherwise committed",
            "type": "number"
          },
          "stakedBalance": {
            "title": "Balance staked to validators",
            "type": "number"
          },
          "rewardsBalance": {
            "title": "Balance of unclaimed rewards earned via staking",
            "type": "number"
          },
          "unbondingBalance": {
            "title": "Balance that is locked while being unbonded from validators",
            "type": "number"
          },
          "stakableBalance": {
            "title": "Balance available for staking",
            "type": "number"
          },
          "unvestedBalance": {
            "title": "Balance that is not yet vested",
            "type": "number"
          },
          "fiatLedgerBalance": {
            "title": "Fiat ledger balance",
            "type": "number",
            "description": "Unsettled/pending fiat currency balance due to legacy financial system like ACH"
          },
          "exchangePrice": {
            "title": "The current exchange price of the asset",
            "type": "number"
          }
        }
      },
      "CryptoBackedLoanBalanceResponse": {
        "title": "Crypto Backed Loans",
        "required": [
          "asset",
          "balance",
          "collateralAsset",
          "collateralBalance",
          "interestRate",
          "loanId",
          "loanNumber",
          "ltv",
          "paymentAssets",
          "status"
        ],
        "type": "object",
        "properties": {
          "loanId": {
            "type": "string",
            "format": "uuid"
          },
          "loanNumber": {
            "title": "Displayable loan number",
            "type": "string"
          },
          "asset": {
            "title": "Distributed asset",
            "type": "string"
          },
          "balance": {
            "title": "Balance owed on loan",
            "type": "number"
          },
          "collateralAsset": {
            "title": "Asset committed as collateral",
            "type": "string"
          },
          "collateralBalance": {
            "title": "Amount of collateral committed",
            "minimum": 0,
            "type": "number"
          },
          "interestRate": {
            "title": "Interest rate on the loan",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "ltv": {
            "title": "Loan To Value ratio",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "status": {
            "title": "Health status of the loan",
            "type": "string"
          },
          "paymentAssets": {
            "title": "Assets allowed for repaying the loan",
            "type": "array",
            "items": {
              "title": "Assets allowed for repaying the loan",
              "type": "string"
            }
          }
        },
        "description": "Return all crypto backed loans for the account. Note that this does not include unfunded applications."
      },
      "LoanBalanceResponseV3": {
        "required": [
          "asset",
          "balance",
          "leveragePoolId"
        ],
        "type": "object",
        "properties": {
          "leveragePoolId": {
            "type": "string",
            "format": "uuid"
          },
          "balance": {
            "type": "number"
          },
          "asset": {
            "type": "string"
          },
          "rateRange": {
            "$ref": "#/components/schemas/LoanRateRangeResponse"
          },
          "currentPeriodRate": {
            "type": "number",
            "description": "the current APR"
          },
          "currentPeriodFeeRate": {
            "type": "number",
            "description": "the annualized fee rate"
          },
          "currentPeriodLenderRate": {
            "type": "number",
            "description": "the annualized lender rate"
          }
        }
      },
      "LoanRateRangeResponse": {
        "required": [
          "maxRate",
          "minRate"
        ],
        "type": "object",
        "properties": {
          "minRate": {
            "type": "number"
          },
          "maxRate": {
            "type": "number"
          }
        },
        "description": "estimated rate for the upcoming period"
      },
      "OfferBalanceResponseV2": {
        "required": [
          "asset",
          "balance",
          "createdAt",
          "interestBalance",
          "leveragePoolId",
          "offerId",
          "rate",
          "status",
          "totalBalance"
        ],
        "type": "object",
        "properties": {
          "leveragePoolId": {
            "type": "string",
            "format": "uuid"
          },
          "offerId": {
            "type": "string",
            "format": "uuid"
          },
          "balance": {
            "type": "number",
            "description": "Balance offered"
          },
          "interestBalance": {
            "type": "number",
            "description": "Interest accrued on the offered balance"
          },
          "totalBalance": {
            "type": "number",
            "description": "Total balance including interest"
          },
          "asset": {
            "type": "string"
          },
          "rate": {
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "status": {
            "$ref": "#/components/schemas/OfferStatus"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PartnerPortfolioBalanceResponseV2": {
        "required": [
          "accountAddress",
          "assets",
          "cryptoBackedLoans",
          "loans",
          "offers",
          "scLending",
          "timestamp",
          "totalValue"
        ],
        "type": "object",
        "properties": {
          "accountAddress": {
            "type": "string"
          },
          "totalValue": {
            "title": "Total portfolio value at current pricing",
            "type": "number"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssetBalanceResponse"
            }
          },
          "loans": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoanBalanceResponseV3"
            }
          },
          "offers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OfferBalanceResponseV2"
            }
          },
          "scLending": {
            "type": "array",
            "description": "On-chain smart-contract (repo) lent balances by pool; separate from lending offers.",
            "items": {
              "$ref": "#/components/schemas/SmartContractLendingBalanceResponse"
            }
          },
          "cryptoBackedLoans": {
            "title": "Crypto Backed Loans",
            "type": "array",
            "description": "Return all crypto backed loans for the account. Note that this does not include unfunded applications.",
            "items": {
              "$ref": "#/components/schemas/CryptoBackedLoanBalanceResponse"
            }
          }
        }
      },
      "SmartContractLendingBalanceResponse": {
        "required": [
          "asset",
          "balance",
          "leveragePoolId"
        ],
        "type": "object",
        "properties": {
          "leveragePoolId": {
            "type": "string",
            "format": "uuid"
          },
          "asset": {
            "type": "string"
          },
          "balance": {
            "type": "number",
            "description": "Repo-token balance representing capital lent in the pool contract"
          }
        },
        "description": "On-chain smart-contract (repo) lent balances by pool; separate from lending offers."
      },
      "OrderExecutionType": {
        "type": "string",
        "enum": [
          "ALLOW_TAKER",
          "MAKER_ONLY"
        ]
      },
      "OrderResponse": {
        "required": [
          "created",
          "denom",
          "direction",
          "executionType",
          "feeBasisPoints",
          "feeTotal",
          "filledQuantity",
          "marketDisplayName",
          "marketId",
          "maxFeeTotal",
          "orderId",
          "orderType",
          "price",
          "priceDenom",
          "quantity",
          "remainingQuantity",
          "state",
          "symbol",
          "totalFilledValue"
        ],
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "deprecated": true
          },
          "marketId": {
            "type": "string",
            "description": "The market\u0027s id, previously symbol"
          },
          "marketDisplayName": {
            "type": "string",
            "description": "Display name for market"
          },
          "denom": {
            "type": "string"
          },
          "priceDenom": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "quantity": {
            "type": "string"
          },
          "price": {
            "type": "string"
          },
          "direction": {
            "$ref": "#/components/schemas/Direction"
          },
          "orderType": {
            "$ref": "#/components/schemas/OrderType"
          },
          "clientOrderId": {
            "type": "string"
          },
          "remainingQuantity": {
            "type": "string",
            "description": "Working quantity"
          },
          "filledQuantity": {
            "type": "string"
          },
          "state": {
            "$ref": "#/components/schemas/OrderState"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "expiration": {
            "type": "string",
            "format": "date-time"
          },
          "feeTotal": {
            "type": "string"
          },
          "executionType": {
            "$ref": "#/components/schemas/OrderExecutionType"
          },
          "failureReason": {
            "type": "string"
          },
          "stopPrice": {
            "type": "string"
          },
          "timeInForce": {
            "$ref": "#/components/schemas/TimeInForce"
          },
          "cashOrderQty": {
            "type": "string"
          },
          "totalFilledValue": {
            "type": "string",
            "description": "total value of filled order \u003d sum(fill qty * fill price)"
          },
          "maxFeeTotal": {
            "type": "number",
            "description": "max fees to be charged if the order fully executes"
          },
          "feeBasisPoints": {
            "type": "number"
          }
        }
      },
      "OrderType": {
        "type": "string",
        "enum": [
          "UNKNOWN_ORDER_TYPE",
          "LIMIT",
          "STOP_LIMIT",
          "MARKET"
        ]
      },
      "TimeInForce": {
        "type": "string",
        "description": "Use \u0027GOOD_TILL_CANCEL\u0027 and \u0027FILL_OR_KILL\u0027 instead of \u0027TIME_IN_FORCE_GOOD_TILL_CANCEL\u0027 and \u0027TIME_IN_FORCE_FILL_OR_KILL\u0027",
        "enum": [
          "DAY",
          "IMMEDIATE_OR_CANCEL",
          "GOOD_TILL_TIME",
          "GOOD_TILL_CANCEL",
          "FILL_OR_KILL",
          "TIME_IN_FORCE_GOOD_TILL_CANCEL",
          "TIME_IN_FORCE_FILL_OR_KILL"
        ]
      },
      "SortOrder": {
        "type": "string",
        "enum": [
          "ASC",
          "DESC"
        ]
      },
      "PartnerTradeResponse": {
        "required": [
          "askFee",
          "askId",
          "baseAsset",
          "bidFee",
          "bidId",
          "created",
          "direction",
          "id",
          "marketId",
          "price",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Trade ID"
          },
          "marketId": {
            "type": "string"
          },
          "baseAsset": {
            "type": "string"
          },
          "price": {
            "type": "number",
            "description": "Execution price"
          },
          "quantity": {
            "type": "number",
            "description": "Executed quantity"
          },
          "created": {
            "type": "string",
            "description": "Trade execution timestamp",
            "format": "date-time"
          },
          "askFee": {
            "type": "number",
            "description": "Collected commission from the seller for this trade"
          },
          "bidFee": {
            "type": "number",
            "description": "Collected commission from the buyer for this trade"
          },
          "direction": {
            "$ref": "#/components/schemas/Direction"
          },
          "askId": {
            "type": "string",
            "description": "Order ID of the offer"
          },
          "bidId": {
            "type": "string",
            "description": "Order ID of the bid"
          },
          "settlementTxHash": {
            "type": "string",
            "description": "Provenance blockchain transaction hash in which this trade was settled"
          }
        }
      },
      "TokenPaginatedResponsePartnerTradeResponse": {
        "required": [
          "data",
          "totalCount"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartnerTradeResponse"
            }
          },
          "nextPageToken": {
            "type": "string"
          },
          "totalCount": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "com.connamara.ep3.orders.v1beta1.CxlRejReason": {
        "type": "string",
        "enum": [
          "CXL_REJ_REASON_EXCHANGE_OPTION",
          "CXL_REJ_REASON_UNKNOWN_ORDER",
          "CXL_REJ_REASON_EXCHANGE_CLOSED",
          "CXL_REJ_REASON_INCORRECT_QUANTITY",
          "CXL_REJ_REASON_INVALID_PRICE_INCREMENT",
          "CXL_REJ_REASON_PRICE_OUT_OF_BOUNDS",
          "CXL_REJ_REASON_INSUFFICIENT_CREDIT_LIMIT"
        ]
      },
      "com.connamara.ep3.v1beta1.CancelReject": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string"
          },
          "rejectReason": {
            "$ref": "#/components/schemas/com.connamara.ep3.orders.v1beta1.CxlRejReason"
          },
          "text": {
            "type": "string"
          },
          "isReplace": {
            "type": "boolean"
          },
          "clordId": {
            "type": "string"
          },
          "transactTime": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "com.connamara.ep3.v1beta1.CreateOrderSubscriptionResponse": {
        "type": "object",
        "properties": {
          "heartbeat": {
            "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.Heartbeat"
          },
          "snapshot": {
            "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.CreateOrderSubscriptionResponse.Snapshot"
          },
          "update": {
            "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.CreateOrderSubscriptionResponse.Update"
          },
          "sessionId": {
            "type": "string"
          },
          "processedSentTime": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "com.connamara.ep3.v1beta1.CreateOrderSubscriptionResponse.Snapshot": {
        "type": "object",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.Order"
            }
          }
        }
      },
      "com.connamara.ep3.v1beta1.CreateOrderSubscriptionResponse.Update": {
        "type": "object",
        "properties": {
          "executions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.Execution"
            }
          },
          "cancelReject": {
            "$ref": "#/components/schemas/com.connamara.ep3.v1beta1.CancelReject"
          }
        }
      },
      "com.connamara.ep3.v1beta1.Heartbeat": {
        "type": "object"
      },
      "PartnerMarginResponse": {
        "required": [
          "isAutopayEnabled",
          "isAvailable",
          "isMarginEnabledForUser",
          "isOffPlatformMarginEnabledForUser",
          "leveragePoolIds"
        ],
        "type": "object",
        "properties": {
          "isMarginEnabledForUser": {
            "type": "boolean",
            "description": "Indicates if margin trading is available for the user"
          },
          "isOffPlatformMarginEnabledForUser": {
            "type": "boolean",
            "description": "Indicates if off platform margin is available for the user"
          },
          "leveragePoolIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "isAvailable": {
            "type": "boolean",
            "description": "Indicates if margin trading is available as an overall feature"
          },
          "isAutopayEnabled": {
            "type": "boolean",
            "description": "Indicates if payments will be automatically made during auctions if funds are available"
          }
        }
      },
      "GetLoanBalancesResponse": {
        "required": [
          "collateralValue",
          "data",
          "loansValue",
          "ltv",
          "status"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoanBalanceResponse"
            }
          },
          "ltv": {
            "type": "number"
          },
          "status": {
            "$ref": "#/components/schemas/LoanToValueStatus"
          },
          "collateralValue": {
            "type": "number",
            "description": "Total value of assets used for collateral"
          },
          "loansValue": {
            "type": "number",
            "description": "Value of outstanding loans"
          }
        }
      },
      "LoanBalanceResponse": {
        "required": [
          "balance",
          "currency",
          "currentPeriodFeeRate",
          "currentPeriodLenderRate",
          "currentPeriodRate",
          "fees",
          "interest",
          "leveragePoolId",
          "pendingPayments",
          "principal",
          "rateRange",
          "totalValue"
        ],
        "type": "object",
        "properties": {
          "leveragePoolId": {
            "type": "string",
            "format": "uuid"
          },
          "balance": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "rateRange": {
            "$ref": "#/components/schemas/LoanRateRangeResponse"
          },
          "totalValue": {
            "type": "number"
          },
          "currentPeriodRate": {
            "type": "number",
            "description": "the current APR"
          },
          "currentPeriodFeeRate": {
            "type": "number",
            "description": "the annualized fee rate"
          },
          "currentPeriodLenderRate": {
            "type": "number",
            "description": "the annualized lender rate"
          },
          "principal": {
            "type": "number",
            "description": "Outstanding principal balance"
          },
          "interest": {
            "type": "number",
            "description": "Outstanding interest balance"
          },
          "fees": {
            "type": "number",
            "description": "Outstanding fee balance"
          },
          "pendingPayments": {
            "type": "number",
            "description": "Balance of pending payments"
          }
        }
      },
      "LoanToValueStatus": {
        "type": "string",
        "enum": [
          "HEALTHY",
          "UNHEALTHY",
          "MARGIN_CALL",
          "LIQUIDATION"
        ]
      },
      "LiquidatedAssetResponse": {
        "required": [
          "currency",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "currency": {
            "type": "string"
          },
          "quantity": {
            "type": "number"
          },
          "fee": {
            "type": "number"
          },
          "feeValue": {
            "type": "number"
          },
          "price": {
            "type": "number"
          },
          "totalValue": {
            "type": "number"
          }
        }
      },
      "LiquidationResponse": {
        "required": [
          "assets",
          "liquidationDtm",
          "uuid"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "liquidationDtm": {
            "type": "string",
            "format": "date-time"
          },
          "assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LiquidatedAssetResponse"
            }
          }
        }
      },
      "PaginatedResponseLiquidationResponse": {
        "required": [
          "data",
          "pagination"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LiquidationResponse"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationResponse"
          }
        }
      },
      "LeveragePoolType": {
        "type": "string",
        "enum": [
          "TERM",
          "TRADE",
          "HELOC",
          "CBL",
          "AUTO"
        ]
      },
      "MarketLocationType": {
        "type": "string",
        "enum": [
          "US",
          "CAYMAN",
          "IRELAND"
        ]
      },
      "PartnerLeveragePoolResponse": {
        "required": [
          "asset",
          "collateralAssets",
          "currentBorrowRate",
          "currentLendRate",
          "currentRate",
          "description",
          "feeRate",
          "id",
          "leverageType",
          "liquidationFeeRate",
          "liquidationRate",
          "loansOutstanding",
          "marginCallRate",
          "marginRate",
          "marketLocationType",
          "maxIntRate",
          "minIntRate",
          "minimumLoan",
          "minimumOffer",
          "name",
          "termDuration"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "marginRate": {
            "type": "number"
          },
          "marginCallRate": {
            "type": "number"
          },
          "liquidationRate": {
            "type": "number"
          },
          "minIntRate": {
            "type": "number"
          },
          "maxIntRate": {
            "type": "number"
          },
          "leverageType": {
            "$ref": "#/components/schemas/LeveragePoolType"
          },
          "marketLocationType": {
            "$ref": "#/components/schemas/MarketLocationType"
          },
          "termDuration": {
            "type": "string"
          },
          "asset": {
            "type": "string"
          },
          "minimumOffer": {
            "type": "number"
          },
          "minimumLoan": {
            "type": "number"
          },
          "feeRate": {
            "type": "number"
          },
          "liquidationFeeRate": {
            "type": "number"
          },
          "collateralAssets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "loansOutstanding": {
            "type": "number"
          },
          "currentRate": {
            "type": "number",
            "deprecated": true
          },
          "currentLendRate": {
            "type": "number"
          },
          "currentBorrowRate": {
            "type": "number"
          }
        }
      },
      "PartnerOfferSummaryResponse": {
        "required": [
          "amount",
          "rate",
          "utilRate"
        ],
        "type": "object",
        "properties": {
          "rate": {
            "type": "number"
          },
          "amount": {
            "type": "number"
          },
          "utilRate": {
            "type": "number",
            "description": "Utilization rate"
          }
        }
      },
      "PartnerOffersResponse": {
        "required": [
          "offers",
          "rate",
          "rateChangeBps",
          "totalLoanAmount",
          "totalOfferAmount"
        ],
        "type": "object",
        "properties": {
          "totalOfferAmount": {
            "type": "number"
          },
          "totalLoanAmount": {
            "type": "number"
          },
          "rate": {
            "type": "number",
            "description": "Period APR. This does not include fees"
          },
          "rateChangeBps": {
            "type": "integer",
            "description": "The rate change in basis points from the prior period",
            "format": "int32"
          },
          "offers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartnerOfferSummaryResponse"
            }
          }
        }
      },
      "OfferResponse": {
        "required": [
          "accountAddress",
          "amt",
          "createdAt",
          "id",
          "initialAmt",
          "initialRate",
          "interestAmt",
          "leveragePoolId",
          "rate",
          "status",
          "utilAmt",
          "utilRate"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "initialRate": {
            "type": "number"
          },
          "rate": {
            "type": "number"
          },
          "initialAmt": {
            "type": "number"
          },
          "amt": {
            "type": "number"
          },
          "interestAmt": {
            "type": "number"
          },
          "status": {
            "$ref": "#/components/schemas/OfferStatus"
          },
          "accountId": {
            "type": "string",
            "format": "uuid"
          },
          "accountAddress": {
            "type": "string"
          },
          "leveragePoolId": {
            "type": "string",
            "format": "uuid"
          },
          "exitRequested": {
            "type": "string",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "utilAmt": {
            "type": "number",
            "description": "Portion of the offer amount currently utilized (borrowed against) in the active period"
          },
          "utilRate": {
            "type": "number",
            "description": "Utilization ratio of the offer amount in the active period (0–1)"
          }
        }
      },
      "PaginatedResponseOfferResponse": {
        "required": [
          "data",
          "pagination"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OfferResponse"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationResponse"
          }
        }
      },
      "EarningsHistoryResponse": {
        "required": [
          "asset",
          "beginningOffers",
          "endTime",
          "endingOffers",
          "exitAmount",
          "interestAccrued",
          "leveragePoolId",
          "newOffers",
          "startTime"
        ],
        "type": "object",
        "properties": {
          "startTime": {
            "type": "string",
            "description": "Period start time inclusive",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "description": "Period end time inclusive",
            "format": "date-time"
          },
          "leveragePoolId": {
            "type": "string",
            "format": "uuid"
          },
          "asset": {
            "type": "string"
          },
          "beginningOffers": {
            "type": "number"
          },
          "newOffers": {
            "type": "number"
          },
          "interestAccrued": {
            "type": "number"
          },
          "exitAmount": {
            "type": "number"
          },
          "endingOffers": {
            "type": "number"
          }
        }
      },
      "PaginatedResponseEarningsHistoryResponse": {
        "required": [
          "data",
          "pagination"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EarningsHistoryResponse"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationResponse"
          }
        }
      },
      "TotalEarningsResponse": {
        "required": [
          "averageEarningsRate",
          "totalEarnings",
          "twentyFourHourEarnings"
        ],
        "type": "object",
        "properties": {
          "totalEarnings": {
            "type": "number"
          },
          "twentyFourHourEarnings": {
            "type": "number"
          },
          "averageEarningsRate": {
            "type": "number"
          }
        }
      },
      "AccountInterestAccrualResponse": {
        "required": [
          "accruals"
        ],
        "type": "object",
        "properties": {
          "accruals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InterestAccrualResponse"
            }
          }
        }
      },
      "InterestAccrualResponse": {
        "required": [
          "accrual",
          "asset",
          "leveragePoolId"
        ],
        "type": "object",
        "properties": {
          "leveragePoolId": {
            "type": "string",
            "format": "uuid"
          },
          "asset": {
            "type": "string"
          },
          "accrual": {
            "type": "number"
          }
        }
      },
      "VoteOption": {
        "type": "string",
        "enum": [
          "YES",
          "NO",
          "ABSTAIN",
          "VETO"
        ]
      },
      "Exec": {
        "type": "string",
        "enum": [
          "EXEC_UNSPECIFIED",
          "EXEC_TRY"
        ]
      },
      "FormattedTxDto": {
        "required": [
          "replacementData",
          "txBody"
        ],
        "type": "object",
        "properties": {
          "txBody": {
            "$ref": "#/components/schemas/TxBodyDto"
          },
          "replacementData": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonNode"
            }
          },
          "feeGranterAddress": {
            "type": "string"
          }
        }
      },
      "JsonNode": {
        "type": "object"
      },
      "TxBodyDto": {
        "required": [
          "base64Messages",
          "json",
          "readableMessages"
        ],
        "type": "object",
        "properties": {
          "json": {
            "$ref": "#/components/schemas/JsonNode"
          },
          "base64Messages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "readableMessages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JsonNode"
            }
          },
          "feeGranter": {
            "type": "string"
          }
        }
      },
      "GroupManagerPageResponse": {
        "required": [
          "offset",
          "totalResults"
        ],
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "format": "int64"
          },
          "limit": {
            "type": "integer",
            "format": "int64"
          },
          "pageRequest": {
            "$ref": "#/components/schemas/PageRequest"
          },
          "totalResults": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "GroupManagerPaginatedResponseGroupProposalDtoV2": {
        "required": [
          "pageResponse",
          "results"
        ],
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupProposalDtoV2"
            }
          },
          "pageResponse": {
            "$ref": "#/components/schemas/GroupManagerPageResponse"
          }
        }
      },
      "GroupModuleMetadataV2ProposalMetadata": {
        "required": [
          "raw"
        ],
        "type": "object",
        "properties": {
          "raw": {
            "type": "string"
          },
          "json": {
            "$ref": "#/components/schemas/JsonNode"
          },
          "figure": {
            "$ref": "#/components/schemas/ProposalMetadata"
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "GroupModuleMetadataV2VoteMetadata": {
        "required": [
          "raw"
        ],
        "type": "object",
        "properties": {
          "raw": {
            "type": "string"
          },
          "json": {
            "$ref": "#/components/schemas/JsonNode"
          },
          "figure": {
            "$ref": "#/components/schemas/VoteMetadata"
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "GroupProposalDtoV2": {
        "required": [
          "executorResult",
          "groupId",
          "groupPolicyAddress",
          "groupPolicyVersion",
          "groupVersion",
          "id",
          "messages",
          "metadata",
          "proposers",
          "pruned",
          "status",
          "submitTime",
          "tally",
          "votes",
          "votingPeriodEnd"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "groupId": {
            "type": "integer",
            "format": "int64"
          },
          "groupPolicyAddress": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/GroupModuleMetadataV2ProposalMetadata"
          },
          "proposers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "submitTime": {
            "type": "string",
            "format": "date-time"
          },
          "groupVersion": {
            "type": "integer",
            "format": "int64"
          },
          "groupPolicyVersion": {
            "type": "integer",
            "format": "int64"
          },
          "status": {
            "type": "string"
          },
          "tally": {
            "$ref": "#/components/schemas/TallyResultDto"
          },
          "votingPeriodEnd": {
            "type": "string",
            "format": "date-time"
          },
          "executorResult": {
            "type": "string"
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProvenanceMsgDto"
            }
          },
          "votes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupVoteDtoV2"
            }
          },
          "pruned": {
            "type": "boolean"
          },
          "title": {
            "type": "string"
          }
        }
      },
      "GroupVoteDtoV2": {
        "required": [
          "metadata",
          "noLongerInGroup",
          "option",
          "proposalId",
          "submitTime",
          "voter",
          "weight"
        ],
        "type": "object",
        "properties": {
          "proposalId": {
            "type": "integer",
            "format": "int64"
          },
          "voter": {
            "type": "string"
          },
          "option": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/GroupModuleMetadataV2VoteMetadata"
          },
          "submitTime": {
            "type": "string",
            "format": "date-time"
          },
          "weight": {
            "type": "number"
          },
          "noLongerInGroup": {
            "type": "boolean"
          }
        }
      },
      "PageRequest": {
        "required": [
          "limit",
          "offset"
        ],
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "format": "int64"
          },
          "limit": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ProposalMetadata": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "authors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "summary": {
            "type": "string"
          },
          "details": {
            "type": "string"
          },
          "proposalForumUrl": {
            "type": "string"
          },
          "voteOptionContext": {
            "type": "string"
          }
        }
      },
      "ProvenanceMsgDto": {
        "required": [
          "content",
          "rawBytes",
          "typeUrl"
        ],
        "type": "object",
        "properties": {
          "typeUrl": {
            "type": "string"
          },
          "content": {
            "$ref": "#/components/schemas/JsonNode"
          },
          "rawBytes": {
            "type": "string",
            "format": "byte"
          }
        }
      },
      "TallyResultDto": {
        "required": [
          "abstainCount",
          "noCount",
          "noWithVetoCount",
          "yesCount"
        ],
        "type": "object",
        "properties": {
          "yesCount": {
            "type": "number"
          },
          "abstainCount": {
            "type": "number"
          },
          "noCount": {
            "type": "number"
          },
          "noWithVetoCount": {
            "type": "number"
          }
        }
      },
      "VoteMetadata": {
        "type": "object",
        "properties": {
          "justification": {
            "type": "string"
          }
        }
      },
      "Address": {
        "required": [
          "city",
          "country",
          "createdAt",
          "postalCode",
          "stateOrProvince",
          "street1",
          "updatedAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "street1": {
            "type": "string"
          },
          "street2": {
            "type": "string"
          },
          "street3": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "stateOrProvince": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "FiatPaginatedResultWireAccount": {
        "required": [
          "count",
          "data",
          "limit"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WireAccount"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "nextOffset": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "WireAccount": {
        "required": [
          "accountNumberMask",
          "active",
          "bankName",
          "beneficiaryName",
          "createdAt",
          "id",
          "routingNumber",
          "updatedAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "identityId": {
            "type": "string",
            "format": "uuid"
          },
          "active": {
            "type": "boolean"
          },
          "bankName": {
            "type": "string"
          },
          "bankAddress": {
            "$ref": "#/components/schemas/Address"
          },
          "beneficiaryName": {
            "type": "string"
          },
          "beneficiaryAddress": {
            "$ref": "#/components/schemas/Address"
          },
          "accountNumberMask": {
            "type": "string"
          },
          "routingNumber": {
            "type": "string"
          },
          "transferInstructions": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Balance": {
        "required": [
          "denom",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "denom": {
            "type": "string"
          },
          "quantity": {
            "type": "string"
          }
        },
        "description": "Balance of an asset"
      },
      "CashEquivalentPosition": {
        "required": [
          "balance",
          "denom",
          "quantity",
          "tradingPower"
        ],
        "type": "object",
        "properties": {
          "denom": {
            "type": "string"
          },
          "quantity": {
            "type": "string",
            "deprecated": true
          },
          "balance": {
            "type": "string"
          },
          "tradingPower": {
            "type": "string"
          },
          "loanBalance": {
            "type": "string"
          }
        }
      },
      "MarketPosition": {
        "required": [
          "averageClose",
          "averageOpen",
          "balance",
          "denom",
          "exchangePrice",
          "lastTradedPrice",
          "marketDisplayName",
          "marketId",
          "quantity",
          "quoteBalance",
          "quoteDenom",
          "quoteQuantity",
          "quoteTradingPower",
          "symbol",
          "tradingPower",
          "unrealizedPL",
          "value"
        ],
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "deprecated": true
          },
          "marketDisplayName": {
            "type": "string"
          },
          "marketId": {
            "type": "string"
          },
          "denom": {
            "type": "string"
          },
          "quoteDenom": {
            "type": "string"
          },
          "quantity": {
            "type": "string",
            "description": "The denom trading power",
            "deprecated": true
          },
          "tradingPower": {
            "type": "string",
            "description": "The denom trading power"
          },
          "balance": {
            "type": "string",
            "description": "The denom balance"
          },
          "quoteQuantity": {
            "type": "string",
            "description": "The quote denom trading power",
            "deprecated": true
          },
          "quoteTradingPower": {
            "type": "string",
            "description": "The quote denom trading power"
          },
          "quoteBalance": {
            "type": "string",
            "description": "The quote denom balance"
          },
          "lastTradedPrice": {
            "type": "string"
          },
          "midMarketPrice": {
            "type": "string"
          },
          "averageOpen": {
            "type": "string",
            "description": "The average price of all purchased shares"
          },
          "averageClose": {
            "type": "string",
            "description": "The average price of all sold shares"
          },
          "unrealizedPL": {
            "type": "string",
            "description": "Positive for profit, negative for loss"
          },
          "value": {
            "type": "number",
            "description": "Value of the market position based on mid market price"
          },
          "exchangePrice": {
            "type": "string",
            "description": "Price used to value the asset"
          }
        }
      },
      "MarketPositionsResponse": {
        "title": "Portfolio balances",
        "required": [
          "assetBalance",
          "assetPositions",
          "cashEquivalentBalance",
          "cashEquivalentPositions",
          "cryptoBackedLoanValue",
          "marketPositions",
          "totalAssetValue",
          "totalPortfolioBalance",
          "totalPortfolioValue",
          "uncommittedAssets",
          "uncommittedCashEquivalents"
        ],
        "type": "object",
        "properties": {
          "totalPortfolioBalance": {
            "type": "string",
            "description": "The sum of market holdings * exchange price, less outstanding loans",
            "deprecated": true
          },
          "totalPortfolioValue": {
            "type": "string",
            "description": "The sum of market holdings * exchange price, less outstanding loans"
          },
          "cashEquivalentBalance": {
            "type": "string",
            "description": "The sum of stablecoin holdings"
          },
          "assetBalance": {
            "type": "string",
            "description": "The sum of asset holdings * exchange price",
            "deprecated": true
          },
          "totalAssetValue": {
            "type": "string",
            "description": "The sum of asset holdings * exchange price"
          },
          "marketPositions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MarketPosition"
            }
          },
          "cashEquivalentPositions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CashEquivalentPosition"
            }
          },
          "uncommittedAssets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Balance"
            }
          },
          "uncommittedCashEquivalents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CashEquivalentPosition"
            }
          },
          "assetPositions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CashEquivalentPosition"
            }
          },
          "totalLoanValue": {
            "type": "string"
          },
          "loanBalances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoanBalanceResponse"
            }
          },
          "totalOfferValue": {
            "type": "string"
          },
          "offerBalances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OfferBalanceResponse"
            }
          },
          "ltv": {
            "type": "number"
          },
          "cryptoBackedLoanValue": {
            "type": "number"
          },
          "cryptoBackedLoanBalances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoBackedLoanBalanceResponse"
            }
          }
        }
      },
      "OfferBalanceResponse": {
        "required": [
          "amt",
          "asset",
          "interestAmt",
          "leveragePoolId",
          "offerId",
          "rate",
          "totalAmt",
          "totalValue"
        ],
        "type": "object",
        "properties": {
          "leveragePoolId": {
            "type": "string",
            "format": "uuid"
          },
          "offerId": {
            "type": "string",
            "format": "uuid"
          },
          "amt": {
            "type": "number"
          },
          "interestAmt": {
            "type": "number"
          },
          "totalAmt": {
            "type": "number"
          },
          "asset": {
            "type": "string"
          },
          "rate": {
            "type": "number"
          },
          "totalValue": {
            "type": "number"
          }
        }
      },
      "LoanBalanceResponseV2": {
        "required": [
          "asset",
          "balance",
          "currentPeriodFeeRate",
          "currentPeriodLenderRate",
          "currentPeriodRate",
          "leveragePoolId",
          "rateRange"
        ],
        "type": "object",
        "properties": {
          "leveragePoolId": {
            "type": "string",
            "format": "uuid"
          },
          "balance": {
            "type": "number"
          },
          "asset": {
            "type": "string"
          },
          "rateRange": {
            "$ref": "#/components/schemas/LoanRateRangeResponse"
          },
          "currentPeriodRate": {
            "type": "number",
            "description": "the current APR"
          },
          "currentPeriodFeeRate": {
            "type": "number",
            "description": "the annualized fee rate"
          },
          "currentPeriodLenderRate": {
            "type": "number",
            "description": "the annualized lender rate"
          }
        }
      },
      "PartnerPortfolioBalanceResponse": {
        "required": [
          "accountAddress",
          "assets",
          "cryptoBackedLoans",
          "loans",
          "offers",
          "scLending",
          "totalValue"
        ],
        "type": "object",
        "properties": {
          "accountAddress": {
            "type": "string"
          },
          "totalValue": {
            "title": "Total portfolio value at current pricing",
            "type": "number"
          },
          "assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssetBalanceResponse"
            }
          },
          "loans": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoanBalanceResponseV2"
            }
          },
          "offers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OfferBalanceResponseV2"
            }
          },
          "scLending": {
            "type": "array",
            "description": "On-chain smart-contract (repo) lent balances by pool; separate from lending offers.",
            "items": {
              "$ref": "#/components/schemas/SmartContractLendingBalanceResponse"
            }
          },
          "cryptoBackedLoans": {
            "title": "Crypto Backed Loans",
            "type": "array",
            "description": "Return all crypto backed loans for the account. Note that this does not include unfunded applications.",
            "items": {
              "$ref": "#/components/schemas/CryptoBackedLoanBalanceResponse"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "PartnerAuth": {
        "type": "apiKey",
        "description": "Partner authentication",
        "name": "apikey",
        "in": "header"
      }
    }
  }
}