# Bond Token (BT)

## Overview

BT represents a fixed-rate claim on the underlying asset. Each BT is redeemable for 1 unit of underlying at maturity. Before maturity, BT trades at a discount in the AMM — the discount reflects the implied fixed rate.

{% hint style="info" %}
BT and CT are always minted and burned in pairs. You cannot create BT without also creating CT, and vice versa. This ensures the total claims always match the underlying FW.
{% endhint %}

## How it works

### Minting

BT is created through the CouponToken's `mintBC` function. FW is deposited into the CT contract, and equal amounts of BT and CT are minted based on the current BC Index. The conversion rate ensures that `BT amount + CT amount` always equals the underlying value of the FW deposited.

### Redemption

**Pre-expiry:** Both BT and CT must be provided. They are burned together and FW is returned.

**Post-expiry:** Only BT is required. The CT is not burned (it has zero economic value post-expiry). FW is returned at the current BC Index rate, with any post-expiry yield accrual going to the protocol treasury.

### Trading

BT trades against FW in the Fira Market AMM. As expiry approaches, the BT/FW exchange rate converges toward 1:1 (at the BC Index rate), since BT becomes redeemable for full underlying value at maturity.

## Key features

* **Fixed-rate principal** — Predictable value at maturity
* **Strict access control** — Only the paired CouponToken and the LiquidityInjector can mint or burn BT
* **Used as loan token** — In fixed-rate lending markets, borrowers receive BT which is swapped to USDC via the router
* **Immutable references** — FW address, factory, and expiry are set at creation and cannot be changed

## Related contracts

* [`BondToken.sol`](https://docs.fira.money/developers/protocol-contracts/yield-contracts/bond-token) — Contract details
* [`CouponToken.sol`](https://docs.fira.money/developers/protocol-contracts/yield-contracts/coupon-token) — Paired CT contract
* [`YieldContractFactory.sol`](https://docs.fira.money/developers/protocol-contracts/yield-contracts/yield-contract-factory) — Factory that deploys BT/CT pairs
