# Protocol Overview

Bond Protocol launched on October 3rd, 2022 with a mission to empower sustainable treasury growth for crypto projects. Currently, our product suite consists of two flagship products — [Permissionless Bonds](https://docs.bondprotocol.finance/products/permissionless-bond-marketplace) (live on Ethereum, Arbitrum, and Optimism) and [Options Liquidity Mining](https://docs.bondprotocol.finance/products/options-liquidity-mining) (live on Ethereum and Arbitrum)**.**

There are two primary inefficiencies within the crypto industry that we are solving:

* Projects that aim to diversify their treasury, acquire new assets, and extend their runway have limited options and are forced to operate on open markets. This is troublesome due to slippage and price impact, especially when selling native token(s).&#x20;
* Projects set aside a large portion of their token supply to incentivize participation. Traditional distribution mechanisms lead to significant sell pressure, incentive misalignment, and treasury stagnation.


# Our Mission and Approach

At Bond Protocol, our mission is to equip projects with the essential tools for achieving sustainable treasury growth. In recent years, DAOs have struggled to survive due to inadequate treasury management and a lack of proper tools. We're committed to rewriting this narrative by providing practical solutions that address the complexities of treasury and token emission management.

#### Our Approach&#x20;

Our approach centers around creating permissionless products that eliminate onboarding barriers for projects of all sizes and levels of experience. We believe that access to powerful tools should be accessible to all, not a privilege for a select few. This philosophy is ingrained in every aspect of Bond Protocol — from our go-to-market resources, to our user-friendly dApp, and to our readily available smart contracts.

#### Get Started

Whether you are a seasoned project or a newcomer to the space, we invite you take the first step towards financial stability. Continue exploring our documentation or reach out to us through our [request form](https://gkk12lnayco.typeform.com/to/VVyP9rqt).&#x20;


# General FAQ

**What is Bond Protocol?**

Bond Protocol is a suite of products to support sustainable treasury growth for crypto projects. It consists of a permissionless bond marketplace and options system.

#### Where is Bond Protocol deployed?

* **Permissionless Bond Marketplace**: Ethereum, Arbitrum, and Optimism
* **Options Liquidity Mining**: Ethereum and Arbitrum

#### **How does Bond Protocol solve industry inefficiencies?**

The platform offers tools that empower projects to manage their treasuries and incentivize participants efficiently. Bond Protocol addresses two primary inefficiencies in the crypto industry: limited options for treasury diversification and high sell pressure from token distribution mechanisms.

#### **What is the mission of Bond Protocol?**

The mission of Bond Protocol is to revolutionize the crypto industry by offering tools that empower projects to overcome treasury management challenges. By providing solutions for diversified treasury, asset acquisition, and emissions management, Bond Protocol aims to change how projects operate.

#### **How do Bonds work?**

Bonds allow protocols to issue vested tokens to acquire assets quickly. Bonders exchange a quote asset for a vested payout asset at a specified discount and future date. The bond market parameters can be configured according to the issuer’s needs to maximize versatility for asset acquisition.

#### **Who can use Bonds?**

Bond markets are fully permissionless and can be deployed by anyone, including individuals, DAOs, protocols, VCs, and funds. They are open to any user interested in exchanging a market’s quote asset for the vested payout asset.

#### **What are the benefits of using Bonds?**&#x20;

Bonds provide a streamlined approach to acquiring assets for projects at any stage of maturity. They are suitable for diversification, liquidity ownership, emissions management, acquiring strategic assets, and fueling growth initiatives.

#### **How are Bonds deployed?**&#x20;

Bonds require minimal technical overhead and can be deployed in minutes using the permissionless dApp provided by Bond Protocol. External sources such as DeFiLlama and IQ.wiki are used to display protocol and token details automatically.

#### **What is POL and how is it acquired?**&#x20;

Protocol Owned Liquidity (POL) ensures liquidity during market conditions and transforms liquidity into a sustainable revenue source. POL can be acquired using both Bonds and Options Liquidity Mining. POL contributes to a project's growth and revenue by accruing LP fees with every swap transaction.

#### **How do Bonds support treasury diversification?**&#x20;

Bonds allow protocols to introduce their native token as the payout token and acquire quote tokens without affecting their treasury stability. This approach mitigates risk, enhances stability, and provides agility in managing funds.

#### **What are the vesting types for Bonds?**

Issuers can choose between Fixed-Term Bonds, where tokens are claimable after a chosen duration, and Fixed-Expiry Bonds, which vest at a predetermined date. These options cater to different project needs and token dynamics.

#### **How do Bonds operate in terms of pricing?**

Bonds can be auctioned through Sequential Dutch Auctions (SDA) or Fixed-Price Auctions. SDA operates with regulated pricing and discount speed, while Fixed-Price Auctions allow issuers to set a fixed price for tokens.

#### **What is Options Liquidity Mining (OLM)?**

Options Liquidity Mining is a product that allows projects to mint ERC-20 call options (oTokens) as incentives. These options are used for various purposes and parameters like quote asset, payout asset, strike price, epoch length, and eligibility window can be configured.

#### **How does OLM differ from traditional liquidity incentives?**&#x20;

OLM offers more control and flexibility in designing incentive programs compared to traditional incentives. oTokens can be exercised within specific dates and at fixed strike prices, providing projects with efficient asset acquisition methods and recipients with a novel way to engage.

#### **What is the benefit of using oTokens for incentives?**&#x20;

oTokens acquired through OLM provide a cost-effective approach for token emissions. Instead of distributing incentives without receiving anything in return, issuers can acquire assets when oTokens are exercised, channeling value back to the treasury.

#### **How does OLM contribute to treasury management?**

Issuers can diversify their treasuries by acquiring various assets like stablecoins, ETH, LP tokens, or strategic assets. This approach enhances financial stability and offers flexible treasury composition management.

#### **What is the eligibility window for oTokens?**&#x20;

oTokens have a defined eligibility window during which they can be exercised. This period provides recipients with the context of when their opportunity to exercise will be available and when it will expire, ensuring informed decision-making.

#### **Can OLM be used for long-term and short-term strategies?**&#x20;

Yes, OLM supports both long-term and short-term strategies. Depending on the chosen quote asset and strategy, issuers can configure oTokens for various epochs and strike prices, catering to different project objectives.

#### **How are oTokens exercised?**&#x20;

Recipients of oTokens can exercise them within the eligible and expiry dates at a fixed strike price. Exercising results in obtaining the upside payout (option price minus strike price), while the issuer recoups the quote asset strike price required for exercise.

#### **What happens to expired or unexercised oTokens?**

For expired or unexercised options, the issuer can reclaim the payout collateral initially provided to mint the oTokens. This prevents the need for the issuer to pay out liquid incentive tokens and shares the upside between the issuer and exercising purchasers.

#### **What is the purpose of different quote tokens for OLM?**&#x20;

Quote tokens in OLM vary in breadth and depth, offering a range of options for issuers. Base assets like stablecoins provide simplicity and stability, while community assets like LP tokens strengthen protocol growth. Strategic and niche assets are more advanced and tailored to specific project needs.

#### **How is oToken pricing determined in OLM?**&#x20;

oToken pricing depends on the chosen quote asset and its characteristics. For stablecoin quote assets, pricing behaves like a normal option. For volatile quote assets like ETH, the fluctuating values of both payout and quote tokens impact the effective strike price.

#### **What's the significance of different epoch lengths in OLM?**

Epoch lengths impact the activity level of oToken recipients. Shorter epochs are suitable for active recipients, offering rapid experimentation, while longer epochs are more passive.

#### **How is oToken eligibility customized in OLM?**

oToken eligibility is customizable in OLM. American-style options provide instant eligibility, while European-style options become eligible only on the expiration date. Protocols can adjust the eligibility window to align with their objectives and LP needs.

#### **Can oTokens be traded across epochs?**&#x20;

No, oTokens issued within an epoch are fungible (ERC-20) within that epoch but not across epochs. This approach encourages oToken recipients to exercise their options rather than trade them.

#### **How does OLM integrate with project objectives?**&#x20;

OLM can be directed to replace common emissions sources like liquidity mining, bribes, asset management, and more. By utilizing oTokens, protocols align incentives with project goals, enhancing efficiency and value circulation within the ecosystem.


# Permissionless Bonds

#### **The Basics**

Bonds are a mechanism that enables protocols to issue vested tokens to quickly acquire assets. Within the market, bonders exchange one asset (i.e. quote token) in exchange for another vested asset (i.e. payout asset) at a specified discount. Bond market parameters such as vesting type, duration, capacity, and auction type can all be [<mark style="color:orange;">configured</mark>](https://medium.com/@Bond_Protocol/configuring-bond-market-deployment-2-3-335aaac08e47) according to the issuer’s needs — maximizing versatility for asset acquisition.

Bond markets are[ <mark style="color:orange;">fully permissionless</mark>](https://medium.com/@Bond_Protocol/introducing-permissionless-bond-market-deployment-b6cfbcd13fad) and can be deployed by anyone, including individuals, DAOs, protocols, VCs, and funds. In addition, bond markets are not gated and are open to any user who wants to exchange a market’s desired quote asset for the vested payout asset in return.

Payout tokens are offered at a discounted rate to incentivize users to operate within bond markets rather than on the open market. They also have a vesting period to prevent users from selling the discounted tokens at once for a quick profit. These mechanisms align incentives between Issuers and Bonders.

<figure><img src="/files/Gzs8WrlPUadCa44Yw6zq" alt=""><figcaption><p>Bond Market Participants</p></figcaption></figure>


# Issuers

Bonds are designed to provide issuers with a streamlined and effective approach to acquiring assets, whether on a gradual/continuous basis or in a more aggressive/one-time manner. Because of this, bonds are suitable for projects at any stage of maturity and are integrated into treasury management strategies to help facilitate diversification, liquidity ownership, and emissions management.

Bond market deployment requires the least technical overhead out of our product suite and can be completed in minutes. The process is entirely self-serve through our [<mark style="color:orange;">permissionless dApp</mark>](https://app.bondprotocol.finance/#/create), which leverages trusted external sources such as DeFiLlama and IQ.wiki to automatically display protocol and token details.&#x20;

If your objective requires straightforward asset acquisition and modifying treasury composition, bonds are the optimal choice within our product suite.

<figure><img src="/files/ibsh551nljJEkiCi1QD3" alt=""><figcaption></figcaption></figure>


# Use Cases and Benefits

#### **Acquiring Protocol Owned Liquidity (POL)**

Acquiring POL offers a protocol vital advantages in ensuring liquidity during both stable and volatile market conditions. POL serves as a guarantee to users that adequate liquidity will be available and prevent shortages in times of market distress. Additionally, it transforms liquidity from a liability into a sustainable revenue source. With every swap transaction contributing a fee to LPs (0.3% for Uniswap and 0.25% for Sushiswap), the lockup of liquidity within the treasury creates a revenue stream for the protocol.

#### **Diversifying Treasuries and Extending Runway**

Incorporating bonds into treasury diversification strategies enables protocols to introduce their native token as the payout token. This approach allows projects to acquire quote tokens, such as stablecoins and ETH, without destabilizing their treasury through open-market trades. Diversifying the treasury in this manner offers risk mitigation, stability during market fluctuations, and agility in managing project funds, all of which are critical benefits for any project regardless of size.

#### **Acquiring Strategic Assets**

As projects mature, the need to secure strategic assets (e.g. CVX or CRV) to accelerate growth often arises. Bond issuance provides a more effective method of acquiring vital tokens that contribute to the project's ecosystem. Alternative methods that have been used to acquire strategic assets include treasury swaps, OTC trades, or operating on the open market — all of which can be difficult to facilitate, require extensive strategy, or are simply not ideal.&#x20;

#### **Funding Growth Initiatives**

By designating the native token as the payout asset, projects can attract bonders who are long-term aligned. The quote assets acquired through the bond market can fuel expansion, development, marketing efforts, and other growth-focused activities. This synergy generates value that circulates back to the stakeholders, establishing a healthy growth cycle.

#### **Bootstrapping Cross-Chain Initiatives**

Beyond addressing technical challenges, most protocols require sufficient liquidity for their native tokens when expanding to new Layer 1s and Layer 2s. Bonds can facilitate the acquisition of required base assets for liquidity provision or the LP tokens themselves (POL).&#x20;


# Previous Issuers

For full case studies on the issuers below, view our [Community Resources](https://docs.bondprotocol.finance/references/community-resources).

* **Pendle**: Acquired ETH through bonds to establish liquidity on Arbitrum
* **Threshold Network**: Deployed bonds in a multi-phase approach to deepen liquidity for tBTC and acquire protocol-owned liquidity on key Curve pools
* **Redacted**: Acquired USDC through bonds to extend runway
* **GMX**: Acquired DAI through bonds to fund growth initiatives
* **Y2K Finance**: Acquired USDC to fund growth initiatives
* **ShapeShift**: Acquired stablecoins to extend runway and fund operations
* **JPEG’d:** Acquired CVX through bonds to bolster yield on their liquidity pools and increase protocol usage, establishing a revenue flywheel
* **Ethos Reserve/ByteMasons**: Deployed a bond market to increase ERN (their stable asset) and OATH (their governance/revenue capturing token) liquidity and provide a low-friction path for new ecosystem entrants
* **Lodestar Finance**: Acquired USDC through bonds to fund their security audit
* **Dex Finance**: Utilized bonds to acquire a diverse range of assets to support multiple use cases
* **Metavault DAO**: Acquired USDC through bonds to fund the development of their upcoming product and generate yield via their [new tokenomics model](https://twitter.com/MetavaultDAO/status/1654182302312693761?s=20)
* **IQ.Wiki**: Acquired ETH through bonds to diversify the treasury


# Vesting Type and Duration

### **Vesting Type and Duration Selection**

Issuers can choose between two distinct vesting types to tailor their bond programs:

#### **Fixed-Term (Instant, 7d, 14d, 28d, Custom Length)**

With Fixed-Term Bonds, bonders are provided an ERC1155 token representing their position and the underlying token is claimable after the chosen duration. Essentially, fixed-term bonds spread emissions across time. If a specific or longer period is required, issuers can opt for "Custom" and then set the desired duration up to a maximum of 270 days within the UI.&#x20;

#### **Fixed-Expiry (Custom Date)**

Fixed-Expiry Bonds vest at a predetermined date or timestamp, granting bonders an ERC20 token to represent their position. Fixed-expiry bonds operate similar to cliff-style vesting. When using the Bond Protocol frontend, fixed-expiry bonds must have a minimum of 3 days vesting and a maximum of 270 days vesting.

### **Short-Term vs Long-Term**

#### **Short-term bonds** span less than a month (7 days, 14 days, or 28 days)

* Ideal for swift asset acquisition, often at a relatively smaller discount compared to long-term bonds.
* Offers bonders their vested payout asset within a shorter time frame.
* Well-suited for projects with active liquidity mining programs, allowing a quick exit for LPs due to shorter vesting periods.
* Effective in managing emissions by gradually distributing rewards to the bond program, preventing abrupt liquidity declines.

#### **Long-term bonds** extend beyond two months (3 months, 6 months, or 9 months)

* Defers vesting to extended horizons, potentially demanding higher initial discounts compared to short-term bonds.
* Appeals to long-term aligned token holders and community members, providing an opportunity to acquire governance tokens at discounted rates.
* Ideal for treasury diversification, delivering stable assets upfront for operational expenses or growth initiatives.
* Requires more consideration regarding future token claims and potential higher initial discounts.


# Auction Type

For more technical information on auction types, view our [developer docs](https://dev.bondprotocol.finance/).

#### **Sequential Dutch Auctions (Displayed as&#x20;*****Dynamic*****&#x20;on UI)**

Sequential Dutch Auctions (SDA), recommended for short-term bonds, operate using a Sequential Dutch Auction mechanism. This approach enables controlled issuance over time with regulated pricing and discount speed, offering adaptability and insight into demand.

Issuers establish the initial price that sets the bond market's starting exchange rate. The auction begins with a high starting price and progressively decays until a bid is received. This initial bid marks the "winning" bid, resulting in the sale of the bond.

Following each successful sale, the auction restarts with a new starting price set higher than the previous winning bid price. This new starting price then decays linearly until another bid is placed. This iterative process continues, dynamically adjusting the auction's starting point and price decay based on the supply and demand.&#x20;

A minimum price is selected as an absolute hard floor, ideally with at least a 30% discount to the initial price to prevent auction stagnation.

#### **Fixed-Price Auction (Displayed as&#x20;*****Static*****&#x20;on UI)**&#x20;

Fixed-Price Auctions enable issuers to set a fixed price that bonders must pay to obtain payout tokens. This is best suited for trial runs with limited quantities of vested tokens and makes assessing demand for different vesting lengths easier. Because of this, it is similar to a limit order in an order book exchange. Unlike the SDA auction variants, it will not adjust the price to sell out the capacity over the duration.

### Oracle-based Auctions

Oracle-based auctions allow issuers to create bond markets that use external price feeds to stay in line with market prices. The two variants include:&#x20;

<figure><img src="/files/4oPB41iMWbkBeK27JUKf" alt=""><figcaption></figcaption></figure>

#### **Oracle Sequential Dutch Auctions (OSDA)**

Simplifies the SDA pricing approach by gradually selling out the market's capacity over the chosen duration. It achieves this by employing a linear price reduction based on the percent difference between expected and actual capacity (relative to the initial capacity) at each moment during the auction.

<figure><img src="/files/h0jJUwMUxrtBPUSR8hXZ" alt=""><figcaption></figcaption></figure>

**Oracle Fixed Discount Auctions (OFDA)**

Allows issuers to sell tokens at a discount to a price provided by an oracle. A minimum total discount from the starting price is set at deployment, which creates a hard floor for the market price.


# Bond Tokenization

Tokenized bond positions provides composability, unlocking opportunities for collateral and increase liquidity

When a bond is purchased, users receive a ERC-20 or ERC-1155 bond token to represent their position:

#### ERC-1155 are tokenized Fixed-Term bond positions &#x20;

* Each position vests for a set amount of time after purchase
* Same-day purchase regardless of time of purchase (based on UTC timestamp) will receive the same token&#x20;

#### ERC-20 are tokenized Fixed-Expiry bond positions

* Fixed maturity (i.e. all purchases will vest at a specific timestamp)
* Longer duration up to 9 months

#### Composability

Tokenized ERC-20 and ERC-1155 positions unlock a variety of use cases on secondary markets:

* **Collateral**: Ability for Lending and Borrowing protocols to whitelist the tokenized bonds as collateral. For bonders, this introduces a new opportunity to access more capital and increases capital efficiency.
* **Liquidity**: Ability to transform a previously illiquid asset into a liquid asset via fractionalization and secondary market composability.


# Limit Orders

On October 23rd, 2023, limit order functionalities were introduced for all bond markets. However, this feature is only available for markets that have chosen one of the following quote assets:

| Asset | Asset  | Asset |
| ----- | ------ | ----- |
| USDC  | WETH   | OHM   |
| DAI   | WBTC   | tBTC  |
| USDT  | wstETH | CRV   |
| FRAX  | frxETH | CVX   |
| LUSD  | rETH   | AURA  |
| DOLA  | cbETH  | BAL   |

Limit orders allow bonders to pre-set a bond transaction with a specific price and expiry. When conditions are met, the transaction executes. This feature enhances the bonder experience, boosts competition, and improves order visibility within issuer markets.

They also help issuers gauge demand as orders can be placed after a market is scheduled, but before it starts.

### System Architecture

Limit orders employ a hybrid on-chain and off-chain system that provides several key benefits to users. Off-chain services store approved limit orders, monitor market data, and execute orders for bonders, which enables gasless purchases, protection against MEV, and free order cancellations. Additionally, the system uses [Sign-In with Ethereum](https://docs.login.xyz/general-information/siwe-overview) to review your off-chain limit orders so they can’t be seen by other market participants. For more information, view our [developer documentation](https://dev.bondprotocol.finance/smart-contracts/bond-system/limit-orders).

### Issuer FAQ

**Is there a specific configuration needed during market deployment to activate limit orders?**

No. Limit orders are automatically available as long as the chosen quote asset is within the list provided above.

**Why are limit orders only available for markets with specific quote assets?**

Limit orders are limited to markets with specific quote assets because the chosen quote token is used to cover the gas costs associated with transactions.


# Deploy a Bond Market

Before reading any further, we recommend reading our [three-part guide](https://twitter.com/Bond_Protocol/status/1671195666507530241?s=20) that covers preparing, configuring, and monitoring bond market deployment.

### Step 1: Click on Issue a Bond

This is accessible via the MARKETS and TOKENS tabs located at the footer

<div><figure><img src="/files/r3O9EQzNvWdUdTg8gCSt" alt=""><figcaption><p>Via MARKETS</p></figcaption></figure> <figure><img src="/files/MzclZa6rKW6HBRlBceKV" alt=""><figcaption><p>Via ISSUERS</p></figcaption></figure></div>

#### Step 2: Deploy Market

You should see the below page. If not, click this [link](https://app.bondprotocol.finance/#/create)

<figure><img src="/files/J1tTIoNGUExm0fv4oeuN" alt=""><figcaption></figcaption></figure>


# Set Up Market

Variables to input to create a bond market for Bond Issuers

{% hint style="warning" %}
***Note***:

The dApp integrates DefiLlama for token pricing and CoinGecko for token logos and metadata, encompassing elements like social media links and token descriptions. While you can establish a market using tokens not listed on these sources, please be aware that in such cases the dApp might be unable to compute USD prices, discount percentages, and related metrics. Under these circumstances, our UI will display pricing as ratios between the tokens. Users will need to independently determine the value proposition.

It's also important to note that DefiLlama relies on CoinGecko for token pricing, which means tokens that have a CoinGecko price feed should work seamlessly. DefiLlama also offers pricing support for various token types, including Uniswap and Curve LP tokens.

If you're using an LP token that is not currently supported, please see the [DefiLlama docs](https://docs.llama.fi/coin-prices-api) for information on how to add support.
{% endhint %}

<figure><img src="/files/ehS05KsVn6qbbijPqRCi" alt=""><figcaption></figcaption></figure>

* **Payout Token**: This is the token you will pay out to bonders. Select the appropriate chain icon, and either select a token from our list or paste a token address in to the box.
* **Vesting**: The amount of time to lapse before bonders can claim the underlying bond token.&#x20;

  > * Instant, 7, 14 and 28 days are Fixed Term bonds that provide purchasers and ERC1155 bond token to represent their position
  > * Custom allows one to customize the vesting period, as described below.

<figure><img src="/files/b0RF1zrR7rTTZjCBgJly" alt=""><figcaption></figcaption></figure>

* **Custom vesting**

  > * Length: input the number of days to vest and this will provide purchasers an ERC1155 tokenized bond (a.k.a. Fixed Term bond)
  > * Date: specify the specific date to vest and this will provide purchasers an ERC20 tokenized bond (a.k.a Fixed Expiry bond)

<figure><img src="/files/1YA3WdCyP2y6LIgsUUGf" alt=""><figcaption></figcaption></figure>

* **Quote Token**: The token you will receive. Select the appropriate chain icon, then select a token from our list or paste a token address into the box. [Limit orders](/products/permissionless-bonds/issuers/limit-orders) are only supported for select quote assets.
* **Capacity**: Defines the total amount of tokens you want to emit or acquire. The PAYOUT and QUOTE toggle allows you to define the capacity from the emission vs. acquisition perspective respectively.

  > **Payout**: defines the emission capacity from the Payout Token perspective
  >
  > **Quote**: defines the emission capacity from the Quote Token perspective (calculated based on the exchange rate of Payout Token to Quote Token)
* **Dynamic vs Static**: This refers to the auction type that you would like the bond market to have&#x20;

  > **Dynamic**: Tried and battle-tested Sequential Dutch Auction
  >
  > **Static**: Fixed-Price auction whereby you define a fixed price of the Payout Token in exchange for the Quote Token.
* **Dynamic set-up**

  > **Initial Price**: Initial exchange rate to initialize the bond market
  >
  > **Min Price**: Acts as an absolute floor which the bond price cannot fall below. Recommended at least 30% discount to initial price to avoid the auction from getting stuck.
* **Oracle**: Oracle based markets are currently available on Arbitrum and Optimism. As with our non-Oracle bonds, they can be either Dynamic or Static. All Oracle bonds require an address to an Oracle contract which implements our [IBondOracle](https://github.com/Bond-Protocol/bond-contracts/blob/master/src/interfaces/IBondOracle.sol) interface. Our `issuer-contracts` [repository](https://github.com/Bond-Protocol/issuer-contracts) contains more information, including [sample contracts](https://github.com/Bond-Protocol/issuer-contracts/tree/master/src/oracles).
* **Oracle-Dynamic**

  > **Base Discount**: The base discount percentage from which the market starts and to which it resets after purchases reach target capacity.
  >
  > **Target Interval Discount**: The target discount percentage to be achieved over a deposit interval, in addition to the base discount.
  >
  > **Max Discount From Start**: This acts as an absolute hard floor which the bond price cannot fall below. It is based on the Oracle price at the time of market creation. Recommendation is at least 30% discount to initial price to avoid the auction from getting stuck.
* **Oracle-Static**

  > **Fixed Discount**: The discount percentage from Oracle price the market will offer.
  >
  > **Max Discount From Start**: This acts as an absolute hard floor which the bond price cannot fall below. It is based on the Oracle price at the time of market creation. Recommendation is at least 30% discount to initial price to avoid the auction from getting stuck.
* **Market Start**: To define start date and time of the bond market. This is based on your local time

{% hint style="info" %}
Select 'IMMEDIATE' if you want the bond market to start immediately after deployment. Note that if you select a time for market start, rather than immediate, you must execute the market creation transaction before this time. Otherwise, market creation will fail.
{% endhint %}

* **Market End**: To define the end date and time of the bond market

{% hint style="warning" %}
If the vesting period is set as a specific date, the Market End date needs to be before the Vesting date.
{% endhint %}


# Market Start and End

Defining a market's time window

## Market Start

This allows one to set up the bond market in advance for review and not have the auction initialize.

&#x20;![](/files/VS7vtJaIbsA1nWS20Lob)

* Market Start can only take a value in the future
* Time value displayed is in your local time. The dApp will convert this value into its UTC equivalent time at the contract level.

{% hint style="info" %}
Leave Market Start blank for the bond market to start immediately upon deployment
{% endhint %}

{% hint style="warning" %}
The value cannot be deleted if you change your mind to have the bond market start immediately. You will need to select RESET to re-setup the bond market.
{% endhint %}

* **How to reset**

<figure><img src="/files/qGX0Gw0M50EgMfu5u7dV" alt=""><figcaption></figcaption></figure>

## Market End

<figure><img src="/files/CA5b6xxwDpnQSaOasRGH" alt=""><figcaption></figcaption></figure>

* **Length**: Specify the number of days for the market to conclude

* **Date**: Specify a specific date and time for the market to conclude&#x20;

{% hint style="danger" %}
Market End date needs to end earlier than vesting end date for Fixed Expiry bonds i.e. if you have selected Vesting via Date
{% endhint %}


# Confirm & Deploy

Steps to confirm and deploy bond market

#### Review the parameters of the bond market to be created

* [x] Check Vesting date is greater than Market End date **ONLY IF** Price model is <mark style="color:red;">**DYNAMIC**</mark>**&#x20;and** Vesting Date is a specific date e.g. 2023.04.17 (*you would have selected using Custom > Date > selecting a specific date*)
* [x] Check Estimated Gas is min 100,000 for Ethereum and 200,000 for Arbitrum

<figure><img src="/files/T7tduvetl0toulURsMZI" alt=""><figcaption></figcaption></figure>

#### Set the allowance and sign on your web3 wallet

{% hint style="danger" %}
Recommended allowance is to set it to full market capacity.&#x20;

If you have multiple bond markets, ensure the allowance permissioned is the sum of all bond markets.
{% endhint %}


# Configure for multi-sig

Deploy via multisig wallet

After inputting the bond market variables, select **GET MULTI-SIG CONFIG**&#x20;

<figure><img src="/files/11ULQW4TLL7E5jaRioaH" alt=""><figcaption></figcaption></figure>

A window with transaction details like the example below will appear

<figure><img src="/files/2lCVCbn2HJof6eA2lrZe" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
You will be able to edit `Deposit Interval` and `Debt Buffer` if required by clicking on the values. Please edit only if you know exactly what you are doing
{% endhint %}

{% hint style="danger" %}
If Approve Capacity is not performed i.e. allowance is 0, you will still be able to create and deploy a bond market but no one will be able to purchase
{% endhint %}

{% hint style="info" %}
You can still generate the correct bytecode for Approve Capacity *after* deploy market is done by re-creating bond market and set the same for (i) Payout Token (ii) Capacity & (iii) market type
{% endhint %}


# Approve Capacity

The purpose is to provide permission to the Teller contract to spend the Payout Token from the Issuer address with a defined amount

<figure><img src="/files/0jkYEDGI2JkPqPKm1uhx" alt="" width="317"><figcaption></figcaption></figure>

* **Teller Contract**: this is Teller address for this bond market of which you will designate as the approved Spender
* **Copy Address**: this provides the address of the Payout token
* **Copy Bytecode**: this provides the convenience of automatically setting the Spender's allowance to the bond market capacity in terms of the Payout token &#x20;

### Option A

Use this option if you have multiple bond markets on the same chain using the same Teller as it allows you to approve a cumulative allowance to the Teller contract&#x20;

{% hint style="info" %}
Do not slide the silder to Custom data
{% endhint %}

* Parse in the info from **COPY ADDRESS** (verify that it is the Payout token address) into "**Enter Address or ENS Name**" in the Gnosis Safe transaction builder

<figure><img src="/files/TkO7pX381u0zWbBhItTA" alt="" width="503"><figcaption></figcaption></figure>

* Parse in the Teller contract address in the **spender (address)** field
* For **amount (uint256)** you can set it to the cumulative amount of the existing live bond markets & to-be launched bond market that have the same Payout token (from the same Teller)&#x20;
* Proceed to sign as usual

<figure><img src="/files/nvAi7yl38wzfB0IhZ9lD" alt="" width="490"><figcaption></figcaption></figure>

### Option B

This option automatically recognizes and sets the Teller's spend allowance amount to the capacity of the bond market to be created

{% hint style="info" %}
Under New Transaction, slide the slider to Custom data
{% endhint %}

* Parse in the info from **COPY ADDRESS** (verify that it is the Payout token address) into "**Enter Address or ENS Name**" in the Gnosis Safe transaction builder

<figure><img src="/files/J4beoiVHInkoDIlPbQLl" alt="" width="494"><figcaption></figcaption></figure>

* Input `0` under **GOR value/ Value**
* Copy and paste in the Bytecode into **Data (Hex encoded)**
* Proceed to sign as usual

<figure><img src="/files/U7v9GuLe0TTVjnN3ZsXJ" alt="" width="494"><figcaption></figcaption></figure>


# Deploy Market

<figure><img src="/files/upedjJffv2F2z1waSWKn" alt=""><figcaption></figcaption></figure>

* **AUCTION CONTRACT**: externally opens the contract page in the default block explorer
* **COPY ADDRESS**: copies address of the bond contract (same as auction contract)
* **COPY BYTECODE**: copies the market configuration as bytecode to be used in the transaction builder

Under the transaction builder:

1. Slide to activate **Custom data**
2. Copy and paste in the bond contract address taken from **COPY ADDRESS** from dApp UI
3. Enter `0` under **Value**
4. In the Data **(Hex encoded)** field, copy and paste in the data from **COPY BYTECODE**
5. Proceed to sign the transaction as per normal

<figure><img src="/files/MN6vrCVp0fsRHGawGwqg" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
Remember to simulate and verify it will be on <mark style="color:green;">**Success**</mark> state!
{% endhint %}

<figure><img src="/files/WLN2Cu7BAV5NCdjqNcFP" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/iDDjbBNIRkyV7SfcmvqC" alt=""><figcaption></figcaption></figure>


# Bonders

For bonders, the value proposition is straightforward:

#### **Predictable Returns**

Bonds offer users a fixed payout upon maturity, providing clear expectations of the returns they will receive. This stability contrasts with the potential volatility associated with other DeFi opportunities.

#### **Opportunity for Discounted Assets**

Users can acquire assets at a discount to market price through the purchase of bonds. This opportunity can lead to an attractive entry point for acquiring tokens of projects they believe in.

#### **Participation in Project Growth**

By bonding, individuals actively support projects they consider promising. This engagement not only aligns bonders with the project's success but also fosters further community involvement and governance participation.

#### **Alternative to Liquidity Provision and Reduced Impermanent Loss**

Bonds present an alternative to liquidity provision by enabling bonders to directly exchange their LP tokens with a protocol for discounted tokens, creating a value flywheel between the project and bonder.&#x20;

#### **Flexible Time Horizons**

With several options for short-term and long-term bonds, bonders can match their time horizons and obtain a discount to market price.

#### **Participation in Project Fundraising**

Bonders contribute to project financing by purchasing bonds and providing assets like stablecoins and ETH, supporting the protocol's development, expansion, and growth initiatives.&#x20;


# Navigating the dApp

A list of all available bond markets

* **Bond**: What the bonder will provide in exchange for the Payout Asset, also known as the Quote Asset
* **Bond Price**: Current price of the Payout token via bonding (i.e. via providing Quote token)
* **Discount**: Price difference between Market Price and Bond Price
  * Positive (<mark style="color:green;">green</mark>): It is cheaper to buy the bond vs. buying directly from market
  * Negative (<mark style="color:red;">red</mark>): It is more expensive to buy the bond vs. buying directly from market
* **Max Payout**: Maximum amount of Payout token currently available from this market
* **Vesting**: Time duration for the bond to vest i.e. when one will be able to redeem for the Payout token
* **TBV**: Refers to Total Bond Value which indicates the dollar value of the bond sold
* **Issuer**: Name of the bond issuer

<figure><img src="/files/x9ES1sZa1aUhHHtzc1TV" alt=""><figcaption></figcaption></figure>

### BOND&#x20;

<div align="left"><figure><img src="/files/TZCqWyOGTOgMnnbNs6pt" alt=""><figcaption></figcaption></figure></div>

### BOND PRICE and DISCOUNT

* **Bond price** refers to the price of the payout token that the bonder will be paying
* **Market price** refers to the price of the payout token on the open market
* **Discount** reflects the difference between market price and bond price and is calculated as:

$$
Discount = \[(marketPrice - bondPrice) / marketPrice ] \* 100
$$

{% hint style="info" %}
Note that discounts to market price are highlighted green in the dApp, while "negative discounts" are highlighted in red indicating a premium to market price
{% endhint %}

In the example below, the WETH bond has a negative discount of -12.29%, indicating that it is more expensive to bond than buying from the open market.

* *Discount = \[($203.19 - $228.17) / $203.19] \* 100 = -12.29%* (negative discount = red)

<figure><img src="/files/gH47dQSo0DllwXIeWcMG" alt=""><figcaption></figcaption></figure>

### Max Payout

Reflects the maximum amount of payout token a user can receive from a single purchase at that moment in time

### Vesting

<figure><img src="/files/mUd2wygJoLoQDgVFITkL" alt=""><figcaption></figcaption></figure>

* YYYY/MM/DD format is based on local time zone&#x20;
* A Fixed-Expiry vs XX days term further differentiates whether your tokenized bond position is an ERC20 or ERC1155 token
* Fixed-Expiry bonds are tokenized as ERC20
* Fixed-Term bonds are reflected as XX days term and are tokenized as ERC1155

### TBV

Refers to Total Bond Value which indicates an approximate total value in USD of all purchases from the Issuer's markets


# Dashboard

Displays the list of bonds that are vesting and awaiting claim

<figure><img src="/files/GWsTONPyvJS0sqVQYbZO" alt=""><figcaption></figcaption></figure>

* **Bond**: Shows the amount of vested tokens to be claimed
* **Market value**: Approximate amount in USD for the amount of vested token to be claimed


# Purchasing a Bond

#### Step 1: Select MARKETS or Tokens

* Markets view provides the entire list of live markets available for purchase
* Tokens view allows one to zoom in on the bond markets offered by a specific issuer

<figure><img src="/files/aT8w5ks9MnskulPGGdhb" alt=""><figcaption></figcaption></figure>

#### Step 2: Select the bond you would like to purchase e.g. DAI-GMX bond

<figure><img src="/files/AhjstVE5ufEQFg5uHHIv" alt=""><figcaption></figcaption></figure>

* **Max Bondable**: The maximum amount of Quote tokens that can be accepted in a single transaction at that moment in time
* **Bond Contract**: Link to contract that is conducting the auction

#### Step 4: Input the amount to purchase and click BOND

* Final review of the bond purchase prior to purchase
* Click <**CONFIRM BOND**> to proceed

<figure><img src="/files/hilGJYAglDLI70O7U3tA" alt=""><figcaption><p>Transaction confirmation prior to purchasing bond</p></figcaption></figure>

#### Step 5: Your connected Web3 wallet window will pop-up, prompting you to sign

<figure><img src="/files/iMYqgs206Mxu1Dyvgs1G" alt=""><figcaption></figcaption></figure>

#### Step 6: Await confirmation window of successful submission

<figure><img src="/files/G9HKAR549qL8IHS1Httm" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/OpsKCDXTfpcK3QXmy67v" alt=""><figcaption></figcaption></figure>


# Limit Orders

Limit orders simplify the acquisition process for bonders. Instead of constantly monitoring markets for the right entry point, you can now set your desired price or discount and let the system do the work for you.&#x20;

Limit orders can only be placed within bond markets that have chosen one of the following quote assets:

<table><thead><tr><th>Asset</th><th width="197">Asset</th><th>Asset</th></tr></thead><tbody><tr><td>USDC</td><td>WETH</td><td>OHM</td></tr><tr><td>DAI</td><td>WBTC</td><td>tBTC</td></tr><tr><td>USDT</td><td>wstETH</td><td>CRV</td></tr><tr><td>FRAX</td><td>frxETH</td><td>CVX</td></tr><tr><td>LUSD</td><td>rETH</td><td>AURA</td></tr><tr><td>DOLA</td><td>cbETH</td><td>BAL</td></tr></tbody></table>

### **How Does It Work?**

<figure><img src="/files/Xoc7eqSbKv96N8fn9ImE" alt=""><figcaption></figcaption></figure>

1. **Choose Your Price**: Specify the conditions for when you want the transaction to occur (i.e. the USD price you want to pay for the payout token)
2. **Set Your Order Expiry**: If the selected price or discount isn't met within this time frame, the transaction will expire
3. **Determine the Amount to Bond**: Indicate the quantity of tokens you want to exchange (i.e. your quote token)
4. **Place Limit Order**: Approve the settlement contract and sign limit order conditions

### **Fee Structure**

Fees are deducted from the quote token you provide to cover gas costs. If the fee is above the maximum when conditions are met, the order will not be filled, but will remain valid and execute if gas fees decrease before expiry.

After placing an order, you can view your active orders for a particular market on the orders tab of that market page or see all of your orders across markets on the Dashboard.


# Options Liquidity Mining

#### The Basics

Options Liquidity Mining (OLM) enables projects to mint ERC-20 call options (oTokens) as incentives for various use cases. It offers protocols greater control and flexibility when designing their incentivization programs through configurations such as quote asset, payout asset, strike price, epoch length, and eligibility window.

Like bond markets, OLM deployment is fully permissionless. Although we don't support deployment on our dApp, we offer ready-to-use contracts for liquidity mining (auto-create tokens and issue), exercising, reclaiming, minting, and redeeming — making it a seamless process to adopt OLM.

Additionally, our solution breaks free from reliance on oracles, making it accessible to newer protocols that may not meet the requirements (e.g. high trading volume, large and stable liquidity, etc.) for obtaining a reliable oracle.

#### Inner Workings of OLM

<figure><img src="/files/4NJWeRCqv9MCf6mpCwW2" alt=""><figcaption></figcaption></figure>

**Exercising Options**

oTokens can be exercised within the eligible and expiry dates, at a fixed strike price determined at issuance. In this scenario, the issuer recoups the quote asset strike price required for exercise, while the purchaser receives the upside payout (option price-strike price).

#### **Expired or Unexercised Options**

In the case of expired or unexercised options, the issuer can reclaim the payout collateral initially provided to mint the oTokens. This means the issuer *does not have to pay out liquid incentive tokens*. As a result, the upside is shared between the issuer and exercising purchasers, while the downside is not exacerbated by further farm & dump activity.


# Issuers

Options Liquidity Mining is designed to provide issuers a new mechanism for incentivizing ecosystem participants. OLM is the more suitable option within our product suite if you want to make a new or existing incentivization program more effective.&#x20;

Issuers acquire assets gradually from recipients receiving & exercising oTokens. OLM is integrated into both treasury management strategies *and* core tokenomics. In contrast to the live auction aspect of bonds where anyone can participate, OLM rewards are gated — meaning they’re exclusive to and shared among program participants with skin in the game.

Contracts are deployed from a Factory, enabling quick and permissionless deployment of OLM instances. Issuers can manually adjust the strike prices each epoch or let it roll over epoch-to-epoch (i.e. without an oracle).&#x20;

<figure><img src="/files/8EDl17Osr32UnJUZvysO" alt=""><figcaption></figcaption></figure>


# Use Cases and Benefits

oTokens can be directed to and replace common emissions sources such as Pool2/Liquidity mining, bribes, asset management, internal protocol mechanisms that require rewards for user deposits, and more. The benefits of doing so include:&#x20;

**Cost-Effective Token Emissions**

OLM allows protocols to maintain cost-effectiveness in their token emissions strategy. Unlike traditional incentives distributed without receiving anything in return, OLM enables issuers to acquire assets, specifically the chosen quote asset, as oTokens are exercised. This approach channels value back to the treasury and mitigates the impact of token emissions.

**Enhanced Treasury Management**

OLM aligns perfectly with treasury management strategies. Through oTokens, issuers can diversify their treasuries by acquiring assets such as stablecoins, ETH, LP tokens, or even strategic assets (e.g. CVX). This approach bolsters the project's financial stability and provides a flexible means to manage treasury composition.


# Quote Asset and Strike Price Selection

When it comes to selecting quote tokens for an OLM program, envision a pyramid that represents the diverse range of options available:

<figure><img src="https://miro.medium.com/v2/resize:fit:1400/0*D9zVz8-ai9brdyDx" alt="" height="569" width="700"><figcaption></figcaption></figure>

#### Breadth vs. Depth Trade-Off <a href="#ca19" id="ca19"></a>

At each level of the pyramid, oToken issuers face a tradeoff between breadth and depth. A program with broader quote tokens allows protocols to start small, adjust, and scale up with shorter epoch durations and narrower strike/price ranges. On the other hand, a program with niche assets requires more complexity, strategic planning, and commitment with longer epoch durations and looser strike/price ranges.

#### Base Assets <a href="#id-45ad" id="id-45ad"></a>

At the base of this pyramid are the base assets, which include ubiquitous assets like USDC, DAI, and ETH that serve as the foundation for many protocols due to their widespread acceptance and stability:

**Pros**:

* Diversifies treasury composition and enhances stability
* Simple to acquire and less volatile, making it the optimal choice for users and shorter epoch lengths
* Deep liquidity and distribution across crypto → more likely to be held and easier to acquire for oToken recipients wanting to exercise

**Cons**:

* Can be deemed low-impact relative to selecting other assets depending on a protocol’s overall objective

#### Community Assets <a href="#id-7a9a" id="id-7a9a"></a>

Climbing further, we reach the Community level where quote tokens become broad, focusing on liquidity pool (LP) tokens:

**Pros**:

* Drives further growth of liquidity and allows acquisition of protocol-owned-liquidity (POL)
* Win-win scenario for both the protocol and users
* Diversifies treasury composition
* Allows LPs to exit liquidity positions while acquiring payout assets at an optimal exchange rate
* Can be routed to market making and asset management services to accelerate POL capabilities

**Cons**:

* Limited to ERC-20 LP tokens
* oToken recipients may not hold LP tokens, in which case they’ll need to acquire them before exercising
* oToken recipients holding LP tokens to continually exercise are exposed to IL

#### Flywheel Assets <a href="#id-8540" id="id-8540"></a>

Moving up the pyramid, we encounter the Flywheel level where specific quote assets come into play. These quote tokens are specifically chosen to align with the protocol’s ecosystem and mechanisms (e.g. LSTs for LSTfi or FRAX for Frax Finance).

**Pros:**

* Strengthens ties with community and partners
* Promotes further growth by utilizing ecosystem assets
* Diversifies treasury composition
* High flexibility in use cases for protocols with more complex token mechanisms

**Cons:**

* oToken recipients may not hold ecosystem assets, in which case they’ll need to acquire before exercising

#### Strategic Assets <a href="#id-5189" id="id-5189"></a>

Finally at the pinnacle of the pyramid, we find the Niche level where quote tokens become hyper-specific and tailored to a protocol’s needs. Some examples of these assets include PENDLE for the Pendle ecosystem, CVX for the Curve ecosystem, or AURA for the Balancer ecosystem.

**Pros**:

* Typically high-impact and tied into advanced liquidity management or partnership strategies
* Accelerates flywheel for ecosystem and partner-led growth
* Potentially enables protocols to reap all benefits from the prior asset classes depending on the strategy

**Cons**:

* Requires a fully thought out strategy as it can be the most complex
* Generally highest barrier-to-entry for oToken exercisers

#### Strike Price Considerations

OLM is initially launching with a Fixed-Strike pricing model, which enables protocols of all stages to utilize oTokens without needing to rely on an oracle feed. Fixed-Strike oTokens work by setting the strike price to a specific exchange rate between any two ERC-20 tokens. Depending on the quote asset selected, there will be some significant differences in pricing considerations. Using a stablecoin as the quote asset is the most obvious example, where the pricing will behave like a normal option denominated in that stablecoin (USDC, DAI, FRAX, etc.).

Strike price gets more complicated when denominated in a volatile quote asset. As the value of both payout and quote token fluctuates, the **effective strike price** changes as a result. oToken issuers need to be aware of this fluctuation when selecting volatile quote assets (ETH, LP tokens, CVX, etc.). Some payout assets are highly correlated with ETH, so this may be appropriate for some protocols whose liquidity is denominated in ETH. Similarly, selecting an LP token as the quote asset will be more correlated when it includes the payout token for POL. <br>


# Time Considerations

oTokens are created and distributed on an epoch-basis at a given reward rate, which leads us into one of the most critical components of deploying an OLM program — *time*.

Just like liquidity, options do not last forever. Options also implicitly have an eligibility date, where American options are instantly eligible and European options are only eligible on the expiration date. American options are typically more valuable to holders since the instant eligibility gives more flexibility to the option holder. However, European options are more likely to be traded and many protocols have implemented dynamic pricing models to establish liquid options markets.

<figure><img src="https://miro.medium.com/v2/resize:fit:1400/0*ZrWKFtDnpocOyOiu" alt="" height="359" width="700"><figcaption></figcaption></figure>

In order to accommodate oToken expiry within a liquidity mining program, OLM issues different oTokens on an epoch basis. Liquidity mining implementations work very similarly, where some amount of reward tokens are issued over a period of time. With OLM, the main difference is that the reward token is an oToken unique to each epoch. The OLM contract owner can update the strike price, eligibility window, and quote asset before the next epoch starts.

<figure><img src="https://miro.medium.com/v2/resize:fit:1400/1*ykcTY2bXVjUwiHPM3YdW4A.png" alt="" height="396" width="700"><figcaption></figcaption></figure>

In the example above, different oTKNs are issued for each epoch. The eligible and expiry dates of each oTKN are specified from the beginning of each epoch as \`timeUntilEligible\` and \`eligibleDuration\`. Additionally, the strike price can be updated for each epoch via two implementations of the OLM contract:

* **Manual**: strike price manually updated by issuer before next epoch (example above)
* **Oracle**: strike price set at a % discount from oracle feed at beginning of epoch

Consequently, oTokens issued by our OLM implementation are fungible within an epoch (ERC-20) but are not fungible across epochs (different tokens). We chose this implementation to focus specifically on oToken recipients exercising their options instead of trading them.

Connecting the pieces together, let’s review some examples of OLM implementations. The two below are scenarios based on the expected activity of Liquidity Providers (LPs). Shorter epoch lengths and option expiries require more active LPs, while longer epochs are more passive. However, strike price for oTokens is set on an epoch-basis and epoch length will impact how responsive OLM programs can be to market conditions.

#### Active Liquidity Providers <a href="#id-9197" id="id-9197"></a>

<figure><img src="https://miro.medium.com/v2/resize:fit:1400/0*g-OHom0x53YDjDCS" alt="" height="354" width="700"><figcaption></figcaption></figure>

**Epoch Length**: 7 days

**Expiry**: 8 days (day after epoch ends)

**Pros:** Short epoch duration and eligibility window allows for rapid experimentation with settings. Strike price can be updated quickly during periods of volatility. Tight expiry window post-epoch gives instant feedback on the quantity of tokens issued from OLM.

**Cons:** Configuration is unattractive for passive LPs as they need to pay attention to shorter epochs. Value of OLM emissions are tightly coupled to exercise value (market price — strike price). Gas costs from more frequent claim and redeem cycles can price out smaller participants.

#### Passive Liquidity Providers <a href="#f87c" id="f87c"></a>

<figure><img src="https://miro.medium.com/v2/resize:fit:1400/0*CeDpkWUEVsINSQFZ" alt="" height="354" width="700"><figcaption></figcaption></figure>

**Epoch Length**: 4 weeks

**Expiry**: 8 weeks

**Pros:** Long epoch duration requires less maintenance and fewer oToken instances, resulting in more time for LPs to exercise their oTokens. Long eligibility window increases time-value of oToken, decoupling value from instant exercise (market price — strike price).

**Cons:** Longer time horizons can be difficult in periods of high volatility.

#### Eligible Time <a href="#id-7699" id="id-7699"></a>

For any OLM configuration, the oToken eligibility is fully customizable. The examples above showcase American-style options, which grant holders instant eligibility. However, this can create a situation where some users may claim and exercise their oTokens mid-epoch, leading to disparities.

An alternative configuration is to set the Eligible Time to start at the end of the epoch. This approach provides LPs a more fair experience when claiming oTokens, particularly in circumstances where gas costs are high.

Fortunately, the eligibility window is configurable for the upcoming epoch so protocols can adjust if necessary.


# oToken Recipients

The shift from solely receiving liquid tokens as rewards to receiving options as rewards alters how users interact with their provided assets by requiring them to be more active.&#x20;

To illustrate how receiving oTokens is different from traditional incentives, it’s beneficial to conceptualize traditional incentives as oTokens with a $0 strike price and an infinite eligibility window, in contrast to the structure of oTokens with a fixed strike price and a defined eligibility window. Even further, the reward window for both mechanics is temporary as liquidity provision is temporary.

This new dynamic brings three considerations into play for users engaging with oTokens:

#### **Payout Token and Price**

oToken recipients need to consider the payout token they’ll receive upon exercising the oToken and its current market price. Assuming the options are American-style, the value of an oToken when received is at least the current market price minus strike price. If the strike price is above the current market price, it isn’t valuable to exercise at that moment. However, it isn’t worth zero since the market price could still go up before expiry.&#x20;

#### **Quote Token and Strike**

oToken recipients must be aware of the quote token required for exercising the oToken and its fixed strike price. This element defines the exchange ratio between the quote token provided and the payout token received.

#### **Eligibility Window**

oToken recipients need to be familiar with the eligibility window during which they can exercise the oToken. This aspect gives them the context of when their opportunity to exercise will be available and when it will expire.

### Receiving oTokens

Whether you plan to receive oTokens for participating in liquidity provision, bribe markets, yield vaults, or other mechanisms, the process is no different than standard incentive programs in the majority of cases. As long as you have made the necessary deposit, you will receive oTokens as you would with liquid rewards.&#x20;

### Exercising oTokens

When it comes to exercising oTokens, users can follow the steps below:

* **Verify Key Parameters**: Review specific parameters mentioned in the prior section before exercising. This includes the expiry date, eligibility window, epoch length, and strike price associated with the specific oToken you hold.
* **Initiate Exercise**: If all parameters align and you decide to proceed, you can initiate the exercise of your oTokens. This process allows you to convert your oTokens into the underlying assets they represent at a discount from market price. This action will most likely be carried out on the issuer’s UI.


# Technical Resources

#### Smart Contracts (Ethereum, Arbitrum, Optimism)

<table data-full-width="true"><thead><tr><th>Contract</th><th width="440">Address</th><th width="197">Ethereum</th><th>Arbitrum</th></tr></thead><tbody><tr><td>Aggregator</td><td>0x007A66A2a13415DB3613C1a4dd1C942A285902d1</td><td><a href="https://etherscan.io/address/0x007A66A2a13415DB3613C1a4dd1C942A285902d1">Etherscan</a></td><td><a href="https://arbiscan.io/address/0x007A66A2a13415DB3613C1a4dd1C942A285902d1">Arbiscan</a></td></tr><tr><td>Fixed-Expiration Teller</td><td>0x007FE70dc9797C4198528aE43d8195ffF82Bdc95</td><td><a href="https://etherscan.io/address/0x007FE70dc9797C4198528aE43d8195ffF82Bdc95">Etherscan</a></td><td><a href="https://arbiscan.io/address/0x007FE70dc9797C4198528aE43d8195ffF82Bdc95">Arbiscan</a></td></tr><tr><td>Fixed-Expiration SDA</td><td>0x007FEA32545a39Ff558a1367BBbC1A22bc7ABEfD</td><td><a href="https://etherscan.io/address/0x007FEA32545a39Ff558a1367BBbC1A22bc7ABEfD">Etherscan</a></td><td><a href="https://arbiscan.io/address/0x007FEA32545a39Ff558a1367BBbC1A22bc7ABEfD">Arbiscan</a></td></tr><tr><td>ERC20 Bond Token Reference (clones proxy)</td><td>0xD525c81912E242D0E86BC6A05e97A7c9AD747c48</td><td><a href="https://etherscan.io/address/0xD525c81912E242D0E86BC6A05e97A7c9AD747c48">Etherscan</a></td><td><a href="https://arbiscan.io/address/0xD525c81912E242D0E86BC6A05e97A7c9AD747c48">Arbiscan</a></td></tr><tr><td><strong>Fixed-Term Teller</strong></td><td>0x007F7735baF391e207E3aA380bb53c4Bd9a5Fed6</td><td><a href="https://etherscan.io/address/0x007F7735baF391e207E3aA380bb53c4Bd9a5Fed6">Etherscan</a></td><td><a href="https://arbiscan.io/address/0x007F7735baF391e207E3aA380bb53c4Bd9a5Fed6">Arbiscan</a></td></tr><tr><td><strong>Fixed-Term SDA</strong></td><td>0x007F7A1cb838A872515c8ebd16bE4b14Ef43a222</td><td><a href="https://etherscan.io/address/0x007F7A1cb838A872515c8ebd16bE4b14Ef43a222">Etherscan</a></td><td><a href="https://arbiscan.io/address/0x007F7A1cb838A872515c8ebd16bE4b14Ef43a222">Arbiscan</a></td></tr><tr><td><strong>Fixed-Term FPA</strong></td><td>0xF7F9Ae2415F8Cb89BEebf9662A19f2393e7065e0</td><td><a href="https://etherscan.io/address/0xF7F9Ae2415F8Cb89BEebf9662A19f2393e7065e0">Etherscan</a></td><td><a href="https://arbiscan.io/address/0xF7F9Ae2415F8Cb89BEebf9662A19f2393e7065e0">Arbiscan</a></td></tr><tr><td>Fixed-Expiration FPA</td><td>0xFEF9A527ac84836DC9939Ad75eb8ce325bBE0E54</td><td><a href="https://etherscan.io/address/0xFEF9A527ac84836DC9939Ad75eb8ce325bBE0E54">Etherscan</a></td><td><a href="https://arbiscan.io/address/0xFEF9A527ac84836DC9939Ad75eb8ce325bBE0E54">Arbiscan</a></td></tr><tr><td>Roles Authority</td><td>0x007A0F48A4e3d74Ab4234adf9eA9EB32f87b4b14</td><td><a href="https://etherscan.io/address/0x007A0F48A4e3d74Ab4234adf9eA9EB32f87b4b14">Etherscan</a></td><td><a href="https://arbiscan.io/address/0x007A0F48A4e3d74Ab4234adf9eA9EB32f87b4b14">Arbiscan</a></td></tr></tbody></table>

#### Smart Contracts (Base, Mode, Polygon, BSC)

<table data-full-width="true"><thead><tr><th>Contract</th><th width="427">Address</th><th width="190">Base</th><th>Mode</th></tr></thead><tbody><tr><td>Aggregator</td><td>0x007A6621A9997A633Cb1B757f2f7ffb51310704A</td><td><a href="https://basescan.org/address/0x007A6621A9997A633Cb1B757f2f7ffb51310704A">Basescan</a></td><td><a href="https://modescan.io/address/0x007A6621A9997A633Cb1B757f2f7ffb51310704A">Modescan</a></td></tr><tr><td>Fixed-Expiration Teller</td><td>0x007FE7c977a584CC54269730d210D889a86Ff9Cf</td><td><a href="https://basescan.org/address/0x007FE7c977a584CC54269730d210D889a86Ff9Cf">Basescan</a></td><td><a href="https://modescan.io/address/0x007FE7c977a584CC54269730d210D889a86Ff9Cf">Modescan</a></td></tr><tr><td>Fixed-Expiration SDA</td><td>0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C</td><td><a href="https://basescan.org/address/0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C">Basescan</a></td><td><a href="https://modescan.io/address/0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C">Modescan</a></td></tr><tr><td><strong>Fixed-Term Teller</strong></td><td>0x007F774351e541b8bc720018De0796c4BF5afE3D</td><td><a href="https://basescan.org/address/0x007F774351e541b8bc720018De0796c4BF5afE3D">Basescan</a></td><td><a href="https://modescan.io/address/0x007F774351e541b8bc720018De0796c4BF5afE3D">Modescan</a></td></tr><tr><td><strong>Fixed-Term SDA</strong></td><td>0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557</td><td><a href="https://basescan.org/address/0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557">Basescan</a></td><td><a href="https://modescan.io/address/0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557">Modescan</a></td></tr><tr><td><strong>Fixed-Term FPA</strong></td><td>0xF7F9A834CBD3075D4810A9b818f594312C0de168</td><td><a href="https://basescan.org/address/0xF7F9A834CBD3075D4810A9b818f594312C0de168">Basescan</a></td><td><a href="https://modescan.io/address/0xF7F9A834CBD3075D4810A9b818f594312C0de168">Modescan</a></td></tr><tr><td>Fixed-Expiration FPA</td><td>0xFEF9A1BB7c9AFd5F31c58Cf87Cefc639bDfA04Dd</td><td><a href="https://basescan.org/address/0xFEF9A1BB7c9AFd5F31c58Cf87Cefc639bDfA04Dd">Basescan</a></td><td><a href="https://modescan.io/address/0xFEF9A1BB7c9AFd5F31c58Cf87Cefc639bDfA04Dd">Modescan</a></td></tr><tr><td>Roles Authority</td><td>0x007A2F0A16bd0874CA2e1FFfAfc2d6B0b876aA8E</td><td><a href="https://basescan.org/address/0x007A2F0A16bd0874CA2e1FFfAfc2d6B0b876aA8E">Basescan</a></td><td><a href="https://modescan.io/address/0x007A2F0A16bd0874CA2e1FFfAfc2d6B0b876aA8E">Modescan</a></td></tr></tbody></table>

#### **Testnet Smart Contracts**

<table data-full-width="true"><thead><tr><th width="239">Contract</th><th width="450.5">Address</th><th>Goerli</th><th>Arbitrum Goerli</th></tr></thead><tbody><tr><td>Roles Authority</td><td>0x007A0F48A4e3d74Ab4234adf9eA9EB32f87b4b14</td><td><a href="https://goerli.etherscan.io/address/0x007A0F48A4e3d74Ab4234adf9eA9EB32f87b4b14">Goerli Etherscan</a></td><td><a href="https://goerli.arbiscan.io/address/0x007A0F48A4e3d74Ab4234adf9eA9EB32f87b4b14">Goerli Arbiscan</a></td></tr><tr><td>Aggregator</td><td>0x007A66A2a13415DB3613C1a4dd1C942A285902d1</td><td><a href="https://goerli.etherscan.io/address/0x007A66A2a13415DB3613C1a4dd1C942A285902d1">Goerli Etherscan</a></td><td><a href="https://goerli.arbiscan.io/address/0x007A66A2a13415DB3613C1a4dd1C942A285902d1">Goerli Arbiscan</a></td></tr><tr><td>Fixed-Expiration Teller</td><td>0x007FE70dc9797C4198528aE43d8195ffF82Bdc95</td><td><a href="https://goerli.etherscan.io/address/0x007FE70dc9797C4198528aE43d8195ffF82Bdc95">Goerli Etherscan</a></td><td><a href="https://goerli.arbiscan.io/address/0x007FE70dc9797C4198528aE43d8195ffF82Bdc95">Goerli Arbiscan</a></td></tr><tr><td>Fixed-Expiration SDA</td><td>0x007FEA32545a39Ff558a1367BBbC1A22bc7ABEfD</td><td><a href="https://goerli.etherscan.io/address/0x007FEA32545a39Ff558a1367BBbC1A22bc7ABEfD">Goerli Etherscan</a></td><td><a href="https://goerli.arbiscan.io/address/0x007FEA32545a39Ff558a1367BBbC1A22bc7ABEfD">Goerli Arbiscan</a></td></tr><tr><td>ERC20 Bond Token Reference (clones proxy)</td><td>0xD525c81912E242D0E86BC6A05e97A7c9AD747c48</td><td><a href="https://goerli.etherscan.io/address/0xD525c81912E242D0E86BC6A05e97A7c9AD747c48">Goerli Etherscan</a></td><td><a href="https://goerli.arbiscan.io/address/0xD525c81912E242D0E86BC6A05e97A7c9AD747c48">Goerli Arbiscan</a></td></tr><tr><td>Fixed-Term Teller</td><td>0x007F7735baF391e207E3aA380bb53c4Bd9a5Fed6</td><td><a href="https://goerli.etherscan.io/address/0x007F7735baF391e207E3aA380bb53c4Bd9a5Fed6">Goerli Etherscan</a></td><td><a href="https://goerli.arbiscan.io/address/0x007F7735baF391e207E3aA380bb53c4Bd9a5Fed6">Goerli Arbiscan</a></td></tr><tr><td>Fixed-Term SDA</td><td>0x007F7A1cb838A872515c8ebd16bE4b14Ef43a222</td><td><a href="https://goerli.etherscan.io/address/0x007F7A1cb838A872515c8ebd16bE4b14Ef43a222">Goerli Etherscan</a></td><td><a href="https://goerli.arbiscan.io/address/0x007F7A1cb838A872515c8ebd16bE4b14Ef43a222">Goerli Arbiscan</a></td></tr><tr><td>Fixed-Term FPA</td><td>0xF7F9Ae2415F8Cb89BEebf9662A19f2393e7065e0</td><td><a href="https://goerli.etherscan.io/address/0xF7F9Ae2415F8Cb89BEebf9662A19f2393e7065e0">Goerli Etherscan</a></td><td><a href="https://testnet.arbiscan.io/address/0xF7F9Ae2415F8Cb89BEebf9662A19f2393e7065e0">Goerli Arbiscan</a></td></tr><tr><td>Fixed-Expiration FPA</td><td>0xFEF9A527ac84836DC9939Ad75eb8ce325bBE0E54</td><td><a href="https://goerli.etherscan.io/address/0xFEF9A527ac84836DC9939Ad75eb8ce325bBE0E54">Goerli Etherscan</a></td><td><a href="https://testnet.arbiscan.io/address/0xFEF9A527ac84836DC9939Ad75eb8ce325bBE0E54">Goerli Arbiscan</a></td></tr></tbody></table>

The source code for the smart contracts can be found at:

<https://github.com/Bond-Protocol/bond-contracts>

### Bond library

Library containing off-chain details related to bonds, protocols, tokens, chains and etc:

<https://github.com/Bond-Protocol/bond-library>


# Audits

| Auditor  | Product                  | Link                                                                          |
| -------- | ------------------------ | ----------------------------------------------------------------------------- |
| Sherlock | Permissionless Bonds     | <https://github.com/Bond-Protocol/bond-contracts/tree/master/audits/Sherlock> |
| Zellic   | Permissionless Bonds     | <https://github.com/Bond-Protocol/bond-contracts/tree/master/audits/Zellic>   |
| yAcademy | Permissionless Bonds     | <https://github.com/Bond-Protocol/bond-contracts/tree/master/audits/yAcademy> |
| Sherlock | Options Liquidity Mining | <https://github.com/Bond-Protocol/option-contracts/tree/master/audit>         |


# Community Resources

### The Basics

* [A Comparison of Bonds and OLM](https://medium.com/@Bond_Protocol/a-comparison-of-bonds-and-olm-a416b11ee8fa)
* [Introducing Options Liquidity Mining](https://medium.com/@Bond_Protocol/introducing-options-liquidity-mining-9beee41e6fdf)
* [Introducing Permissionless Bond Market Deployment](https://medium.com/@Bond_Protocol/introducing-permissionless-bond-market-deployment-b6cfbcd13fad)
* [What the Dutch](https://medium.com/@Bond_Protocol/auctions-what-the-dutch-80e4bb3ee7ad)
* [An Updated Primer on Bonding](https://medium.com/@Bond_Protocol/an-updated-primer-on-bonding-ef75a284fcd8)
* [Introducing Bond Protocol](https://medium.com/@Bond_Protocol/introducing-bond-protocol-8476881f84e4)

### Case Studies

* [Acquiring Strategic Assets through Bond Issuance — JPEG'd](https://medium.com/@Bond_Protocol/acquiring-strategic-assets-through-bond-issuance-jpegd-c83c4856ca7a)
* [Funding Security Audits through Bond Issuance — Lodestar Finance](https://medium.com/@Bond_Protocol/funding-security-audits-through-bond-issuance-lodestar-finance-c75d1a1e27d2)
* [The Impact of Bond Protocol on the Arbitrum Ecosystem](https://medium.com/@Bond_Protocol/the-impact-of-bond-protocol-on-the-arbitrum-ecosystem-d8764149b002)
* [How Bond Market Issuers Handled the USDC Depeg](https://twitter.com/Bond_Protocol/status/1645854935186305025?s=20)

### Twitter Threads

* [How Fixed Price Bonds Provide Value to Projects](https://twitter.com/bfjoe1/status/1643365258780880896?s=20)
* [How Sequential Dutch Auctions Provide Value Throughout a Project's Lifecycle](https://twitter.com/Bond_Protocol/status/1656420879944007680?s=20)
* [Big Brain Bonding Strategies](https://twitter.com/Bond_Protocol/status/1559975553280638978?s=20\&t=QUV3mXSHw4Hw8wCxpe021w)
* [Auction Capacity](https://twitter.com/Bond_Protocol/status/1557843046468919296?s=20\&t=QUV3mXSHw4Hw8wCxpe021w)
* [Dysfunctional DeFi](https://twitter.com/Bond_Protocol/status/1549822684019703816?s=20)


# Brand Assets

### Logos and Icons

Various logos and icons are available for download [<mark style="color:blue;">here</mark>](https://drive.google.com/drive/folders/1oVTz3pweG98vgs2hfB33ixKfZ8zwNFN2)&#x20;

### Colors

* Core [<mark style="color:blue;">colors</mark>](https://colorpeek.com/#f2a94a,40749b,12172b)
* Secondary [<mark style="color:blue;">colors</mark>](https://colorpeek.com/#f0dec4,9cc1c7)


# Contact Us

* [Request Form](https://gkk12lnayco.typeform.com/to/VVyP9rqt)
* [Discord](https://discord.gg/EjAm9m6jFy)
* [Twitter](https://twitter.com/Bond_Protocol)
* [Email](mailto:help@bondprotocol.finance)


