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

0x887d9102f0003f1724d8fd5d4fe95a11572fcd77

StarGate Delegation

0x32cb945dc25f4fc4214df63e3825045d6088b096

VeChain Nodes (Legacy)

0x8dbce5de4c1f1840a47ab10c682aee48e9d06c20

NodeManagement

0xde17d0a516c38c168d37685bb71465f656aa256e

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?