Fees
Three fees exist in and around Coffer, and each has one page section here. Nothing else is charged, beyond the ordinary gas every transaction costs.
The protocol fee
Section titled “The protocol fee”Every bond purchase pays one protocol fee. It is taken from the bond’s interest and never from the principal, so the maturity value is principal plus interest less the fee, and the buyer bears it. The fee is fixed at the moment of purchase and never changes for that bond.
The percentage follows a fixed schedule that depends on one thing only, how long the protocol has been deployed. It starts at 1 percent of the interest, rises over the years, and settles at 9.9 percent from day 3650 on.
| Days since deployment | Fee, percent of the interest |
|---|---|
| 0 | 1.00% |
| 90 | 1.97% |
| 180 | 2.83% |
| 365 | 4.32% |
| 730 | 6.42% |
| 1095 | 7.74% |
| 1460 | 8.57% |
| 1825 | 9.10% |
| 2555 | 9.64% |
| 3650+ | 9.90% |
Between two rows the fee moves along a straight line. From day 3650 on it stays at 9.90% and never rises further.
The schedule is part of the contract code, with no setter and no owner able to change it. Day boundaries fall at the deployment moment plus whole days, not at midnight. Because the ceiling is 9.9 percent of the interest, the net interest is always positive, a bond’s maturity value is always greater than its principal.
The collected fees pool in the shared fee curve contract and are directed to the recipient role. Anyone can trigger the payout of the pool, and it always pays the recipient, never the caller. The one thing the protocol admin can change is which address the recipient is, which alters neither the fee amounts nor any contract behaviour.
The marketplace fee
Section titled “The marketplace fee”The marketplace charges a fixed 9 percent of the buyer’s profit, the maturity value minus the price, when that difference is positive. A trade at or above the maturity value pays no fee at all. The rate is the same for both sides of the book. Buying a listing pays it in ETH on top of the price. Accepting an offer pays it in WETH on top of the offer amount, and there the offerer pays it.
The rate is a compile time constant in the marketplace contract with no setter, so it cannot drift from what this page says.
The request fee
Section titled “The request fee”Withdrawals from the stake go through the network’s own system contract, and that contract charges a small, variable request fee of its own. Whoever sends the request pays it, the validator on a consensus withdrawal, and in a default whoever presses Exit Validator. It is the network’s fee, not Coffer’s, and it is unrelated to the protocol fee above.