# SUPRA > Supra is a full-stack, high-performance Layer 1 blockchain ecosystem with native oracles, verifiable randomness, automation, and cross-chain bridging. Supports both MoveVM and EVM smart contracts. Full documentation: https://docs.supra.com/llms-full.txt ## Supra Layer 1 - [Overview](https://docs.supra.com/overview): One chain. Full developer stack. - [Network Information](https://docs.supra.com/network-information): Relative network, faucet, and API details. - [Useful Links](https://docs.supra.com/useful-links): Quick access to official resources, developer tools, and community channels. - [Moonshot Consensus Algorithm](https://docs.supra.com/moonshot): Moonshot is a family of high-performance Byzantine Fault Tolerant (BFT) consensus protocols designed for blockchain systems. ## Supra MoveVM - [Overview](https://docs.supra.com/network/move/overview): Welcome to the Supra Move Layer 1 network documentation. Supra's MoveVM is a high-performance blockchain designed to support secure and scalable de... - [Getting Started](https://docs.supra.com/network/move/getting-started): Want to build on the Supra Move blockchain? You've come to the right place! - [Introduction to Docker](https://docs.supra.com/network/move/getting-started/docker): Before installing the Supra CLI, you will need to install Docker. It’s helpful to understand what Docker is, how it works, and why we use it for th... - [Setup Supra CLI](https://docs.supra.com/network/move/getting-started/supra-cli-with-docker): Installation of the Supra CLI using Docker. - [Create a Supra Account](https://docs.supra.com/network/move/getting-started/create-a-supra-account): Generate a key profile and view the public/private keys for use by the Supra CLI. - [Create a Move Package](https://docs.supra.com/network/move/getting-started/create-a-move-package): Create and deploy your first move module. - [Write a Module](https://docs.supra.com/network/move/getting-started/create-a-move-package/write-a-module): Create and deploy your first move module. - [Compile and Publish](https://docs.supra.com/network/move/getting-started/create-a-move-package/compile-and-publish): Create and deploy your first move module. - [Interact with a Package](https://docs.supra.com/network/move/getting-started/create-a-move-package/interact-with-a-package): Create and deploy your first move module. - [Create a dApp with StarKey](https://docs.supra.com/network/move/getting-started/your-first-dapp-with-starkey): Create your first Dapp using StarKey wallet, the official wallet of Supra - [Testnet Faucet](https://docs.supra.com/network/move/getting-started/testnet-faucet): For the latest RPC URL, please refer to the [Supra Network Information](/network/network-information) page. - [Network Information](https://docs.supra.com/network/move/network-information): Relative network, faucet, and API details. - [Token Standards](https://docs.supra.com/network/move/token-standards) - [Learn Move 101](https://docs.supra.com/network/move/learn-move): Want to learn Move with real examples? Start building today! - [Getting Started with Move](https://docs.supra.com/network/move/learn-move/move-101): New to Move? Start here with the basics! - [Unsigned Integers in Move](https://docs.supra.com/network/move/learn-move/unsigned-integers-in-move): Learn how Move handles different unsigned integer types, their use cases, and how they impact storage, performance, and gas efficiency. - [Math Operations in Move](https://docs.supra.com/network/move/learn-move/math-operations-in-move): Move supports familiar math operations with integer-based precision, requiring typecasting for calculations between different unsigned integer types. - [Using Vectors in Move](https://docs.supra.com/network/move/learn-move/using-vectors-in-move): Vectors in Move are dynamic lists that can grow or shrink as needed, making them essential for managing collections of data, including structs. - [Reading Resource Data with borrow_global](https://docs.supra.com/network/move/learn-move/reading-resource-data-with-borrow_global): `borrow_global` allows you to read an existing resource struct from a specific address without needing a signer, but the function must declare that... - [Passing Data in Move: Value vs. Reference](https://docs.supra.com/network/move/learn-move/passing-data-in-move-value-vs.-reference): Move uses pass-by-value for copies and pass-by-reference (& for reading, &mut for modifying) to data handling. - [Adding Elements with vector::push_back](https://docs.supra.com/network/move/learn-move/adding-elements-with-vector-push_back): `vector::push_back` allows you to add elements to a vector by passing a mutable reference (&mut), enabling dynamic storage updates within a module. - [Emitting Events with event::emit](https://docs.supra.com/network/move/learn-move/emitting-events-with-event-emit): Events allow smart contracts to emit signals that external applications can listen for, making it possible to track blockchain actions in real time. - [Move Book](https://docs.supra.com/network/move/move-book): The Move Book, modified for the Supra blockchain. - [Getting Started](https://docs.supra.com/network/move/move-book/getting-started) - [Modules and Scripts](https://docs.supra.com/network/move/move-book/getting-started/modules-and-scripts): Move has two different types of programs: _**Modules**_ and _**Scripts**_. Modules are libraries that define struct types along with functions that... - [Move Tutorial](https://docs.supra.com/network/move/move-book/getting-started/move-tutorial): Please refer to the [Move Core Language Tutorial](https://github.com/Entropy-Foundation/aptos-core/tree/dev/aptos-move/move-examples/move-tutorial). - [Primitive Types](https://docs.supra.com/network/move/move-book/primitive-types) - [Integers](https://docs.supra.com/network/move/move-book/primitive-types/integers): Move supports six unsigned integer types: `u8`, `u16`, `u32`, `u64`, `u128`, and `u256`. Values of these types range from 0 to a maximum that depen... - [Bool](https://docs.supra.com/network/move/move-book/primitive-types/bool): `bool` is Move's primitive type for boolean `true` and `false` values. - [Address](https://docs.supra.com/network/move/move-book/primitive-types/address): `address` is a built-in type in Move that is used to represent locations (sometimes called accounts) in global storage. An `address` value is a 256... - [Vector](https://docs.supra.com/network/move/move-book/primitive-types/vector): `vector` is the only primitive collection type provided by Move. A `vector` is a homogenous\ - [Signer](https://docs.supra.com/network/move/move-book/primitive-types/signer): `signer` is a built-in Move resource type. A `signer` is a [capability](https://en.wikipedia.org/wiki/Object-capability_model) that allows the hold... - [References](https://docs.supra.com/network/move/move-book/primitive-types/references): Move has two types of references: immutable `&` and mutable `&mut`. Immutable references are read only, and cannot modify the underlying value (or ... - [Tuples and Unit](https://docs.supra.com/network/move/move-book/primitive-types/tuples-and-unit): Move does not fully support tuples as one might expect coming from another language with them as a [first-class value](https://en.wikipedia.org/wik... - [Basic Concepts](https://docs.supra.com/network/move/move-book/basic-concepts) - [Local Variables and Scope](https://docs.supra.com/network/move/move-book/basic-concepts/local-variables-and-scope): Local variables in Move are lexically (statically) scoped. New variables are introduced with the keyword `let`, which will shadow any previous loca... - [Equality](https://docs.supra.com/network/move/move-book/basic-concepts/equality): Move supports two equality operations `==` and `!=` - [Abort and Assert](https://docs.supra.com/network/move/move-book/basic-concepts/abort-and-assert): `return` and `abort` are two control flow constructs that end execution, one for\ - [Conditionals](https://docs.supra.com/network/move/move-book/basic-concepts/conditionals): An `if` expression specifies that some code should only be evaluated if a certain condition is true. For example: - [While, For, and Loop](https://docs.supra.com/network/move/move-book/basic-concepts/while-for-and-loop): Move offers three constructs for looping: `while`, `for`, and `loop`. - [Functions](https://docs.supra.com/network/move/move-book/basic-concepts/functions): Function syntax in Move is shared between module functions and script functions. Functions inside of modules are reusable, whereas script functions... - [Structs and Resources](https://docs.supra.com/network/move/move-book/basic-concepts/structs-and-resources): A _struct_ is a user-defined data structure containing typed fields. Structs can store any non-reference type, including other structs. - [Constants](https://docs.supra.com/network/move/move-book/basic-concepts/constants): Constants are a way of giving a name to shared, static values inside of a `module` or `script`. - [Generics](https://docs.supra.com/network/move/move-book/basic-concepts/generics): Generics can be used to define functions and structs over different input data types. This language feature is sometimes referred to as _parametric... - [Type Abilities](https://docs.supra.com/network/move/move-book/basic-concepts/type-abilities): Abilities are a typing feature in Move that control what actions are permissible for values of a given type. This system grants fine-grained contro... - [Uses and Aliases](https://docs.supra.com/network/move/move-book/basic-concepts/uses-and-aliases): The `use` syntax can be used to create aliases to members in other modules. `use` can be used to create aliases that last either for the entire mod... - [Friends](https://docs.supra.com/network/move/move-book/basic-concepts/friends): The `friend` syntax is used to declare modules that are trusted by the current module. A trusted module is allowed to call any function defined in ... - [Packages](https://docs.supra.com/network/move/move-book/basic-concepts/packages): Packages allow Move programmers to more easily re-use code and share it\ - [Package Upgrades](https://docs.supra.com/network/move/move-book/basic-concepts/package-upgrades): Move code (e.g., Move modules) on the Supra blockchain can be upgraded. This\ - [Unit Tests](https://docs.supra.com/network/move/move-book/basic-concepts/unit-tests): Unit testing for Move adds three new annotations to the Move source language: - [Global Storage](https://docs.supra.com/network/move/move-book/global-storage) - [Structure](https://docs.supra.com/network/move/move-book/global-storage/structure): The purpose of Move programs is to read from and write to tree-shaped persistent global storage. Programs cannot access the filesystem, network, or... - [Operators](https://docs.supra.com/network/move/move-book/global-storage/operators): Move programs can create, delete, and update resources in global storage using the following five instructions: - [Reference](https://docs.supra.com/network/move/move-book/reference) - [Standard Library](https://docs.supra.com/network/move/move-book/reference/standard-library): Supra provides multiple useful libraries for developers. The complete up-to-date\ - [Coding Conventions](https://docs.supra.com/network/move/move-book/reference/coding-conventions): This section lays out some basic coding conventions for Move that the Move team has found helpful. These are only recommendations, and you should f... - [Aptos to Supra Cheatsheet](https://docs.supra.com/network/move/aptos-to-supra-cheatsheet): This quick-reference guide helps you take what you know from the Aptos framework and translate it into building Move modules with the Supra framework. - [Ethereum to Supra Move Cheatsheet](https://docs.supra.com/network/move/ethereum-to-supra-move-cheatsheet): ```solidity - [TypeScript SDK](https://docs.supra.com/network/move/typescript-sdk): The Supra L1 TypeScript SDK provides a convenient way to interact with and perform operations on Supra. It offers a set of utility functions, class... - [Guides](https://docs.supra.com/network/move/typescript-sdk/guides) - [Create Supra Accounts](https://docs.supra.com/network/move/typescript-sdk/guides/create-supra-accounts): How to create new and import existing accounts. - [Publish a Package](https://docs.supra.com/network/move/typescript-sdk/guides/publish-a-package): How to publish a package using the TypeScript SDK. - [Python SDK](https://docs.supra.com/network/move/python-sdk): str, uri: str) -> str`** - [REST API](https://docs.supra.com/network/move/rest-api) - [Supra Multisig Guide](https://docs.supra.com/network/move/supra-multisig-guide): The Supra Multisig module control to Multisig accounts unlike traditional Multisig systems that require users to specify public keys, this Module o... - [Supra Fungible Asset (FA) Module](https://docs.supra.com/network/move/supra-fungible-asset-fa-module): The Supra Framework's fungible asset module provides a comprehensive standard for creating, managing, and transferring fungible tokens on the Supra... - [Binary Canonical Serialization (BCS) Standard Guide](https://docs.supra.com/network/move/binary-canonical-serialization-bcs-standard-guide): Binary Canonical Serialization (BCS) is the fundamental serialization format powering the Supra L1 ecosystem. BCS is a binary canonical non-self-de... - [CLI Commands](https://docs.supra.com/network/move/cli-commands): On May 2nd, 2025 a new version of the CLI was released. The new image (v9.0.12) introduced a number of changes, - [Accounts](https://docs.supra.com/network/move/cli-commands/accounts): On May 2nd, 2025 a new version of the CLI was released. The new image (v9.0.12) introduced a number of changes, including an improved profile featu... - [Profiles](https://docs.supra.com/network/move/cli-commands/profiles): On May 2nd, 2025 a new version of the CLI was released. The new image (v9.0.12) introduced a number of changes, including an improved profile featu... - [Tools](https://docs.supra.com/network/move/cli-commands/tools): On May 2nd, 2025 a new version of the CLI was released. The new image (v9.0.12) introduced a number of changes, including an improved profile featu... - [Cheat Sheet](https://docs.supra.com/network/move/cli-commands/cheat-sheet): On May 2nd, 2025 a new version of the CLI was released. The new image (v9.0.12) introduced a number of changes, - [Supra Move IDE](https://docs.supra.com/network/move/dev/supra-move-ide): Supra IDE is a browser-based development environment for writing, compiling, and deploying Move smart contracts on the Supra blockchain. This guide... - [Project & Files Management](https://docs.supra.com/network/move/dev/supra-move-ide/project-and-files-management): The IDE makes it easy to manage your projects directly in the browser. All project data is stored locally in your browser's IndexedDB. - [IDE Core Actions](https://docs.supra.com/network/move/dev/supra-move-ide/ide-core-actions): These action buttons in the Explorer tab allow you to interact with your Move code and the Supra blockchain. - [Contract Interactions & Transaction History](https://docs.supra.com/network/move/dev/supra-move-ide/contract-interactions-and-transaction-history): This tab is used to execute view or run functions for your created addresses. Steps: - [Accounts and Balance](https://docs.supra.com/network/move/dev/supra-move-ide/accounts-and-balance): 1. **Click Local Wallets to view wallets stored locally** - [Supra Move VS Code Extension](https://docs.supra.com/network/move/dev/supra-move-vs-code-extension): Welcome to the official documentation for the **Supra Move VS Code Extension**, a comprehensive developer tool designed to streamline development o... - [Supra Dapp Templates](https://docs.supra.com/network/move/dev/supra-dapp-templates): Welcome to [@supranpm/supra-dapp-templates](https://www.npmjs.com/package/@supranpm/supra-dapp-templates), your go-to starter kit for dapp developm... ## Supra EVM - [Welcome to Early Access](https://docs.supra.com/network/evm): You're now exploring the early-access environment for Supra's MultiVM Testnet, a major step toward a fully unified, multi-language smart contract p... - [Network Information](https://docs.supra.com/network/evm/network-information): Relative network, faucet, and API details. - [Getting Started](https://docs.supra.com/network/evm/getting-started): Developing on Supra's EVM network is no different than other EVM networks. Using existing development tools, you can start immediately. - [Remix IDE](https://docs.supra.com/network/evm/getting-started/remix-ide): Set up Starkey Wallet, fund it, write, deploy, and interact with a smart contract on SupraEVM using Remix IDE. - [Connect StarKey Wallet to Remix](https://docs.supra.com/network/evm/getting-started/remix-ide/connect-starkey-wallet): Learn how to link Starkey Wallet with Remix IDE to deploy and interact with smart contracts on SupraEVM. Ensure your wallet is connected to the cor... - [Fund Your Wallet](https://docs.supra.com/network/evm/getting-started/remix-ide/fund-your-wallet): Ensure your Starkey Wallet has sufficient funds by using the faucet endpoint. - [Guide to Deploy Smart Contract](https://docs.supra.com/network/evm/getting-started/remix-ide/deploy-smart-contract): Follow this step-by-step guide to write, compile, deploy, and interact with a smart contract on SupraEVM using Remix IDE. Learn how to set up your ... - [Hardhat](https://docs.supra.com/network/evm/getting-started/hardhat): Set up, configure, compile, and deploy smart contracts on SupraEVM using Hardhat. - [Create Hardhat Project](https://docs.supra.com/network/evm/getting-started/hardhat/create-hardhat-project): Set up a Hardhat project by installing dependencies, initializing a new npm project, and creating a sample Hardhat environment to deploy smart cont... - [Getting Private Key from StarKey](https://docs.supra.com/network/evm/getting-started/hardhat/getting-private-key-from-starkey): To use your StarKey wallet with Hardhat or Foundry, you'll need your Ethereum private key. - [Write Smart Contract](https://docs.supra.com/network/evm/getting-started/hardhat/update-hardhat-config): Configure Hardhat to connect with SupraEVM, write a Solidity smart contract, and create a deployment script to automate deployment using Hardhat sc... - [Deploy Smart Contract](https://docs.supra.com/network/evm/getting-started/hardhat/deploy-smart-contract): Compile your Solidity smart contract using Hardhat, then deploy it to SupraEVM by running the deployment script, ensuring successful contract execu... - [Foundry](https://docs.supra.com/network/evm/getting-started/foundry): Initialize, configure, compile, deploy, and interact with smart contracts on SupraEVM using Foundry. - [Create Foundry Project](https://docs.supra.com/network/evm/getting-started/foundry/create-foundry-project): Initialize and configure a Foundry project for SupraEVM by setting up the directory, configuring the foundry.toml file, and defining the RPC URL, c... - [Getting Private Key from StarKey](https://docs.supra.com/network/evm/getting-started/foundry/getting-private-key-from-starkey): To use your StarKey wallet with Hardhat or Foundry, you'll need your Ethereum private key. - [Write Smart Contract](https://docs.supra.com/network/evm/getting-started/foundry/write-smart-contract): Create a Solidity contract to store and retrieve data, then set up a deployment script to automate deployment on SupraEVM using Foundry. - [Deploying Smart Contract](https://docs.supra.com/network/evm/getting-started/foundry/deploying-smart-contract): Compile and deploy your Solidity smart contract on SupraEVM using Foundry. After deployment, interact with the contract using cast send to execute ... - [Build on SupraEVM](https://docs.supra.com/network/evm/build-on-supraevm): Supra MultiVM is a core feature of the Supra Layer-1 blockchain that allows developers to deploy smart contracts written in different programming l... - [Add MultiVM to StarKey](https://docs.supra.com/network/evm/build-on-supraevm/add-multivm-to-starkey): Connect your StarKey Wallet to the Supra MultiVM Testnet by adding the custom network details and funding your account using the built-in faucet. T... - [Hardhat](https://docs.supra.com/network/evm/build-on-supraevm/hardhat): This guide walks you through building a Solidity-based DAO Management Contract on SupraEVM, including development, deployment, and interaction usin... - [Prerequisites](https://docs.supra.com/network/evm/build-on-supraevm/hardhat/prerequisites): Before starting, make sure you have: - [Start Building](https://docs.supra.com/network/evm/build-on-supraevm/hardhat/start-building): Initialize a new Hardhat project and prepare it for deployment on SupraEVM. - [Foundry](https://docs.supra.com/network/evm/build-on-supraevm/foundry): This guide walks you through building and deploying a Solidity smart contract on SupraEVM using Foundry, including project setup, configuration, co... - [Start Building](https://docs.supra.com/network/evm/build-on-supraevm/foundry/start-building): Initialize a new Foundry project and prepare it for deployment on SupraEVM. - [Remix IDE](https://docs.supra.com/network/evm/build-on-supraevm/remix-ide): Remix IDE lets you write, compile, deploy, and interact with Solidity smart contracts directly in your browser, no local setup required. - [Prerequisites](https://docs.supra.com/network/evm/build-on-supraevm/remix-ide/prerequisites): Before starting, make sure you have: - [Start Building](https://docs.supra.com/network/evm/build-on-supraevm/remix-ide/start-building): Set up Remix, connect StarKey Wallet, and deploy your first smart contract on SupraEVM. - [SupraEVM Resources](https://docs.supra.com/network/evm/supraevm-resources): Your complete hub for learning Solidity, Move, and building smart contracts on SupraEVM. - [Solidity](https://docs.supra.com/network/evm/supraevm-resources/solidity): Understand how Solidity works and start building smart contracts across the EVM ecosystem. - [Move](https://docs.supra.com/network/evm/supraevm-resources/move): Learn how Move enables secure, resource-oriented smart contracts on the Supra L1. - [Solidity Resources](https://docs.supra.com/network/evm/supraevm-resources/solidity-resources): Explore tools, frameworks, tutorials, and advanced guides to level up your Solidity development. - [EVM/MoveVM Cheatsheet](https://docs.supra.com/network/evm/supraevm-resources/evm-movevm-cheatsheet): Quickly compare Solidity and Move, and understand how the EVM and MoveVM differ in design and execution. ## Node Operations - [Overview](https://docs.supra.com/network/node): Please note that Node Operation is currently permissioned to select node operators and is not available to the public - [Node Operator FAQ](https://docs.supra.com/network/node/node-operator-faq): Yes, you should run all the steps of Round onboarding for Public Testnet on the machine that will act as the validator. - [Node Upgrade Guide - Mainnet](https://docs.supra.com/network/node/node-upgrade-guide-mainnet): You can follow the step-by-step process for upgrading your Supra Validator Node to version v9.1.10 with minimal downtime. Keeping your Supra Valida... - [Upgrade Checklist (Pre-Upgrade Verification)](https://docs.supra.com/network/node/node-upgrade-guide-mainnet/upgrade-checklist-pre-upgrade-verification): Before upgrading, please complete the following steps. - [Download the Node Management Scripts](https://docs.supra.com/network/node/node-upgrade-guide-mainnet/download-the-node-management-scripts): Before proceeding with the upgrade, download the latest node management scripts. - [Update the Supra Node Docker Image](https://docs.supra.com/network/node/node-upgrade-guide-mainnet/update-the-supra-node-docker-image): The following commands will enable you to update the Docker image for your Validator Node and RPC node. - [Download the Node Management Scripts for RPC](https://docs.supra.com/network/node/node-upgrade-guide-mainnet/download-the-node-management-scripts-for-rpc): Before proceeding with the upgrade, download the latest node management scripts. - [Starting the Supra Nodes](https://docs.supra.com/network/node/node-upgrade-guide-mainnet/starting-the-supra-nodes): After migration, you can restart the node. - [Monitor Node Synchronization](https://docs.supra.com/network/node/node-upgrade-guide-mainnet/monitor-node-synchronization): You can follow the steps below to Monitor your Validator Node. - [CLI Improvements](https://docs.supra.com/network/node/node-upgrade-guide-mainnet/cli-improvements): The following changes have been made in **CLI v0.5.0**: - [Recovery Guide](https://docs.supra.com/network/node/node-upgrade-guide-mainnet/recovery-guide): First, stop your node: - [Node Upgrade Guide - Testnet](https://docs.supra.com/network/node/node-upgrade-guide-testnet): You can follow the step-by-step process for upgrading your Supra Validator Node to version 9.0.12 with minimal downtime. Keeping your Supra Validat... - [Upgrade Checklist (Pre-Upgrade Verification)](https://docs.supra.com/network/node/node-upgrade-guide-testnet/upgrade-checklist-pre-upgrade-verification): Before upgrading, please complete the following steps. - [Download the Node Management Scripts](https://docs.supra.com/network/node/node-upgrade-guide-testnet/download-the-node-management-scripts): Before proceeding with the upgrade, download the latest node management scripts. - [Update the Supra Node Docker Image](https://docs.supra.com/network/node/node-upgrade-guide-testnet/update-the-supra-node-docker-image): The following commands will enable you to update the Docker image for your Validator Node and RPC node. - [Validator Migration to 9.x.x](https://docs.supra.com/network/node/node-upgrade-guide-testnet/validator-migration-to-9.x.x): To migrate your Validator Node, run the following command: - [RPC Migration to 9.x.x](https://docs.supra.com/network/node/node-upgrade-guide-testnet/rpc-migration-to-9.x.x): Run the following command to migrate the database and configuration files of your RPC node to the latest version. - [Monitor Node Synchronization](https://docs.supra.com/network/node/node-upgrade-guide-testnet/monitor-node-synchronization): You can follow the steps below to Monitor your Validator Node. - [CLI Improvements](https://docs.supra.com/network/node/node-upgrade-guide-testnet/cli-improvements): The following changes have been made in **CLI v0.5.0**: - [Recovery Guide](https://docs.supra.com/network/node/node-upgrade-guide-testnet/recovery-guide): If your node falls too far behind the rest of the network or its database becomes corrupted then you will need to recover it from the latest state ... - [Node Relocation Guide](https://docs.supra.com/network/node/node-relocation-guide): 1. You have an existing Supra Validator running in either Testnet or Mainnet. We will refer to the machine that is currently running this Validator... - [Summary](https://docs.supra.com/network/node/node-relocation-guide/summary): 1. Copy your Supra configuration files from the old instance to the new instance. These files are located in SUPRA_HOME and include: - [Step 1](https://docs.supra.com/network/node/node-relocation-guide/step-1): Generate an SSH Key Pair on the Old Instance: - [Step 2](https://docs.supra.com/network/node/node-relocation-guide/step-2): SSH_KEY_PATH="ssh_private_key_path" - [Step 3](https://docs.supra.com/network/node/node-relocation-guide/step-3): Execute the following Docker command to initialize the container with the latest Supra Validator Docker image for your target environment on the ne... - [Step 4](https://docs.supra.com/network/node/node-relocation-guide/step-4): 1. Please sync the latest snapshot before updating your validator's network address. - [Step 5](https://docs.supra.com/network/node/node-relocation-guide/step-5): If you are utilizing the same DNS name for your new instance: - [Step 6](https://docs.supra.com/network/node/node-relocation-guide/step-6): If you are using a different DNS name or IP address, follow the steps outlined below on the new instance: - [Step 7](https://docs.supra.com/network/node/node-relocation-guide/step-7): * Sync the latest snapshot for your target environment to the new instance using the rclone commands from Step 4. - [Step 8](https://docs.supra.com/network/node/node-relocation-guide/step-8): Run the following command to start the Supra Validator Node for your target environment on the new instance. - [Creating SupraDesk Tickets via Email](https://docs.supra.com/network/node/creating-supradesk-tickets-via-email): This document outlines the steps to create tickets in the application through both Slack and email. ## Automation - [Overview](https://docs.supra.com/automation): Supra Automation is a native execution engine that transforms how smart contracts operate. Traditional smart contracts are passive, they require ex... - [Overview](https://docs.supra.com/automation/overview): Supra Automation is a native execution engine that transforms how smart contracts operate. Traditional smart contracts are passive, they require ex... - [Getting Started](https://docs.supra.com/automation/getting-started): Supra’s Automation Network is built to be developer-friendly. It provides multiple interfaces for registering tasks, managing them, and observing e... - [API Reference](https://docs.supra.com/automation/api-reference): Supra provides a rich set of APIs for interacting with automation services, monitoring execution, and retrieving registry data. Below are the key c... - [Smart Contract Integration](https://docs.supra.com/automation/smart-contract-integration): Supra’s Automation Network is designed to work with any Move-based smart contract that exposes callable entry functions. To make a contract automat... - [Your First Automation Task](https://docs.supra.com/automation/your-first-automation-task): Automation is second nature in Web2 (cron jobs, schedulers, CI/CD), but in Web3, it’s still uncommon. Most on-chain functions still need manual input. - [Prerequisites & Epoch Timing](https://docs.supra.com/automation/your-first-automation-task/prerequisites-and-epoch-timing): In Web3, automation tasks are often influenced by time-based intervals. On Supra, an **epoch** is a 2-hour interval (**7200 seconds**) used for int... - [Create the Move Smart Contract](https://docs.supra.com/automation/your-first-automation-task/create-the-move-smart-contract): For this guide we'll create an automation contract that will increment a default value with each automated transaction once the automaton task gets... - [Calculate task-expiry-time & task-automation-fee](https://docs.supra.com/automation/your-first-automation-task/calculate-task-expiry-time-and-task-automation-fee): ```powershell - [Register your Automation Task](https://docs.supra.com/automation/your-first-automation-task/register-your-automation-task): Make sure the contract is published before registering automation — otherwise, the system won’t be able to find your function. - [Canceling Your Automation Task](https://docs.supra.com/automation/your-first-automation-task/canceling-your-automation-task): Canceling a task prevents it from executing in the future. - [Using `--type-args` in Automation](https://docs.supra.com/automation/using-type-args): When registering automation tasks for functions that use generic types, you must specify the concrete types using the `--type-args` parameter. - [Use Cases of AutoFi](https://docs.supra.com/automation/use-cases): AutoFi represents the real-world application layer of Supra’s Automation Network. With native automation built into the chain, developers can creat... - [Glossary](https://docs.supra.com/automation/glossary) - [FAQs](https://docs.supra.com/automation/faqs): Supra’s automation is built into the validator layer. There are no off-chain agents, bots, or centralized relayers. All task evaluation and executi... ## Oracles - [Overview](https://docs.supra.com/oracles): Welcome to the Supra Oracles documentation. Supra Oracles delivers a decentralized, high-performance oracle infrastructure that connects real-world... - [Overview](https://docs.supra.com/oracles/overview): Welcome to the Supra Oracles documentation. Supra Oracles delivers a decentralized, high-performance oracle infrastructure that connects real-world... - [Data Feeds](https://docs.supra.com/oracles/data-feeds): Oracle feeds play a pivotal role in delivering dependable and precise real-world data to blockchain networks, unlocking a multitude of valuable use... - [Data Feeds List](https://docs.supra.com/oracles/data-feeds/data-feeds-index): Welcome to our data feeds catalog, the gateway to seamlessly integrating real-world data on-chain. This will help you empower your smart contracts ... - [Pull Oracle](https://docs.supra.com/oracles/data-feeds/pull-oracle): DORA V2, our latest version of data feeds protocol, uses a combination of Web2 and Web3 methods to achieve ultra-low latency when sending data from... - [Data Pair Conversion](https://docs.supra.com/oracles/data-feeds/pull-oracle/data-pair-conversion): The list of data pairs offered by Supra is getting longer every day, but sometimes you might not find the exact pair that you have been looking for... - [Available Networks](https://docs.supra.com/oracles/data-feeds/pull-oracle/networks): Default contract for pull oracle is "Pull contract". Storage contract would be required for data pair conversion (derived pairs). - [Push Oracle](https://docs.supra.com/oracles/data-feeds/push-oracle): Supra's Push oracle publishes price pairs on-chain regularly and at high frequencies, enabling consumers to get near real-time prices for their sma... - [Available Networks](https://docs.supra.com/oracles/data-feeds/push-oracle/networks): Push oracles usually require network foundation support for gas for sustainable maintenance of the feeds. The frequencies and deviation thresholds ... - [APIs - Real time and Historical data](https://docs.supra.com/oracles/apis-real-time-and-historical-data): Welcome to the Supra Price Feeds API! - [Rest API](https://docs.supra.com/oracles/apis-real-time-and-historical-data/rest-api): Rest API enables users to request the latest price update for multiple data pairs or historical prices up to 1 month for a single data pair. We wil... - [WebSocket API](https://docs.supra.com/oracles/apis-real-time-and-historical-data/websocket-api): WebSocket API streams price feeds data real time. Users can configure the query based on the preferred resolution to receive OHLC( Open price, High... - [Price Widgets](https://docs.supra.com/oracles/apis-real-time-and-historical-data/price-widgets): Supra provides embeddable widgets for displaying cryptocurrency data on websites. These widgets can be customised and be integrated using HTML ifra... - [Indices](https://docs.supra.com/oracles/indices): Supra Indices serve as a powerful tool for creating fully transparent cryptocurrency indices on the Supra blockchain, similar to traditional equity... - [Creating a new on-chain index](https://docs.supra.com/oracles/indices/creating-a-new-on-chain-index): Important: Please make sure you read and understand [Terms of Use](https://supra.com/terms-of-use/) before start using - [Read on-chain Indices](https://docs.supra.com/oracles/indices/read-on-chain-indices): Reading index values is permissionless in Supra L1. Any user or dApp can calculate and read the latest values of any index available in Supra. Whil... - [Technical Indicators](https://docs.supra.com/oracles/technical-indicators): Technical indicators are mathematical calculations based on historical price data that help traders and automated systems analyze market trends, mo... - [Developer Guide](https://docs.supra.com/oracles/technical-indicators/developer-guide): This guide shows you how to integrate on-chain technical indicators (SMA, EMA, RSI) into your Supra L1 smart contracts. All indicators are calculat... - [Simple Moving Average (SMA)](https://docs.supra.com/oracles/technical-indicators/developer-guide/simple-moving-average-sma): **What It Is**\ - [Exponential Moving Average (EMA)](https://docs.supra.com/oracles/technical-indicators/developer-guide/exponential-moving-average-ema): EMA is a weighted moving average that gives more importance to recent prices. It responds faster to price changes than SMA, making it useful for ca... - [Relative Strength Index (RSI)](https://docs.supra.com/oracles/technical-indicators/developer-guide/relative-strength-index-rsi): **What It Is**\ - [Example 1 : Market Analysis with TI](https://docs.supra.com/oracles/technical-indicators/example1-market-analysis): Below examples have been added just to showcase what could be potentially done with this new form of information on chain. Possibilities are endles... - [Example2: Complete Trading Bot with TI](https://docs.supra.com/oracles/technical-indicators/example2-trading-bot): This is a sample trading bot made with technical indicators - [Oracle Value Capture (OVC)](https://docs.supra.com/oracles/oracle-value-capture-ovc): Oracle Value Capture (OVC) is Supra's mechanism for enabling DeFi protocols to reclaim liquidation fees that are currently captured by external MEV... - [The Problem](https://docs.supra.com/oracles/oracle-value-capture-ovc/the-problem): In the current DeFi landscape, oracles provide the price data that triggers liquidations, but the protocols consuming that data rarely capture any ... - [How OVC Works](https://docs.supra.com/oracles/oracle-value-capture-ovc/how-ovc-works): OVC bridges oracle data with on-chain actions, turning price feeds into monetizable execution pathways. The system operates through a structured pi... - [Revenue Model](https://docs.supra.com/oracles/oracle-value-capture-ovc/revenue-model): OVC converts liquidation events into a recurring revenue stream for partner protocols. The economics are straightforward: liquidation fees that pre... - [The SupraEVM Advantage](https://docs.supra.com/oracles/oracle-value-capture-ovc/the-supraevm-advantage): OVC works today as an off-chain execution layer on any chain where Supra Oracles are integrated. But for protocols seeking the best possible econom... - [Risks & Mitigations](https://docs.supra.com/oracles/oracle-value-capture-ovc/risks-and-mitigations): Like any system operating at the intersection of oracle infrastructure, MEV, and DeFi protocol economics, OVC faces real-world risks. Below is an h... - [Getting Started](https://docs.supra.com/oracles/oracle-value-capture-ovc/getting-started): OVC is designed for fast onboarding with minimal integration effort. The adoption path moves from initial conversation through to live revenue capt... ## dVRF (Verifiable Randomness) - [Overview](https://docs.supra.com/dvrf): On-chain and off-chain applications connected to gaming, lottery, and sampling rely heavily on entropy. It could be a dynamic NFT mint, loot boxes,... - [Overview](https://docs.supra.com/dvrf/overview): On-chain and off-chain applications connected to gaming, lottery, and sampling rely heavily on entropy. It could be a dynamic NFT mint, loot boxes,... - [Learn Supra dVRF](https://docs.supra.com/dvrf/learn-supra-dvrf) - [Available Versions and Networks](https://docs.supra.com/dvrf/learn-supra-dvrf/networks): Please refer below for the Supra Contract addresses of each network. - [Supra dVRF: Architecture Guide](https://docs.supra.com/dvrf/learn-supra-dvrf/supra-dvrf-architecture-guide): Supra's decentralized Verifiable Random Function (dVRF) provides a secure, tamper-proof solution for generating random numbers in Web3 applications... - [Getting Started](https://docs.supra.com/dvrf/build-supra-l1): Before diving into the technical details, let's understand how dVRF works and how to subscribe to consume random numbers. - [Getting Started](https://docs.supra.com/dvrf/build-supra-l1/getting-started): Before diving into the technical details, let's understand how dVRF works and how to subscribe to consume random numbers. - [Create your subscription](https://docs.supra.com/dvrf/build-supra-l1/create-your-subscription): To start using dVRF, you need to create a subscription that will manage your random number requests and handle gas payments for callbacks. You can ... - [Gas Configurations](https://docs.supra.com/dvrf/build-supra-l1/gas-configurations): Now that you understand how dVRF works and have created your subscription, it's time to configure gas settings properly. Gas configuration is cruci... - [Add Contracts to Subscription](https://docs.supra.com/dvrf/build-supra-l1/add-contracts-to-subscription): After creating your subscription and configuring gas settings, you need to whitelist your consumer contracts. Only whitelisted contracts can reques... - [Deposit and Withdraw Funds](https://docs.supra.com/dvrf/build-supra-l1/deposit-and-withdraw-funds): After adding contracts, you need to ensure your subscription has sufficient funds to pay for callback gas fees. You can deposit funds through the w... - [Request Random Numbers](https://docs.supra.com/dvrf/build-supra-l1/request-random-numbers): Ready to get random? Follow these four simple steps to integrate Supra dVRF into your Move module and start requesting verifiable random numbers. - [Legacy VRF - V2 Developer Guide](https://docs.supra.com/dvrf/build-supra-l1/v2-guide): Supra dVRF requires a whitelisted subscription to the service with a customer-controlled wallet address to act as the main reference. Once your wal... - [Getting Started](https://docs.supra.com/dvrf/build-third-party-evm-networks): Before diving into the technical details, let's understand how dVRF works and how to subscribe to consume random numbers. - [Getting Started](https://docs.supra.com/dvrf/build-third-party-evm-networks/getting-started): Before diving into the technical details, let's understand how dVRF works and how to subscribe to consume random numbers. - [Create your subscription](https://docs.supra.com/dvrf/build-third-party-evm-networks/create-your-subscription): To start using dVRF, you need to create a subscription that will manage your random number requests and handle gas payments for callbacks. You can ... - [VRF Subscription FAQ](https://docs.supra.com/dvrf/build-third-party-evm-networks/vrf-subscription-model): Supra dVRF is a prepaid subscription model that provides enhanced controls for consumers. This document will walk you through the key features and ... - [Gas Configurations](https://docs.supra.com/dvrf/build-third-party-evm-networks/gas-configurations): Now that you understand how dVRF works and have created your subscription, it's time to configure gas settings properly. Gas configuration is cruci... - [Add Contracts to subscription](https://docs.supra.com/dvrf/build-third-party-evm-networks/add-contracts-to-subscription): After creating your subscription and configuring gas settings, you need to whitelist your consumer contracts. Only whitelisted contracts can reques... - [Deposit and Withdraw Funds](https://docs.supra.com/dvrf/build-third-party-evm-networks/deposit-and-withdraw-funds): After adding contracts, you need to ensure your subscription has sufficient funds to pay for callback gas fees. You can deposit funds through the w... - [Request Random Numbers](https://docs.supra.com/dvrf/build-third-party-evm-networks/request-random-numbers): Supra dVRF uses a two-contract system: - [Other Functions](https://docs.supra.com/dvrf/build-third-party-evm-networks/other-functions): Beyond requesting random numbers, Supra dVRF provides additional functions for managing your account, monitoring balances, and configuring contract... - [Migration to dVRF 3.0 on EVM (thirdparty)](https://docs.supra.com/dvrf/build-third-party-evm-networks/migration-to-dvrf-3.0): This page introduces the new features of Supra dVRF 3.0 and provides migration steps. Clients are encouraged to migrate at their convenience before... ## SupraNova (Bridge) - [SupraNova Bridge - Bridging ETH to Supra](https://docs.supra.com/supranova): SupraNova is a cross-chain communication framework developed by Supra. It enables the transfer of assets and messages across blockchains by integra... - [Bridging Flow](https://docs.supra.com/supranova/bridging-flow): This section explains how to use the SupraNova Bridge dApp to bridge ETH from Ethereum to supETH on Supra network, with each technical stage explai... - [Supra’s Interoperability Model (HyperNova vs HyperLoop)](https://docs.supra.com/supranova/hypernova-vs-hyperloop): SupraNova integrates two types of bridging models depending on the destination chain and required trust assumptions: - [Standard Two-Layer Approach in SupraNova](https://docs.supra.com/supranova/standard-two-layer-approach): SupraNova organizes its bridging infrastructure into clearly separated functional layers, each responsible for a distinct part of the cross-chain c... - [Workflow of Hypernova Bridging within SupraNova](https://docs.supra.com/supranova/workflow-of-hypernova-bridging): SupraNova uses the HyperNova trustless bridging protocol for bridging from Ethereum to Supra. - [Proof Validation Structure in HyperNova](https://docs.supra.com/supranova/proof-validation-structure): SupraNova uses HyperNova, a trustless bridge protocol that relies on Ethereum’s native secondary consensus layer to verify cross chain messages. Th... - [Ethereum to Supra Security](https://docs.supra.com/supranova/ethereum-to-supra-security): SupraNova is designed not just for operational efficiency, but also for deep, protocol-level security through its modular components like HyperNova... - [Fee Structure in SupraNova](https://docs.supra.com/supranova/fee-structure): SupraNova’s fee model is designed to sustain a permissionless, decentralized bridging ecosystem while incentivizing critical actors like relayers a... - [Modular Relayer Architecture](https://docs.supra.com/supranova/modular-relayer-architecture): SupraNova’s architecture relies on a relayer framework built using a modular design that separates concerns for better scalability and resilience. - [Token Bridge Smart Contract Interface](https://docs.supra.com/supranova/token-bridge-smart-contract-interface): SupraNova’s Token Bridge contract is a service layer contract integrated within Supranova. It exposes key functions that allow users and developers... - [Token Bridging Model - Lock-Mint](https://docs.supra.com/supranova/token-bridging-model-lock-mint): SupraNova’s initial asset bridging uses the Lock-Mint model, a secure method that preserves the total supply of assets across chains while ensuring... - [SupraNova Bridge Admin Functionalities](https://docs.supra.com/supranova/supranova-bridge-admin-functionalities): To ensure robust governance, security, and operational control, SupraNova employs a multi-signature (MultiSig) administration model. This model dis... - [Future Roadmap](https://docs.supra.com/supranova/future-roadmap): SupraNova’s architecture is designed to evolve beyond one-way bridging into a fully decentralized cross-chain communication framework. ## iAssets (Proof of Efficient Liquidity) - [Overview](https://docs.supra.com/proof-of-efficient-liquidity-poel): Supra has developed the Multi-Asset Liquid Staking framework, which implements the Proof of Efficient Liquidity (PoEL) protocol. Within the Supra e... - [Overview](https://docs.supra.com/proof-of-efficient-liquidity-poel/overview): Supra has developed the Multi-Asset Liquid Staking framework, which implements the Proof of Efficient Liquidity (PoEL) protocol. Within the Supra e... - [Workflow](https://docs.supra.com/proof-of-efficient-liquidity-poel/workflow): The application logic is built on two main components: - [Key Concepts](https://docs.supra.com/proof-of-efficient-liquidity-poel/key-concepts): The lifecycle of assets supplied as liquidity to create iAssets is as follows: upon deposit, users are credited with pre-minted iAssets that are no... - [iAsset Minting Flow](https://docs.supra.com/proof-of-efficient-liquidity-poel/iasset-minting-flow): This section explains how to mint iAsset on the Supra network, with each step of the minting process. - [Reward Claiming Flow](https://docs.supra.com/proof-of-efficient-liquidity-poel/reward-claiming-flow): Make sure your Starkey Wallet is connected, Rewards will be calculated based on the connected wallet’s iAsset holding history, and any withdrawn re... - [Add iAssets to Starkey Wallet](https://docs.supra.com/proof-of-efficient-liquidity-poel/add-iassets-to-starkey-wallet): This will open the token management window. - [Integration Guide](https://docs.supra.com/proof-of-efficient-liquidity-poel/integration-guide): Please find the currently supported iAsset addresses in testnet below: - [Smart Contract Integration](https://docs.supra.com/proof-of-efficient-liquidity-poel/smart-contract-integration): The system is composed of two main modules: **iAsset** and **PoEL**. - [Roles with special permissions](https://docs.supra.com/proof-of-efficient-liquidity-poel/roles-with-special-permissions): Currently The PoEL system spans two networks: ## AI Agents - [Your First AI Agent on Supra](https://docs.supra.com/ai-agents): In this guide, you’ll learn how to build and run your first Supra AI Agent, an interactive agent that communicates with the Supra Network and capab... - [Setting up your Agent](https://docs.supra.com/ai-agents/setting-up-your-agent): Before getting started, make sure you have the following installed: - [Interacting with the Agent](https://docs.supra.com/ai-agents/interacting-with-the-agent): $ npx ts-node agent.ts ## Audit Reports - [Audit Reports](https://docs.supra.com/audit-reports): We treat security as a continuous journey of monitoring, testing, and improvement not a destination. We ensure the integrity and safety of our plat...