# Oracle Feeder

With the Columbus-3 release, every active validator must participate in the Exchange Rate Oracle, voting periodically for the active Exchange Rate of Luna, and not participating in the Oracle process is now a slashing condition.

# Feeder Implementations

The Terra team provides a reference implementation of a program that pulls the exchange rate of Luna from exchanges and periodically submits it in prevotes and votes following the Voting Procedure. However, some generous validators have also provided their own implementations to the rest of the validator community:

Software Developer Runtime
oracle-feeder Terra Node.js, Python
terra_oracle_voter B-Harvest Python
oracle-voter StakeWith.Us Python
terra-oracle Node A-Team Go

# Custom Implementation

Here are some important things to remember when writing your own Luna exchange rate feeder implementation:

  • It may be tempting to design a new pricing model other than getting exchange data direct. Keep in mind that you will be penalized for not voting within the Reward Band of your peer validators.