User Checklists

These checklists are designed to guide you through the necessary preparations & processes for using the Tellor oracle.

Find below 2 checklists:

*Development - actions for the security of your code / integration.

*Maintenance - actions to help make sure the data flowing into your contracts is properly checked & monitored.

Development Checklist

Communicate what oracle data is needed, the desired frequency, & how the feeds will be funded

This helps the Tellor team & reporters to better understand your needs. Feel free to ask for help & advice! This can be done by making an issue in the dataSpecs repo, or by reaching out in the Tellor discord.

Review Best Practices

This repository is a reference implementation for integrating Tellor price feed data into your protocol. It demonstrates some best practices for using Tellor, including implementing a dispute time buffer and a data staleness check. It also mitigates back-in-time dispute attacks by caching the most recent value and timestamp.

Build in a delay to allow time for disputes on bad data

A reporter can submit any value at any time if they are willing to forfeit their staked TRB tokens. By delaying use of a value, or by delaying the finality of functions that use the latest Tellor value, you can prevent the use of inaccurate data.\

The best practice for reading Tellor data is to use the_getDataBefore function with a buffer time that allows time for bad values to be disputed:

_getDataBefore(_queryId,block.timestamp - 20 minutes); This repo is a great reference for integrating Tellor.

Add a staleness check

It's also best practice to require/check that the data is not too old for your use-case. For example:

require(block.timestamp -_timestampRetrieved < 24 hours);

Prevent a "back in time" attack

In the event where a Tellor value is disputed, the disputed value is removed & previous values remain. Prevent potential attackers from going back in time to find a desired value with a check in your contracts.

Share code with the Tellor team for security review

This step ensures the security of your code & allows the Tellor team to provide you with valuable feedback.

Maintenance Checklist

Hold TRB for disputes

This ensures that you are ready to dispute any incorrect values that may occur in the oracle data feed.

Hold TRB for staking reporters (as insurance)

In the event of a critical situation, this allows you to act as the reporter of last resort for your protocol.

Monitor the data

Monitoring clients like the Disputable Values Monitor / Auto-Disputer can be found in the Tellor github.

Become Familiar w/ Telliot

Telliot is currently the standard open-source tool for reporting and interacting with Tellor's oracle network.

Communicate Questions/Concerns

To address your specific monitoring needs, it is important to communicate any questions or concerns that arise with the Tellor team and they’ll be happy to address them all.

Remember: Communication and careful planning are key to a successful integration!


Last updated