Ossification: Part 1


Just about everyone involved with defi today has some familiarity with the concept of “oracles”. Unfortunately, despite endless examples of the very dire consequences of playing fast and loose with this critical component, many individuals — focused on their own short-term gains — continue to do so and/or put forward “helpful suggestions” promoting it as a valid option to devs. To reiterate a point that has been made several times before: Kanpeki is, and will remain, exclusively dependent on Chainlink as a price-feed oracle for anything that can be deposit/borrow-ed on the platform. Rehashing why is not the focus of this article (there exists a litany of googleable articles for those interested in adequately informing themselves). This fact may displease some people and that’s okay — they’re welcome to bear such risks in their own endeavors.

An Alternative

After considering all the options, and the fact that pricing data for the aforementioned components needn’t be so frequent, Spookyswap’s (really Uniswap’s) TWAP oracle has been settled on as an acceptable alternative. For Kanpeki’s purposes, this oracle will be configured as such:

  • it can be updated by any recently active borrower with an active stake of at least 2x the base amount
  • it can be updated only once per 24 hrs
  • only the network gas fee is charged to update it

Buy-backs & Burning

This is a feature that has been advertised from the start but has never been used for a variety of reasons, including the lack of an oracle. But as that’s being solved now, it can move forward. The burn contract collects all fees charged on the platform. These fees can be used to buy-back KAE at anytime which is then subsequently burned. The contract is configured as such:

  • only addresses that have passed the check to update the KAE oracle can call the burn function
  • the oracle must have been updated within the last 24 hrs to be able to carry out a burn
  • only one token, for an amount of value not exceeding ~$1,000, can be burned at a time
  • should this limit be exceeded, there must be at least 24 hrs before the next burn

Closing the Gates

Another, more ambitious, blocking factor to ossification was the ability to permissionlessly add any token to the platform. This feature however has always been predicated on actions by 3rd-parties. While it is possible these 3rd-parties eventually deliver what Kanpeki once needed at some time in the future, such uncertainty and waiting games are no longer of interest for aforementioned reasons. An alternative would be to build out the infrastructure to support this but that would require a significant time-investment, and such endeavors have so far proved, for lack of a better term, wasteful. With these in mind, and coming to terms with the fact that such a feature and supporting an arbitrary number of tokens is a nice-to-have, not a need-to-have, the solution is simple: permanently encode the set of tokens that can be deposit/borrow-ed. The requirements settled on for these tokens are:

  • it must have a Chainlink feed
  • it must have FTM liquidity on Spookyswap
  • it must not be be based on unproven and/or experimental assumptions

What’s Next?

To begin the process, and ensure the smooth execution of this ossification, borrowing will be paused starting tomorrow. This will, barring some unlikely event, be the very last time it will be paused or can be paused. As with the last pause, everything else will continue as normal. That will be all for now.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store



Kanpeki is a fixed-rate, incentivized borrowing, and lending dapp on the Fantom network