Contracts

Contracts are public and can be found at the following repository: https://github.com/vechain/stargate-contracts

Addresses

Mainnet

Contract
Address
Utilities

StarGate NFT

0x1856c533ac2d94340aaa8544d35a5c1d4a21dee7

StarGate Delegation

0x4cb1c9ef05b529c093371264fab2c93cc6cddb0e

VeChain Nodes (Legacy)

0xb81E9C5f9644Dec9e5e3Cac86b4461A222072302

NodeManagement

0xB0EF9D89C6b49CbA6BBF86Bf2FDf0Eee4968c6AB

Testnet

Contract
Address

StarGate NFT

0x1ec1d168574603ec35b9d229843b7c2b44bcb770

StarGate Delegation

0x7240e3bc0d26431512d5b67dbd26d199205bffe8

VeChain Nodes (Legacy)

0x0747b39abc0de3d11c8ddfe2e7eed00aaa8d475c

NodeManagement

0x8bcbfc20ee39c94f4e60afc5d78c402f70b4f3b2

Overview

Phase1: Galactica

The StarGate smart contracts have undergone a comprehensive audit by Hacken.

StargateNFT

It is a continuation of the legacy VeChain Nodes (X-Node and Eco Nodes) collection. This contract allows users to stake VET and receive an NFT in exchange, which acts as a certificate of the staked VET. Whoever owns the NFT, also owns the staked VET associated to it.

This contract also supports the claim of VTHO rewards for user stakes generated by the protocol for holding VET (aka: base rewards).

The contract uses the following protocol libraries to implement the main functionality: Clock : Current block/timestamp/clock mode helper. DataTypes : Data structures. Errors : Custom errors definitions. Levels : Levels management. MintingLogic : Core stake/unstake & migration flow. Settings : Contract-parameter management. Token : Get tokens/users tokens data helper. VetGeneratedVtho : Support dual-token VeChain economic model. Distribution generated VTH0 rewards.

StargateDelegation

Upgradeable contract that allows a user owning a StargateNFT to start delegating and accumulate delegation VTHO rewards.

The term "delegation" is used in the context of the Hayabusa protocol hardfork, when a user will delegate their staked VET to a validator. This contract, though, is used to simulate the delegation process, so it's not used in the Hayabusa protocol, and VET are not transferred. When a user starts delegating, the contract will lock the NFT (done in the StargateNFT contract by calling the isDelegationActive function) and start accumulating rewards based on the NFT level. When a user exits delegation, the contract will unlock the NFT and stop accumulating rewards.

Each delegation follows a delegationPeriod, and it serves two main purposes:

  1. It defines a mandatory minimum duration for delegation (users can't exit before this period ends)

  2. It creates boundaries for when rewards can be claimed (only for completed periods)

NodeManagementV3

This contract was originally created and used by VeBetterDAO to manage node ownership and delegation. It supports delegation (aka: adding another address that can use the ownership of your NFT to perform on chain actions), retrieval of managed nodes, and integration with legacy VeChain Nodes and token auction contracts.

Developers can use this contract to easily migrate from pointing to the legacy VeChain nodes contract to the new StargateNFT contract, by pointing to both the legacy VeChain nodes contract and the new StargateNFT contract, allowing an easy way to check node ownership and delegation for both.

ABIs

Last updated

Was this helpful?