Olympus Pro
Getting Started
This guide aims to help onboard protocol developers into the Olympus Pro bonds marketplace.

Supplying Information to OlympusDAO

Fill up this notion form to register your interest in becoming a partner of Olympus Pro.
  1. 1.
    Total pilot emissions (e.g. 1,000,000 ABC token or USD equivalent).
  2. 2.
    Token contract address
  3. 3.
    Token LP contract address

Launching the Bond Program

OlympusDAO will work with you to set up the necessary contracts to start the bond program. The following are the high-level action items required by both parties:
By OlympusDAO:
1. OlympusDAO will deploy the factory contract, OlympusProFactory.
2. OlympusDAO will use the factory contract to deploy Olympus Pro Custom Treasury and Olympus Pro Custom Bond contracts, with the owner set to your multisig address.
At this point, you are in full control of the Custom Treasury and Custom Bond contracts.
By Partners:
1. You will call toggleBondContract in the Custom Treasury contract and pass in the Custom Bond contract address.
2. You will set the vesting block of the Custom Bond contract by calling setBondTerms. 46,200 is approximately 7 days.
The first parameter should be set to 0
3. You will transfer your payout tokens to the Custom Treasury contract. You may send one week or the full term of emissions to your custom treasury.
4. You will initialize the Custom Bond contract. Initializing the bond will allow bond purchases - this function is only called once.
Controls bond price and capacity
Vesting term (typically 7 days)
Minimum price of the bond
Max payout as a % of total supply
Ceiling on how many bonds can be outstanding
Initial debt used for initializing the contract
OlympusDAO will supply the initialization parameters
5. A policy team member from OlympusDAO will suggest BCV and other relevant parameters to be used. The next section will give you an overview of the adjustments.
Once the Custom Bond contract is initialized, users can start purchasing bonds.

Adjusting Bond Control Variables (BCV)

Through a weekly policy meeting with our team, we may suggest changes to the BCV parameter that controls the bond capacity. For example, a higher BCV value translates to a higher bond price, which has an effect of reducing the bond capacity.
Because the partner owns the Custom Bond contract, they need to apply the changes themselves. The Olympus team will provide guidance on the appropriate parameters to use.
To adjust the BCV, call setAdjustment function and pass in the appropriate arguments.
setAdjustment function from the Custom Bond contract
Overview of the parameters:
Addition/subtraction boolean
Increment/decrement step of BCV
Target BCV
Buffer between changes (in Ethereum blocks)

Adding New Bond Types

When adding new bond types there are two options:
1. Create a new Custom Bond contract and use the existing treasury. This will only work if the same payout token is used.
2. Create another set of Custom Bond and Custom Treasury contracts.
If you decide to go with option 1, it is as simple as calling toggleBondContract from the Custom Treasury contract and passing in the new Custom Bond contract address. As before, the bond will have to be initialized. An OlympusDAO policy member will assist in this as well.
Olympus will create the new Custom Bond contract via OlympusProFactory
For option 2, you will just follow the steps as outlined in Launching the Bond Program section.
Copy link
On this page
Supplying Information to OlympusDAO
Launching the Bond Program
Adjusting Bond Control Variables (BCV)
Adding New Bond Types