# Contracts

Contracts are verified and on Optimism:\
\
Oracle:\
<https://optimistic.etherscan.io/address/0xf3CCE3274c32f1F344Ba48336D5EFF34dc6E145f#code>\
\
Swap Facility: \
[https://optimistic.etherscan.io/address/0x832aF47b9ca3336063871632cb36334a03B56601#code](https://optimistic.etherscan.io/address/0x832aF47b9ca3336063871632cb36334a03B56601#code)\
\
Batching:\
[https://optimistic.etherscan.io/address/0x6D5dCF8570572e106eF1602ef2152BC363dAeC8b#code](https://optimistic.etherscan.io/address/0x6D5dCF8570572e106eF1602ef2152BC363dAeC8b#code)\
\
Data provider:\
<https://optimistic.etherscan.io/address/0x4f9041CCAea126119A1fe62F40A24e7556f1357b#code>\
\
Initial reporter bounty:\
<https://optimistic.etherscan.io/address/0xf07c087414c2285f25eade0fa6e2dde0be8ce98c#code>\
\
openSwap:\\

<https://optimistic.etherscan.io/address/0x40d3c10a33d8c19b2e102b12fa49f53cac1bfc88#code>\\

\
The oracle contract handles the core logic. The swap facility can be used to perform swaps via custom oracle report. The batching contract helps us put multiple initial reports, disputes or settles in a single transaction and also has some optional entries with some basic reportId parameter sanity checks. The data provider can be used to query the on-chain oracle state.\
\
The bounty contract allows for an increasing-over-time reward to the initial reporter which solves the problem of "how much do you pay the initial reporter?" since as soon as it is net profitable, the first bot will bite and claim the bounty.\
\
[openSwap ](https://openprices.gitbook.io/openswap/)is a fully on-chain swapping application designed to frequently beat AMMs in fees. It is an RFQ system, so there is time between swap submission and execution. In openSwap, a user proposes a swap, someone matches it, and openOracle determines the execution price. The matcher earns a fee for their service.\ <br>
