Streamr Network staking: how to mine rewards in the Brubeck Mainnet

Streamr Network staking: how to mine rewards in the Brubeck Mainnet

tl;dr

  1. Install and start a Broker Node on almost any hardware
  2. Put some DATA into the address of the node in the Polygon Blockchain
  3. Keep your Broker up and running and enjoy Mining Rewards

Installing and running a Broker Node

Installing the Broker Node software

There are two recommended ways of installing a Broker Node. Either you can use Docker, or install it as a npm package. Both should work just fine, but there are some environments where it is possible to use only one or the other. For example, we do not provide Docker images for everything under the sun; but then again, we have witnessed the npm installation running on a solar-powered Raspberry Pi and an Android phone—so almost anything goes.

Hardware and networking requirements

We have not been very precise on what kind of hardware or network connection you need to be able to run a Broker Node, because it depends on multiple variables. Throughout the testnets, and at the start of the Brubeck Mainnet, the only requirement is that you are online. So practically any stable network connection will do, and you should be able to run it with a little RAM and a small (or even a fraction of a) CPU. When things eventually evolve, you can decide to run a Broker Node mining other streams. Since each stream may have individual bandwidth, latency, and processing requirements—the hardware will depend on what kind of streams, and how many, you are mining.

IP restrictions

In the Brubeck Testnet, there were IP restrictions in place to limit the amount of Broker Nodes that can appear from behind a single IP address to three nodes. In the Brubeck Mainnet, we will have a similar restriction in place, but we have increased the amount of nodes that can appear from behind a single IP address from three to five. However, the distributed nature of the system means this is not exact—so you might get away with more nodes than that, at least for a while. But if you want to ensure the uptime of your nodes, it’s better not push your luck. If you run too many nodes from behind a single IP address, you risk losing uptime (less uptime =  fewer rewards).

Staking

Running a Broker Node alone in the Brubeck Mainnet does not guarantee you qualify for  rewards. Unlike the testnets—where it was enough to just show up— the rewards are now based on how many DATA tokens you have staked on your node address. When your Broker Node observes a reward code, it reports it to our Rewards Backend. We are aware of the amount of DATA tokens on the address of the node in the Polygon Blockchain. From this, we are then able to determine your share of the rewards.

You may choose to stake between 0 and 10,000 DATA tokens on your node address. You can, of course, have more DATA on your node address than that, but reward calculation will cap it to 10,000. For example, 30,000 DATA on address A1 will get rewards as if there were 10,000 DATA staked. In order to get the benefits from 30,000 DATA, you need to have three nodes running that each have 10,000 DATA staked.

At launch, staking is possible only on the Polygon Mainnet. If you have DATA token holdings on the Ethereum Mainnet, Gnosis Chain (xDai), or Binance Smart Chain—you need to move them to the Polygon Mainnet, to the address of your Broker Node or Broker Nodes. Only DATA can be used for staking. The stake needs to remain on the node’s address; if you take it out, the node will not accumulate rewards any more. Any rewards already claimed will not be affected.

Incentivised streams and Brubeck rewards mining

At the start of the Brubeck Mainnet, the only incentivised streams are special ones created for this purpose. The reason for this is described here. When running the Broker Node, you are automatically subscribing to these special ‘rewards’ streams, which contain reward codes that are delivered on a random interval. When your Broker Node receives a reward code, it will then call our Rewards Backend, and based on this, we are able to verify that your node remains online and is eligible for reward.

In the future, any stream can be incentivised, as we move towards the Tatum milestone. More information will follow in later blog posts.

Accumulated rewards and payouts

In order to see the rewards a Broker Node has accumulated, we have set up some endpoints where they can be checked:

Accumulated rewards for a node address

Endpoint: https://brubeck1.streamr.network:3013/datarewards/:nodeAddress

Example response:

{

“DATA”: 2.1341

}

Claimed rewards for a node address

Endpoint: https://brubeck1.streamr.network:3013/stats/:nodeAddress

Example response:

{

“claimCount”: 177,

“claimPercentage”: 0.9888268156424581,

“claimedRewardCodes”: [

{

“claimTime”: “2022-02-11T13:52:31.958Z”,

“id”: “3c03ac2d-eca1-44f9-b376-66c0fda233c2”

},

{

“claimTime”: “2022-02-11T14:13:52.179Z”,

“id”: “353531a9-e283-45a8-b840-e983b7a2d002”

}, …

]

}

Annual percentage yield and annual percentage rate

Endpoint: https://brubeck1.streamr.network:3013/apy

returns:

  • APY spot and 24h
  • APR spot and 24h
  • data-staked spot and 24h

Spot is the value calculated from the last reward code, and the 24h value is a sliding average from the reward codes published in the last 24 hours.

Example response:

{

“24h-APR”: 19.52,

“24h-APY”: 22.21,

“24h-data-staked”: 20827178.12,

“spot-APR”: 20.45,

“spot-APY”: 25.19,

“spot-data-staked”: 21038386.21

}

Payouts

Earned rewards will be automatically sent to the node’s address. The estimated payout date is the first business day of each month.

Payouts cost gas. At the moment, the transaction prices in Polygon are small, so this is not an issue. Small gas costs are covered by reserving a tiny margin of the max inflation rate to cover gas, and distributing the rest as rewards. If gas costs become significant in the future, we might switch to a ‘payout on request’ model where the Broker Node runner can request a payout as often as they feel like it, and pay gas.

How to get DATA (and stake it in Polygon)

Depending on where you live, CEX can accept deposit fiat money with a Credit/Debit card or a bank transfer. You can acquire DATA tokens and withdraw them directly to Polygon, at least on Binance. Or get MATIC tokens which can be also withdrawn into Polygon and swap that – or any other asset you already have on Polygon – for DATA on QuickSwap.

You can also get DATA tokens on Ethereum mainnet and transfer them over to Polygon.

See CoinMarketCap for a list of markets where DATA is traded.

I have DATA on Mainnet, how to get that over to Polygon?

You can use the Polygon PoS bridge to transfer DATA between the Ethereum mainnet and Polygon.

I have DATA in a centralised exchange, how to get that DATA over to Polygon?

You can withdraw to the Ethereum mainnet, and then follow the above point. Alternatively, you could convert your DATA to MATIC tokens, withdraw them to Polygon, and then swap them back to DATA on QuickSwap. This method avoids paying any transaction fees on Ethereum.

I have DATA on Binance Smart Chain, how to get that over to Polygon?

You can deposit to centralised Binance, then follow the above instructions.

I have DATA on xDai, how to get that over to Polygon?

You can withdraw to the Ethereum mainnet using the OmniBridge, then bridge to Polygon using the Polygon PoS bridge.

How to see Polygon and DATA on MetaMask?

First, you’ll need to add the Polygon Network and DATA to MetaMask. It is super easy and you can refer to our previous blog post on how to do this.

Want to learn more about Streamr and running a node? Join the discussion and find your channel on Discord.

Stay up to date

Get the latest Streamr news and articles delivered to your inbox