Testnet
If you need to experiment with the StarGate contracts, we deployed a set of contracts for you.
Addresses
StarGate NFT
0x1ec1d168574603ec35b9d229843b7c2b44bcb770
StarGate Delegation
0x7240e3bc0d26431512d5b67dbd26d199205bffe8
TokenAuction (Legacy Nodes)
0x0747b39abc0de3d11c8ddfe2e7eed00aaa8d475c
NodeManagement
0x8bcbfc20ee39c94f4e60afc5d78c402f70b4f3b2
Note to Users:
When transferring or delegating NFTs, any unclaimed delegation rewards will automatically be claimed by the contract on behalf of the user. However, the StarGate Delegation contract could fail if it runs out of VTHO. For testing purposes, please send testnet VTHO to the StarGate Delegation contract to enable other users to conduct their tests effectively.
Environment Configurations
Delegation Period Duration: 30 blocks (5 minutes)
Token Levels
Legacy Levels
Strength
1
100 VET
2,499
0.122399797
Thunder
2
500 VET
298
0.975076104
Mjolnir
3
1,500 VET
99
3.900304414
Legacy X Levels (unlimited cap on testnet)
VeThorX
4
60 VET
0.076674277
StrengthX
5
160 VET
0.313546423
ThunderX
6
560 VET
1.365550482
MjolnirX
7
1,560 VET
4.872526636
New Levels
Dawn
8
1 VET
500,000
0.000697615
Lightning
9
5 VET
100,000
0.003900304
Flash
10
20 VET
25,000
0.018074581
Import the contracts on Inspector
Go to https://inspector.vecha.in/, switch to testnet (on top-right) and add the StarGate
, NodeManagement
and TokenAuction
contracts by setting a name, the address and the ABI.

You can find the addresses above, and ABIs are available for download here.
Interact with contracts
You can test the StarGate
contracts without any needed permission, just call stake()
or stakeAndDelegate()
. The same goes for the NodeManagement
contract.
If you want to test the migration flow instead, you will need to first interact with the TokenAuction
contract to mint your self a legacy Node NFT.
To mint a Node in the TokenAuction
contract:
Import the testnet mnemonic:
denial kitchen pet squirrel other broom bar gas better priority spoil cross
A wallet can hold only 1 TokenAuction NFT at a time.
Call the
TokenAuction
contract
await legacyNodesContract.addToken(
holderAddress, // Put an address which does not come from the testnet mnemonic
level, // 1 for Strength .... 7 for MjolnirX
onUpgrade, // set this to false
applyUpgradeTime, // set this to 0
applyUpgradeBlockno // set this to 0
);
There is no need to actually hold VET in your wallet in order to own a legacy NFT, it is just enough to call the addToken()
function.
In testnet there is a limit of 100000 legacy VeChain Nodes that can be minted. After this number is reached, a new set of contracts must be deployed.
Now, you can call
migrate()
, andmigrateAndDelegate()
functions on theStarGateNFT
contract.
Run and Deploy Smart Contracts
For a comprehensive guide on executing tests, compiling the contracts, or deploying them within your own environment, developers can refer to the project repository on GitHub. This resource contains all necessary files and instructions, allowing you to clone the repository, explore the smart contract code, and follow setup procedures step-by-step.
Access the repository here: VeChain Stargate Contracts. This will equip you with the tools to effectively interact with the contracts and interface with the VeChain testnet or mainnet as needed.
Seed StargateDelegation
contract with VTHO
on solo network
StargateDelegation
contract with VTHO
on solo networkIn order to test the delegation rewards, claiming StargateDelegation
contract must hold enough VTHO
tokens. If you have your inspector up and running, you can add the VTHO
token there like this:
Name: VTHO
Address: 0x0000000000000000000000000000456E65726779
Abi:
After you did it, call the transferFrom()
function in the "Write" tab, with StargateDelegation
contract as a recipient.
Last updated
Was this helpful?