Context

At the moment, it’s not possible to change an Indexer’s rewards address using the available GUIs like Subgraph Studio or Explorer. If you’re staking GRT using a vesting contract, the recommended way of doing so is through Remix. This will allow you to interact with the right Token Lock Contract deployed on Ethereum mainnet, using your own vesting contract. Doing it through Etherscan is currently not possible. Please follow the guide below to get your protocol rewards sent to a different address other than the vesting contract and make your GRT rewards liquid.

Guide

Prerequisite (please start here)


A quick guide using Remix

  1. Go to https://remix.ethereum.org/

  2. On a clean workspace, create a new file called TokenLockWalletABIRemix.abi and paste the contents of the following TokenLockWalletABIRemix.json ABI file:

    token-distribution/TokenLockWalletABIRemix.json at main · graphprotocol/token-distribution

  3. Make sure there’s no compilation errors checking the Solidity Compiler button on the left. Remix automatically compiles files, so don’t worry if the button is greyed out.

  4. Go to Deploy and Run Transactions menu on the left and enter select Injected Web3 using the Environment dropdown menu. This will allow you to connect to Remix with your Metamask beneficiary address account on Ethereum mainnet.

    1. Feel free to use the subgraph above and use the Playground to fetch your vesting contract address by pasting your beneficiary address. Here’s an example:
    {
      tokenLockWallets(where: {beneficiary: "<YOUR_ETH_ADDRESS>"}) {
        id
      }
    }
    
  5. In the same pane, there’s a Load contract address at input text area. Make sure you enter here your vesting contract address

  6. If you had no errors, you’ll now see a list of functions you can call right below that area

  7. You must call setRewardsDestination(address _destination). (If you do not do this before closing your allocation, you will get your rewards on your vesting contract!)

    1. address _destination is the address you want the rewards sent to
  8. That’s it!

Notes