# `CCXT.BorrowRate`
[🔗](https://github.com/ZenHive/ccxt_client/blob/main/lib/ccxt/borrow_rate.ex#L1)

Unified borrow rate data.

Represents a margin borrow rate, covering both cross-margin and
isolated-margin rates in a single struct. For cross rates, `symbol`
is nil and only `currency`/`rate` are populated. For isolated rates,
`symbol`, `base`, `quote`, and per-side rates are populated.

## Fields

  * `symbol` - Unified symbol (nil for cross-margin rates)
  * `currency` - Currency code
  * `rate` - Borrow rate as decimal
  * `base` - Base currency (isolated margin only)
  * `base_rate` - Base currency borrow rate (isolated margin only)
  * `quote` - Quote currency (isolated margin only)
  * `quote_rate` - Quote currency borrow rate (isolated margin only)
  * `period` - Rate period in milliseconds
  * `timestamp` - Data timestamp in milliseconds
  * `datetime` - ISO 8601 datetime string
  * `info` - Raw exchange response

# `t`

```elixir
@type t() :: %CCXT.BorrowRate{
  base: String.t() | nil,
  base_rate: number() | nil,
  currency: String.t() | nil,
  datetime: String.t() | nil,
  info: map() | nil,
  period: integer() | nil,
  quote: String.t() | nil,
  quote_rate: number() | nil,
  rate: number() | nil,
  symbol: String.t() | nil,
  timestamp: integer() | nil
}
```

# `schema`

```elixir
@spec schema() :: map()
```

JSON Schema for the BorrowRate unified type.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
