# GRT to Arbitrum Migration Guide

By [lexprime.eth](https://paragraph.com/@lexprime) · 2023-08-27

---

So, the Graph team has prepared contracts for the painless migration of our delegations and stakes to Arbitrum. To do this, we need a few simple steps. There will be 3 sections in this guide:

1.  Migration of a vesting contract with an unfinished lock-up period to a new vesting contract in Arbitrum.
    
2.  Migration of delegation to Arbitrum.
    
3.  Indexer stake migration to Arbitrum.
    

If you have tokens on a vesting contract with an unfinished vesting, then you need to first create a new vesting contract on the Arbitrum, as described in Part 1. If the vesting is completed, you can go straight to the migration of delegations in Part 2 or the migration of the stake (for indexers) in Part 3.

**_IMPORTANT!_** Please note that now, at the time of writing the guide, only 5% of all GRT rewards are distributed in the Arbitrum network. Unfortunately, transition tools do not provide a partial transition for delegators, unlike indexers who can only partially transfer their stake. Therefore, if you are a delegator, do not rush to do the migration, consider your benefit! Most of the inflation – 95% – is still distributed in the mainnet. Perhaps, if you have a small delegation, it makes sense for you to do the migration right now. Or wait until most of the inflation goes to the Arbitrum. You can move the vesting contract to the Arbitrum as described in Part 1, but leave the delegation to the mainnet.

For migration, we need ETH in the wallet. And also if you have GRT on a contract with an unfinished vesting period, then you should send a small amount of GRT, for example, 1 GRT to the locking contract itself in the main network.

One more important point before you start:

_From the moment the transfer is initiated, if it is not successful (for example, the transaction fails), you will have 7 days to complete it. After the expiration of 7 days, your tokens will be_ **_lost forever!_**

**1\. Migration of a vesting contract with an unfinished lock-up period to a new vesting contract in Arbitrum.**
----------------------------------------------------------------------------------------------------------------

_Before starting, make sure you have about 0.005 ETH (with gas < 30 gwei) in your wallet to make the migration_

_You must have at least 1 GRT directly on your vesting contract. If it's empty, send 1 GRT there or make release() if the tokens are not delegated._

Go to [Graph explorer](https://thegraph.com/explorer) and connect wallet.

![](https://storage.googleapis.com/papyrus_images/9d7ba3ed3edf0c519f020aca53010b2b084ac558c711a82119399353ea94969d.png)

In the drop-down menu, select our vesting contract.

![](https://storage.googleapis.com/papyrus_images/61845cfeb4aead12d58f967e502c5f0f23d7d18760a9a95550e6d8eb77b960ce.png)

Go to the Overview menu, there will be a notification about the possibility of migration. Click on the button to initialize a new vesting contract on the Arbitrum.

![](https://storage.googleapis.com/papyrus_images/6ce55e90eba48db3c6747020af62384ae3c8aa98df0bf7d981814f29c42b3ab8.png)

The first step is to ask us to revoke the approval of the old contract, we will do it.

![](https://storage.googleapis.com/papyrus_images/c982f20dbc301990db22ec4c5c0a1e40cc244480fe99117f4077484b6febd7a4.png)

Then we give approval to the helper contract.

![](https://storage.googleapis.com/papyrus_images/733f09805b48b0a738fa08be7b7db891a28ebd444285f59093d82c9366ce5518.png)

Then we need to make a deposit of about 0.003 ETH to the helper contract.

![](https://storage.googleapis.com/papyrus_images/724a97d376832dd41aeb14051d5ae716c5673c274c36c61978f6ec7f3d28215b.png)

After that, we're ready to start the migration process. Specify the number of unlocked tokens on your contract for migration, at least 1 GRT. Delegated tokens will be transferred in Part 2. Enter the new wallet address of the contract beneficiary if you want to change it.

_Carefully check the new address of the beneficiary if you change it. After this step, you won't be able to change anything!_

![](https://storage.googleapis.com/papyrus_images/7f7bea3e736aff538a9c2cc95d8093344508427c6b190741658636377b2191bb.png)

Once the transaction is submitted, a 20-minute timer will start. Let's wait and check that everything went well.

![](https://storage.googleapis.com/papyrus_images/84b6db1975a5d2d83028d181c2bc4b9218e26b37a87a72e8e712969755385078.png)

If the contract has been successfully created, you will see a window like this:

![](https://storage.googleapis.com/papyrus_images/c5a7e921845f1c52688f817bdfcc7ca39dada2dc45d2d2ec9fe61e8e9e21f35c.png)

Now you can go to a new vesting contract on the Arbitrum in your profile, a link will appear there.

![](https://storage.googleapis.com/papyrus_images/7fc3238df2b44e115874793e82bdf97cc3c465512c4063c3e8859b9db012c6d4.png)

That's all, our new contract has been created and now we can manage it at the Arbitrum.

Remember that you will be able to get tokens on the Arbitrum only when the vesting period is completely over, until then you will receive them on the mainnet.

You can proceed to transfer your delegation or stake to the Arbitrum.

**2\. Migration of delegation to Arbitrum.**
--------------------------------------------

Go to your [profile](https://thegraph.com/explorer). If you have free tokens without vesting, choose your wallet, if the tokens are on a vesting contract, choose your vesting contract. Then go to the Overview.

**_IMPORTANT!_** _If your indexer has migrated to Arbitrum, you will see such a notification with the possibility of migration. If not, then you need to wait for the indexer to migrate. Check with your indexer when he do._

Click Transfer Delegation.

![](https://storage.googleapis.com/papyrus_images/473d12d2adda408e07e53fafa508ce75351a784a8f4c7360a9311d29311426cd.png)

Enter the new address of the owner if we want to change or leave the old one.

![](https://storage.googleapis.com/papyrus_images/edfa72c6d45b8a68f1bb4a6a5d921272110d4134452b002287a089774f336a13.png)

Let's deposit about 0.00125 ETH to the helper contract.

![](https://storage.googleapis.com/papyrus_images/73cc73e97eec9092e2c6a5b0a2fff3aff48e8c9dc996820f7a1473b0ecc38da6.png)

Then we initiate a transfer to the Arbtrum.

**_IMPORTANT!_** _After you click Transfer Delegation, you will move your entire delegation to the Arbitrum. You will have 7 days to finish the transfer if something goes wrong. Otherwise, you will lose your tokens._

![](https://storage.googleapis.com/papyrus_images/d6af9bc38c07a0dc8886645471eb4faf4519de267b3c2153fef929f9db4b23a6.png)

After you initiate the transfer, you will need to wait 20 minutes and make sure that everything went well.

![](https://storage.googleapis.com/papyrus_images/524f345067f60ff4bcdb72bdf1e8a999debb4bcddab1f79bbabd3ac9252ecd89.png)

If all goes well, you will see the following screen and you will be able to view your new delegator profile on the Arbitrum.

![](https://storage.googleapis.com/papyrus_images/8044a0941931ec9089ea1f97c6a8910d833651c68ee15f42bc88341e9f6c8683.png)

This concludes the transfer of the delegation to the Arbitrum.

**3\. Indexer stake migration to Arbitrum.**
--------------------------------------------

Go to your [profile](https://thegraph.com/explorer). If you have free tokens without vesting, choose your wallet, if the tokens are on a vesting contract, then choose your vesting contract. Then go to the Overview menu and click the Transfer Stake button in the notification that appears about the migration status.

![](https://storage.googleapis.com/papyrus_images/7b62067c9c0dbd6ee21286e0be4554dfc9f94908dae02c8e8a92c5d71bc4b5a0.png)

Next, you will need to set the beneficiary's wallet address on the Arbitrum and deposit ETH to the helper contract (~0.001 ETH).

![](https://storage.googleapis.com/papyrus_images/57e532edc26285c1844b976aa861c6a4cb16481a413cfe26381d68009728a0d2.png)

After that, you can double-check the beneficiary's wallet address on the Arbitrum and specify the size of the stake you want to transfer (at least 100,000 GRT). Then click Transfer Stake.

**_IMPORTANT!_**\* Once you click Transfer Stake, you will have 7 days to finish the transfer if something goes wrong. Otherwise, you will lose your tokens.\*

![](https://storage.googleapis.com/papyrus_images/c93b4807a214ef9f130d6e7444b4c71c2474f4d7f0f7834718fc1c7cbeb713a4.png)

A 20-minute timer will start, wait for the migration to complete.

![](https://storage.googleapis.com/papyrus_images/74eba1dc9b34664380897ba84d647384808b404a286591800575a80096502ab7.png)

If everything goes well, you will see the following screen and will be able to go to your profile on the Arbitrum.

![](https://storage.googleapis.com/papyrus_images/363692c34f8de6cab43b11ed5bec9c71178a838138a369083a36d36affc58705.png)

That's all, thank you for your attention. I hope this guide will be useful. You can ask all questions about migration in the chat of my indexer - [here](https://t.me/lexprime_indexer)

My indexer on the mainnet is [here](https://thegraph.com/explorer/profile/0xbe9d7c691792937ca7e2535652886ff390cc5b86?view=Overview&chain=mainnet)

My indexer in the Arbitrum is [here](https://thegraph.com/explorer/profile/0x089f78D8cF0a5ae1b7A581B1910a73F8CB3e4774?view=Overview&chain=arbitrum-one)

Twitter is [here](https://twitter.com/Lex__Prime)

---

*Originally published on [lexprime.eth](https://paragraph.com/@lexprime/grt-to-arbitrum-migration-guide)*
