Skip to content
Mineable Token to provide Oracle Data
JavaScript Python HTML
Branch: master
Clone or download
Latest commit 1b1ae79 Jul 30, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
contracts lc Jul 30, 2019
migrations init func Jun 28, 2019
miner tests passing Jul 25, 2019
public contracts compile, user contracts not updated yet, tests broken Jun 27, 2019
scripts tests passing 1 May 21, 2019
test further tests passing Jul 25, 2019
.DS_Store fixed request sig in mock script May 6, 2019
.gitignore updated Apr 2, 2019 fixed logo Jun 30, 2019
LICENSE Migrate from Daxia Mar 19, 2019 fixed logo Jun 30, 2019 fixed logo Jun 30, 2019
package-lock.json tests still broken. Downgraded web3 to npm install web3@1.0.0-beta.36; Jun 27, 2019
package.json tests still broken. Downgraded web3 to npm install web3@1.0.0-beta.36; Jun 27, 2019
truffle-config.js tests passing 1 May 21, 2019
truffle.js tests passing Jul 25, 2019

Twitter WeAreTellor

Table of Contents

Contributing information

Tellor Oracle

Instructions for quick start with Truffle Deployment

Follow the steps below to launch the Oracle contracts using Truffle.

  1. Open two terminals.

  2. On one terminal run: Clone the repo, cd into it, and then run:

    $ npm install

    $ truffle compile

    $ truffle migrate

    $ truffle exec scripts/01_DeployTellor.js

Testing through Truffle

  1. On the second termial run:
   $ ganache-cli -m "nick lucian brenda kevin sam fiscal patch fly damp ocean produce wish"
  1. On the first terminal run:
    $   truffle test
  1. And wait for the message 'START MINING RIG!!'
  2. Kick off the python miner file ./miner/

Production and test python miners are available under the miner subdirectory here. You will need to get at least 5 miners running.

Step by step instructions on setting up a Tellor Oracle without truffle are available here: Detailed documentation for self setup


Ethereum smart contracts cannot access off-chain data. If your smart contract relies on off-chain (e.g. internet) data to evaluate or execute a function, you either have to manually feed the data to your contract, incentivize users to do it, or rely on a centralized party to provide the data.

The Tellor oracle is a decentralized oracle. It provides an option for contracts to securely interact with and obtain data from off-chain.

Tellor implements a staked PoW where miners have to deposit Tellor Tributes (tellor's native token) to be able to mine and along with the PoW solution they also provide an off-chain data point. The first five miners to provide the PoW and off-chain data point are rewarded and the median is selected as the official value. Once validated and processed the value is available for on-chain contracts to use. The value can be disputed by anyone holding tellor tributes within one day after being mined for a fee. After the value goes to dispute, anyone holding tributes can vote on it's validity. If the vote determines the value was invalid the reporting party gets awarded the miner's stake, otherwise the wrongly accused miner gets the dispute fee.

How it works

A deep dive in methodology is available here: In-Depth Overview

Useful links

High level inspiration from EIP918 Mineable Token.

Why we need a decentralized option? Checkout: "Trusted third parties are security holes" ~ Nick Szabo, 2001

Metamask -

Truffle -



How to Contribute

Join our Discord or Telegram:

Check out or issues log here on Github or contribute to our future plans to build a better miner and more examples of data secured by Tellor.


This repository is maintained by the Tellor team -


Tellor Inc. 2019

You can’t perform that action at this time.