Tornado.cash Integrates Chainlink Gas Price Oracle Live on Mainnet

Tornado Cash
3 min readJun 5, 2020

We are excited to announce that we have launched an open-source library that Ethereum developers can use to get the current gas price for their dApp. It automatically uses the Chainlink gas oracle as the default reference price when the off-chain APIs do not or cannot respond. It’s currently live and integrated into the Tornado Cash UI for calculating a user’s recommended gas fee.

Tornado.cash requires users to pay gas fees when making deposits, as well as for relayer services when making withdrawals. Currently, our UI relies on one of four off-chain API endpoints as gas price feeds for calculating a user’s recommended gas fee. These include EthGasStation, Gas Oracle, Etherchain, and POA’s GasPrice.

However, many people use Tornado.cash in combination with the TOR network to bring greater privacy guarantees by hiding their IP addresses. All four gas price feeds host their web APIs using Cloudflare, and Cloudflare automatically blocks all traffic coming from the TOR network. This means that all four off-chain APIs will not return an updated gas price for anyone using TOR to access Tornado.cash.

By integrating Chainlink, we have developed a reliable fallback solution for these scenarios. Chainlink uses a decentralized network of node operators to provide a consistently updated gas price that’s stored directly on-chain. Tornado.cash’s UI will automatically default to referencing Chainlink’s Gas Price Reference oracle in situations when all four off-chain API providers fail to respond. The feature is currently in use on Tornado.cash and readers can check our open-source library for the gas price oracle here.

Live Demo of The Integration

Tornado.cash Co-Founder Roman Storm, provides a demo walk-through showcasing how the Tornado.cash UI automatically fetches Chainlink’s on-chain gas price in a situation where no off-chain APIs are available.

Combining Privacy with Compliance

While we are strong advocates of user privacy, it should not come at the cost of non-compliance. As such, we have developed the Tornado.cash Compliance Tool to allow users to provide cryptographically verified proof of transactional history. It leverages Tornado.cash Note, which allows users to generate a full audit report that can be sent to any external user.

About Tornado Cash

Tornado Cash is a decentralized non-custodial application that allows users to send private transactions on Ethereum. It uses smart contracts and ZkSnarks to obfuscate transactions so that on-chain observers can’t correlate the deposit and withdrawal. It’s a community-run project with no admin keys, yet provides compliance tools to help users produce cryptographically verifiable audit reports. You can start using Tornado.cash today. For the latest updates, follow us on Twitter, join our Telegram, or check out our Github.

About Chainlink

If you’re a developer and want to connect your smart contract to existing data and infrastructure outside the underlying blockchain, reach out to them here. They can help you quickly and securely launch your data-enabled application or Chainlink Price Reference Data Contract on mainnet today. You can also visit the developer documentation or join the technical discussion on Discord. Learn more by visiting the Chainlink website or follow us on Twitter or Reddit.

--

--