Node rewards: earn AUR by running a node

Anyone who runs a full node can earn AUR. You do not need to be a validator.

How you earn

  1. Bond. Your node locks a bond (a deposit) once. You get it back when you stop (after the unbonding period).
  2. Prove. Once per epoch the network picks one old block at random. Your node proves it still has that block's data. Only a node that really stores the chain can do this, and the proof is tied to your node's address, so it cannot be copied from another node.
  3. Get paid. Each block, a share of newly issued AUR goes into a node reward pool. At the end of every epoch the pool is split equally between all nodes that proved they store the chain, and paid to each node's payout address. If nobody proves, the pool rolls over to the next epoch.

All of this is done by the node software for you.

Run an earning node

auren join testnet --earn                 # rewards go to the node's own address
auren join testnet --earn <your-address>  # rewards go to your wallet

On the devnet and testnet the node asks the faucet for coins to cover the bond. Otherwise, send the bond (plus a little for fees) to the address the node prints when it starts. The node then registers itself and proves storage every epoch. Leave it running.

devnettestnetmainnet
Bond100 AUR500 AUR10,000 AUR (default)
Epoch120 blocks1,800 blocks14,400 blocks (default)
Pool share10% of issuance10%10%

What 10% means: it is 10% of the newly issued AUR, not of anyone's balance. With issuance at 3% a year, that is 0.3% of supply a year, shared between the nodes. Nobody pays it: it replaces part of what validators would have received. Fees are separate and tiny (about 0.000026 AUR for a transfer at the floor), and they are burned.

The pool share comes out of the normal issuance. Validator rewards are issuance minus the pool share, so total issuance does not change.

Rules

Check on it

curl https://testnet.auren.im/nodes

Returns the pool, current epoch, the challenged block, and every registered node with whether it has proved this epoch. The explorer shows the same under Nodes. JSON-RPC: aur_getNodes.

Manual control (CLI)

aurenctl node register --payout <address>   # bond (needs the bond amount in the account)
aurenctl node unregister                    # return the bond after the unbonding period

Transactions

TypeBody
registerNodepayout
unregisterNode
nodeProofepoch, digest = sha256(address + | + canonical JSON of the challenged block's header and txs)

Parameters: node.bond, node.epochBlocks, node.poolBps. See src/noderew.js.

What this is not

Rewards go to nodes that store the chain, not to nodes that merely exist. Serving data to others and uptime beyond one proof per epoch are not measured. Validators still earn the largest share, for proposing and signing blocks.

Edit this page on GitHub