# Oasis Documentation > Official Oasis developer documentation. This file contains links to documentation sections following the llmstxt.org standard. ## Table of Contents - [Cross-Chain Key Generation (EVM / Base)](https://oasisprotocol-docs.netlify.app/build/use-cases/key-generation): Generate an Ethereum-compatible key inside ROFL via appd and use it to sign and send transactions on Base. - [Trustless Price Oracle](https://oasisprotocol-docs.netlify.app/build/use-cases/price-oracle): Build an app that fetches latest price quotes from a centralized exchange and stores them to the blockchain. - [Private Telegram Chat Bot](https://oasisprotocol-docs.netlify.app/build/use-cases/tgbot): Build a private Telegram bot running in ROFL containing a simple python script and an Ollama LLM. - [Trustless AI Agent](https://oasisprotocol-docs.netlify.app/build/use-cases/trustless-agent): Deploy a trustless Eliza AI agent on Oasis using ROFL enclaves, with enclave-managed keys and on-chain verification on Sapphire. - [Runtime Off-Chain Logic (ROFL)](https://oasisprotocol-docs.netlify.app/build/rofl/README): Build your own ROFL-Powered App - [`appd` REST API](https://oasisprotocol-docs.netlify.app/build/rofl/features/appd): Each containerized app running in ROFL runs a special daemon (called rofl-appd) that exposes additional functions via a simple HTTP REST API. - [`rofl.yaml` Manifest File](https://oasisprotocol-docs.netlify.app/build/rofl/features/manifest): The following fields are valid in your yaml root: - [Marketplace](https://oasisprotocol-docs.netlify.app/build/rofl/features/marketplace): The ROFL marketplace is an on-chain protocol that allows app developers to easily and safely deploy their apps for a small fee on one side and on the other enables ROFL node providers to lend their... - [Port Proxy](https://oasisprotocol-docs.netlify.app/build/rofl/features/proxy): Port proxy for your ROFL automatically generates public HTTPS URLs for services in your app. Simply publish a port in your compose.yaml and the proxy handles TLS certificates and routing. - [Secrets](https://oasisprotocol-docs.netlify.app/build/rofl/features/secrets): Sometimes containers need access to data that should not be disclosed publicly, for example API keys to access certain services. This data can be passed to containers running in ROFL via secrets. - [Persistent Storage](https://oasisprotocol-docs.netlify.app/build/rofl/features/storage): ROFL developers may use Sapphire smart contracts for secure and consistent storage across all ROFL replicas. This storage however, is not appropriate for read/write intensive applications. - [Quickstart](https://oasisprotocol-docs.netlify.app/build/rofl/quickstart): How to build your app for ROFL in five simple steps. - [Troubleshooting](https://oasisprotocol-docs.netlify.app/build/rofl/troubleshooting): You will see the following error, if the aes and ssse3 compiler flags are not enabled during compilation of your SGX and TDX-raw ROFL: - [How to ROFLize an App?](https://oasisprotocol-docs.netlify.app/build/rofl/workflow/README): ROFL Workflow for Developers - [Build](https://oasisprotocol-docs.netlify.app/build/rofl/workflow/build): This operation packs compose.yaml, specific operating system components and the hash of a trusted block on the Sapphire chain. All these pieces are needed to safely execute our app inside a TEE. - [Containerize an App](https://oasisprotocol-docs.netlify.app/build/rofl/workflow/containerize-app): Containerize your app inside a Docker-like container - [Create](https://oasisprotocol-docs.netlify.app/build/rofl/workflow/create): Before the app can be built it needs to be created on chain and assigned a unique identifier or app ID which can be used by on-chain smart contracts to ensure that they are talking to the right app... - [Deploy](https://oasisprotocol-docs.netlify.app/build/rofl/workflow/deploy): ROFLs can be deployed to any ParaTime that has the ROFL module installed. Most common is Sapphire which implements all ROFL functionalities. - [Init](https://oasisprotocol-docs.netlify.app/build/rofl/workflow/init): Apps running in ROFL come in different flavors and the right choice is a tradeoff between the Trusted Computing Base (TCB) size and ease of use: - [Prerequisites](https://oasisprotocol-docs.netlify.app/build/rofl/workflow/prerequisites): Prerequisites for Building ROFL-Powered Apps - [Test](https://oasisprotocol-docs.netlify.app/build/rofl/workflow/test): Apps running in SGX ROFL are fully supported by the [sapphire-localnet] Docker image. Simply bind-mount your app folder and any ORC bundles will automatically be registered and executed on startup: - [Sapphire ParaTime](https://oasisprotocol-docs.netlify.app/build/sapphire/README): Sapphire is our official confidential ParaTime for smart contract development with [Ethereum Virtual Machine (EVM)] compatibility. - [Contract Addresses and Deployments](https://oasisprotocol-docs.netlify.app/build/sapphire/addresses): List of Standard Contract Addresses - [Develop on Sapphire](https://oasisprotocol-docs.netlify.app/build/sapphire/develop/README): Develop new dApps on Sapphire - [View-Call Authentication](https://oasisprotocol-docs.netlify.app/build/sapphire/develop/authentication): Authenticate users with your confidential contracts - [Browser Support](https://oasisprotocol-docs.netlify.app/build/sapphire/develop/browser): Integrating Sapphire in your web dApp - [Concepts](https://oasisprotocol-docs.netlify.app/build/sapphire/develop/concept): Sapphire concepts - [End-to-End Testing](https://oasisprotocol-docs.netlify.app/build/sapphire/develop/dappwright): End-to-End Testing of Oasis Sapphire dApps - [Deployment Patterns](https://oasisprotocol-docs.netlify.app/build/sapphire/develop/deployment): Deploying upgradable and deterministic contracts with proxies - [Gasless Transactions](https://oasisprotocol-docs.netlify.app/build/sapphire/develop/gasless): Sign and submit transactions without paying for fees - [Security](https://oasisprotocol-docs.netlify.app/build/sapphire/develop/security): Recipes for Confidentiality, Security considerations when writing confidential contracts - [Testing](https://oasisprotocol-docs.netlify.app/build/sapphire/develop/testing): Testing contracts on Oasis Sapphire - [Sapphire vs Ethereum](https://oasisprotocol-docs.netlify.app/build/sapphire/ethereum): Differences to Ethereum - [Examples](https://oasisprotocol-docs.netlify.app/build/sapphire/examples): Examples built with Sapphire - [Network information](https://oasisprotocol-docs.netlify.app/build/sapphire/network): Detailed information for Sapphire about chains, RPCs, block explorers and indexers - [Quickstart](https://oasisprotocol-docs.netlify.app/build/sapphire/quickstart): In this tutorial, you will build and deploy a unique dApp that requires confidentiality to work. - [Oasis CLI](https://oasisprotocol-docs.netlify.app/build/tools/cli/README): Powerful CLI for managing Oasis networks, nodes, tokens and dApps - [Account](https://oasisprotocol-docs.netlify.app/build/tools/cli/account): Using CLI for performing account-related tasks - [Address book](https://oasisprotocol-docs.netlify.app/build/tools/cli/addressbook): Storing your blockchain contacts for future use - [Network](https://oasisprotocol-docs.netlify.app/build/tools/cli/network): Managing Mainnet, Testnet or Localnet endpoints - [ParaTime](https://oasisprotocol-docs.netlify.app/build/tools/cli/paratime): Managing ParaTimes - [ROFL](https://oasisprotocol-docs.netlify.app/build/tools/cli/rofl): Manage "Runtime OFfchain Logic" apps - [Setup](https://oasisprotocol-docs.netlify.app/build/tools/cli/setup): The Oasis team provides CLI binaries for Linux, macOS and Windows operating systems. If you want to run it on another platform, you can build the CLI from source. - [Transaction](https://oasisprotocol-docs.netlify.app/build/tools/cli/transaction): Use CLI to decode, verify, sign and submit a transaction - [Wallet](https://oasisprotocol-docs.netlify.app/build/tools/cli/wallet): Manage accounts in your CLI wallet - [Build on Oasis](https://oasisprotocol-docs.netlify.app/build/README): Home of the Oasis dApp developer resources - [Oasis Privacy Layer (OPL)](https://oasisprotocol-docs.netlify.app/build/opl/README): Integrating privacy into dApps on other blockchains - [Celer Inter-Chain Messaging (IM)](https://oasisprotocol-docs.netlify.app/build/opl/celer/README): A message bridge by Celer - [Supported Networks](https://oasisprotocol-docs.netlify.app/build/opl/celer/networks): Supported networks on Celer IM - [Ping Example](https://oasisprotocol-docs.netlify.app/build/opl/celer/ping-example): Ping example with Celer IM - [Hyperlane Protocol](https://oasisprotocol-docs.netlify.app/build/opl/hyperlane/README): Hyperlane Protocol Overview - [Ping Pong Example](https://oasisprotocol-docs.netlify.app/build/opl/hyperlane/pingpong-example): Ping Pong example with Hyperlane Protocol - [Relayer](https://oasisprotocol-docs.netlify.app/build/opl/hyperlane/relayer): Run a Hyperlane Relayer - [OPL SDK](https://oasisprotocol-docs.netlify.app/build/opl/opl-sdk/README): OPL sdk - [Ping Example](https://oasisprotocol-docs.netlify.app/build/opl/opl-sdk/ping-example): Ping example with OPL SDK - [Router Protocol](https://oasisprotocol-docs.netlify.app/build/opl/router-protocol/README): Cross-chain dApps with Router Protocol - [Approving the Fee Payer](https://oasisprotocol-docs.netlify.app/build/opl/router-protocol/approve): Approving fee payer in Router Protocol - [Router Interfaces](https://oasisprotocol-docs.netlify.app/build/opl/router-protocol/interface): Router Protocol Interfaces - [PingPong Example](https://oasisprotocol-docs.netlify.app/build/opl/router-protocol/pingpong-example): PingPong example with Router CrossTalk - [Tools & Services](https://oasisprotocol-docs.netlify.app/build/tools/README): Oasis integrates with a number of services and provides tooling support for developers using [Remix] (unencrypted transactions only), [Sourcify], Docker images, [Band], and more. - [ABI Playground](https://oasisprotocol-docs.netlify.app/build/tools/abi-playground): Interacting with contracts in the browser - [Band Oracle](https://oasisprotocol-docs.netlify.app/build/tools/band): A guide to integrate the Band Oracle - [Build ParaTime](https://oasisprotocol-docs.netlify.app/build/tools/build-paratime/README): Build your own ParaTime using Oasis Runtime SDK - [Minimal Runtime](https://oasisprotocol-docs.netlify.app/build/tools/build-paratime/minimal-runtime): This chapter will show you how to quickly create, build and test a minimal runtime that allows transfers between accounts by using the accounts module provided by the Runtime SDK. - [Modules](https://oasisprotocol-docs.netlify.app/build/tools/build-paratime/modules): As we saw in the [minimal runtime example], creating an Oasis runtime is very easy to do thanks to the boilerplate provided by the Oasis SDK. - [Prerequisites](https://oasisprotocol-docs.netlify.app/build/tools/build-paratime/prerequisites): How to build your first runtime - [Reproducibility](https://oasisprotocol-docs.netlify.app/build/tools/build-paratime/reproducibility): If you wish to build paratime binaries yourself, you can use the environment provided as part of the SDK. This way you can also verify that the binaries match the ones running on the network. - [Foundry](https://oasisprotocol-docs.netlify.app/build/tools/foundry): A guide for Foundry - [Localnet](https://oasisprotocol-docs.netlify.app/build/tools/localnet): A Docker container that simulates a local Sapphire blockchain - [Consensus Layer and Other ParaTimes](https://oasisprotocol-docs.netlify.app/build/tools/other-paratimes/README): Other Paratimes - [Cipher ParaTime](https://oasisprotocol-docs.netlify.app/build/tools/other-paratimes/cipher/README): Cipher is a confidential ParaTime for executing Wasm smart contracts. - [Confidential Hello World](https://oasisprotocol-docs.netlify.app/build/tools/other-paratimes/cipher/confidential-smart-contract): Confidential smart contract execution on Oasis is assured by three mechanisms: - [Hello World](https://oasisprotocol-docs.netlify.app/build/tools/other-paratimes/cipher/hello-world): This chapter will show you how to quickly create, build and test a minimal Oasis WebAssembly smart contract. - [Network Information](https://oasisprotocol-docs.netlify.app/build/tools/other-paratimes/cipher/network): Network Information for Cipher, with detailed information about RPCs, block explorer and indexer - [Prerequisites](https://oasisprotocol-docs.netlify.app/build/tools/other-paratimes/cipher/prerequisites): How to build your first smart contract on Oasis - [Emerald ParaTime](https://oasisprotocol-docs.netlify.app/build/tools/other-paratimes/emerald/README): Emerald is our official ParaTime which executes smart contracts inside the [Ethereum Virtual Machine (EVM)]. - [Network Information](https://oasisprotocol-docs.netlify.app/build/tools/other-paratimes/emerald/network): Network Information for Emerald, with detailed information about chains, RPCs, block explorer and indexer - [Writing dApps on Emerald](https://oasisprotocol-docs.netlify.app/build/tools/other-paratimes/emerald/writing-dapps-on-emerald): This tutorial will show you how to set up dApp development environment for Emerald to be able to write and deploy dApps on Oasis Emerald. - [Consensus network information](https://oasisprotocol-docs.netlify.app/build/tools/other-paratimes/network): Detailed information for the consensus layer about RPCs, block explorers and indexers - [Remix](https://oasisprotocol-docs.netlify.app/build/tools/remix): A guide for the Remix web IDE - [Contract Verification](https://oasisprotocol-docs.netlify.app/build/tools/verification): Verifying deployed contracts - [Getting Started](https://oasisprotocol-docs.netlify.app/README): Use Oasis to build verifiable, auditable applications powered by TEE running on a permissionless network of nodes. No censorship, no hidden costs, no central authority! - [ADR 0001: Multiple Roots Under the Tendermint Application Hash](https://oasisprotocol-docs.netlify.app/adrs/0001-tm-multi-root-apphash): Oasis Core - [ADR 0002: Go Modules Compatible Git Tags](https://oasisprotocol-docs.netlify.app/adrs/0002-go-modules-compatible-git-tags): Oasis Core - [ADR 0003: Consensus/Runtime Token Transfer](https://oasisprotocol-docs.netlify.app/adrs/0003-consensus-runtime-token-transfer): Oasis Core - [ADR 0004: Runtime Governance](https://oasisprotocol-docs.netlify.app/adrs/0004-runtime-governance): Oasis Core - [ADR 0005: Runtime Compute Node Slashing](https://oasisprotocol-docs.netlify.app/adrs/0005-runtime-compute-slashing): Oasis Core - [ADR 0006: Consensus Governance](https://oasisprotocol-docs.netlify.app/adrs/0006-consensus-governance): Oasis Core - [ADR 0007: Improved Random Beacon](https://oasisprotocol-docs.netlify.app/adrs/0007-improved-random-beacon): Oasis Core - [ADR 0008: Standard Account Key Generation](https://oasisprotocol-docs.netlify.app/adrs/0008-standard-account-key-generation): Oasis Core - [ADR 0009: Ed25519 Signature Verification Semantics](https://oasisprotocol-docs.netlify.app/adrs/0009-ed25519-semantics): Oasis Core - [ADR 0010: VRF-based Committee Elections](https://oasisprotocol-docs.netlify.app/adrs/0010-vrf-elections): Oasis Core - [ADR 0011: Incoming Runtime Messages](https://oasisprotocol-docs.netlify.app/adrs/0011-incoming-runtime-messages): Oasis Core - [ADR 0012: Runtime Message Results](https://oasisprotocol-docs.netlify.app/adrs/0012-runtime-message-results): Oasis Core - [ADR 0013: Runtime Upgrade Improvements](https://oasisprotocol-docs.netlify.app/adrs/0013-runtime-upgrades): Oasis Core - [ADR 0014: Signing Runtime Transactions with Hardware Wallet](https://oasisprotocol-docs.netlify.app/adrs/0014-runtime-signing-tx-with-hardware-wallet): Oasis SDK - [ADR 0015: Randomized Paratime Proposer Selection](https://oasisprotocol-docs.netlify.app/adrs/0015-vrf-per-block-entropy): Oasis Core - [ADR 0016: Consensus Parameters Change Proposal](https://oasisprotocol-docs.netlify.app/adrs/0016-consensus-parameters-change-proposal): Oasis Core - [ADR 0017: ParaTime Application Standard Proposal Process](https://oasisprotocol-docs.netlify.app/adrs/0017-app-standards): ADRs - [ADR 0020: Governance Support for Delegator Votes](https://oasisprotocol-docs.netlify.app/adrs/0020-governance-delegator-votes): Oasis Core - [ADR 0021: Forward-Secret Ephemeral Secrets](https://oasisprotocol-docs.netlify.app/adrs/0021-keymanager-ephemeral-secrets): Oasis Core - [ADR 0022: Forward-Secret Master Secrets](https://oasisprotocol-docs.netlify.app/adrs/0022-keymanager-master-secrets): Oasis Core - [ADR 0023: Secret Sharing Schemes (CHURP)](https://oasisprotocol-docs.netlify.app/adrs/0023-keymanager-secret-sharing): Oasis Core - [ADR 0024: Runtime Off-chain Logic (ROFL)](https://oasisprotocol-docs.netlify.app/adrs/0024-off-chain-runtime-logic): Oasis Core, Oasis SDK - [ADR 0025: Hot-loading of Runtime Bundles](https://oasisprotocol-docs.netlify.app/adrs/0025-bundle_hot_loading): Oasis Core - [Oasis Core Developer Documentation](https://oasisprotocol-docs.netlify.app/core/README): Here are instructions on how to set up the local build environment, run the tests and some examples on how to prepare test networks for local development of Oasis Core components. - [Security](https://oasisprotocol-docs.netlify.app/core/SECURITY): At [Oasis Foundation], we take security very seriously and we deeply appreciate any effort to discover and fix vulnerabilities in [Oasis Core] and other projects powering the [Oasis Network]. - [Authenticated gRPC](https://oasisprotocol-docs.netlify.app/core/authenticated-grpc): Oasis Core nodes communicate between themselves over various protocols. One of those protocols is [gRPC] which is currently used for the following: - [Big Integer Quantities](https://oasisprotocol-docs.netlify.app/core/bigint): Arbitrary-precision positive integer quantities are represented by the quantity.Quantity type. - [Consensus Layer](https://oasisprotocol-docs.netlify.app/core/consensus/README): Oasis Core is designed around the principle of modularity. The consensus layer is an interface that provides a number of important services to other parts of Oasis Core. - [Genesis Document](https://oasisprotocol-docs.netlify.app/core/consensus/genesis): The genesis document contains a set of parameters that outline the initial state of the [consensus layer] and its services. - [Random Beacon](https://oasisprotocol-docs.netlify.app/core/consensus/services/beacon): The random beacon service is responsible for providing a source of unbiased randomness on each epoch. - [Epoch Time](https://oasisprotocol-docs.netlify.app/core/consensus/services/epochtime) - [Governance](https://oasisprotocol-docs.netlify.app/core/consensus/services/governance): The governance service is responsible for providing an on-chain governance mechanism. - [Key Manager](https://oasisprotocol-docs.netlify.app/core/consensus/services/keymanager): The key manager service is responsible for coordinating the SGX-based key manager runtimes. It stores and publishes policy documents and status updates required for key manager replication. - [Registry](https://oasisprotocol-docs.netlify.app/core/consensus/services/registry): The registry service is responsible for managing a registry of runtime, entity and node public keys and metadata. - [Root Hash](https://oasisprotocol-docs.netlify.app/core/consensus/services/roothash): The roothash service is responsible for runtime commitment processing and minimal runtime state keeping. - [Committee Scheduler](https://oasisprotocol-docs.netlify.app/core/consensus/services/scheduler): The committee scheduler service is responsible for periodically scheduling all committees (validator, compute, key manager) based on [epoch-based time] and entropy provided by the [random beacon]. - [Staking](https://oasisprotocol-docs.netlify.app/core/consensus/services/staking): The staking service is responsible for managing the staking ledger in the consensus layer. - [Transaction Test Vectors](https://oasisprotocol-docs.netlify.app/core/consensus/test-vectors): In order to test transaction generation, parsing and signing, we provide a set of test vectors. They can be generated for the following consensus services: - [Transactions](https://oasisprotocol-docs.netlify.app/core/consensus/transactions): The consensus layer uses a common transaction format for all transactions. As with other Oasis Core components, it tries to be independent of any concrete [consensus backend]. - [Cryptography](https://oasisprotocol-docs.netlify.app/core/crypto): In most places where cryptographic hashes are required, we use the SHA-512/256 hash function as specified in [FIPS 180-4]. - [Building](https://oasisprotocol-docs.netlify.app/core/development-setup/building): This chapter contains a description of steps required to build Oasis Core. Before proceeding, make sure to look at the [prerequisites] required for running an Oasis Core environment. - [Deploying a Runtime](https://oasisprotocol-docs.netlify.app/core/development-setup/deploying-a-runtime): Before proceeding, make sure to look at the [prerequisites] required for running an Oasis Core environment followed by [build instructions] for the respective environment (non-SGX or SGX), using the... - [Local Network Runner](https://oasisprotocol-docs.netlify.app/core/development-setup/oasis-net-runner): In order to make development easier (and also to facilitate automated E2E tests), the Oasis Core repository provides a utility called oasis-net-runner that enables developers to quickly set up local... - [Prerequisites](https://oasisprotocol-docs.netlify.app/core/development-setup/prerequisites): The following is a list of prerequisites required to start developing on Oasis Core: - [Running Tests](https://oasisprotocol-docs.netlify.app/core/development-setup/running-tests): Before proceeding, make sure to look at the [prerequisites] required for running an Oasis Core environment followed by [build instructions] for the respective environment (non-SGX or SGX). - [Single Validator Node Network](https://oasisprotocol-docs.netlify.app/core/development-setup/single-validator-node-network): It is possible to provision a local "network" consisting of a single validator node. This may be useful for specific development use cases. - [Encoding](https://oasisprotocol-docs.netlify.app/core/encoding): All messages exchanged by different components in Oasis Core are encoded using canonical CBOR as defined by RFC 7049. - [Merklized Key-Value Store (MKVS)](https://oasisprotocol-docs.netlify.app/core/mkvs): For all places that require an [authenticated data structure (ADS)] we provide an implementation of a Merklized Key-Value Store, internally implemented as a Merklized [Patricia trie]. - [`oasis-node` CLI](https://oasisprotocol-docs.netlify.app/core/oasis-node/cli): Run - [Metrics](https://oasisprotocol-docs.netlify.app/core/oasis-node/metrics): oasis-node can report a number of metrics to Prometheus server. By default, no metrics are collected and reported. There is one way to enable metrics reporting: - [RPC](https://oasisprotocol-docs.netlify.app/core/oasis-node/rpc): Oasis Node exposes an RPC interface to enable external applications to query current [consensus] and [runtime] states, [submit transactions], etc. - [Release Process](https://oasisprotocol-docs.netlify.app/core/release-process): The following steps should be followed when preparing a release. - [Runtime Layer](https://oasisprotocol-docs.netlify.app/core/runtime/README): The Oasis Core runtime layer enables independent runtimes to schedule and execute stateful computations and commit result summaries to the [consensus layer]. - [Runtime IDs](https://oasisprotocol-docs.netlify.app/core/runtime/identifiers): Identifiers for runtimes are represented by the [common.Namespace] type. - [Runtime Messages](https://oasisprotocol-docs.netlify.app/core/runtime/messages): In order to enable runtimes to perform actions in the consensus layer on their behalf, they can emit messages in each round. - [Runtime Host Protocol](https://oasisprotocol-docs.netlify.app/core/runtime/runtime-host-protocol): The Runtime Host Protocol (RHP) is a simple RPC protocol which is used to communicate between a runtime and an Oasis Core Compute Node. - [Versioning](https://oasisprotocol-docs.netlify.app/core/versioning): Oasis Core (as a whole) uses a [CalVer] (calendar versioning) scheme with the following format: - [Learn about Oasis](https://oasisprotocol-docs.netlify.app/general/README): This chapter provides general overview of the Oasis Network and introduces basic tools for you to get started. - [Manage your Tokens](https://oasisprotocol-docs.netlify.app/general/manage-tokens/README): Transfer, deposit, withdraw and delegate your ROSE - [Frequently Asked Questions](https://oasisprotocol-docs.netlify.app/general/manage-tokens/faq): This documents answers frequently asked questions about the official Oasis and 3rd party wallets & custody providers supporting ROSE. - [Custody Providers & Protocols](https://oasisprotocol-docs.netlify.app/general/manage-tokens/holding-rose-tokens/custody-providers): Not comfortable keeping the keys on your own? - [Ledger Hardware Wallet](https://oasisprotocol-docs.netlify.app/general/manage-tokens/holding-rose-tokens/ledger-wallet): How to setup your Ledger hardware wallet - [How to Bridge Assets to Oasis Sapphire](https://oasisprotocol-docs.netlify.app/general/manage-tokens/how-to-bridge-assets): This guide shows how to bridge assets (ETH, USDC, USDT, etc.) from networks like Ethereum, BNB Chain, or Polygon to Oasis Sapphire - an EVM-compatible ParaTime with confidential smart contracts. - [ROSE Wallet - Browser Extension](https://oasisprotocol-docs.netlify.app/general/manage-tokens/oasis-wallets/browser-extension): The Oasis Foundation-managed non-custodial browser extension wallet - [ROSE Wallet - Web](https://oasisprotocol-docs.netlify.app/general/manage-tokens/oasis-wallets/web): The Oasis Foundation-managed non-custodial web wallet - [Staking and Delegating](https://oasisprotocol-docs.netlify.app/general/manage-tokens/staking-and-delegating): The Oasis Network is a proof-of-stake network. This means that the voting power of an entity in the network is determined by the amount of tokens staked to that entity. - [Terminology](https://oasisprotocol-docs.netlify.app/general/manage-tokens/terminology): A staking account is an entry in the staking ledger. - [Oasis Network](https://oasisprotocol-docs.netlify.app/general/oasis-network/README): The Oasis Network is a Layer 1 decentralized blockchain network designed to be uniquely scalable, privacy-first and versatile. - [Frequently Asked Questions](https://oasisprotocol-docs.netlify.app/general/oasis-network/faq): This page tries to answer some of the most frequently asked questions about the Oasis Network. - [Papers](https://oasisprotocol-docs.netlify.app/general/oasis-network/papers): \[arXiv PDF\] James Austgen, Andrés Fábrega, Mahimna Kelkar, Dani Vilardell, Sarah Allen, Kushal Babel, Jay Yu, Ari Juels 2025 IEEE Symposium on Security and Privacy (SP) - [Token Metrics and Distribution](https://oasisprotocol-docs.netlify.app/general/oasis-network/token-metrics-and-distribution): Supply: The ROSE native token is a capped supply token. The circulating supply at launch will be approximately 1.5 billion tokens, and the total cap is fixed at 10 billion tokens. - [Join our Community](https://oasisprotocol-docs.netlify.app/get-involved/README): Whether you're a blockchain enthusiast, a software developer, or someone who is just starting to learn about crypto, we're excited to welcome you to our community. - [Delegation Policy](https://oasisprotocol-docs.netlify.app/get-involved/delegation-policy): The Oasis Protocol Foundation (OPF) delegates ROSE tokens to node operators who run Oasis Consensus and ParaTime nodes on Mainnet and/or Testnet. - [Network Governance](https://oasisprotocol-docs.netlify.app/get-involved/network-governance): If you have a general question on how to use and deploy our software, please read our Run a Node section or join our community Discord. - [Develop Oasis Core](https://oasisprotocol-docs.netlify.app/get-involved/oasis-core): This document outlines our guidelines for contributing to the Oasis Network's codebase and documentation. - [ParaTime Node](https://oasisprotocol-docs.netlify.app/get-involved/run-node/paratime-node): This guide provides an overview of the requirements to become a compute node for a ParaTime connected to the Oasis Network. - [Consensus Validator Node](https://oasisprotocol-docs.netlify.app/get-involved/run-node/validator-node): This guide provides an overview of the technical setup and stake requirements to become a validator on the consensus layer of the Oasis Network. - [Token Delivery & KYC Guide](https://oasisprotocol-docs.netlify.app/get-involved/token-delivery-and-kyc): If you're visiting this page, you may have recently earned ROSE tokens via the Community Cup program, the Ambassador Rewards program, or a recent hackathon. Congratulations! - [Run Node](https://oasisprotocol-docs.netlify.app/node/README): Welcome! This documentation is designed to provide you with a comprehensive understanding and step-by-step guidance for becoming a node operator within the Oasis Network. - [gRPC proxy for your Oasis node](https://oasisprotocol-docs.netlify.app/node/grpc): gRPC proxy for Oasis node - [Network Information](https://oasisprotocol-docs.netlify.app/node/network/README) - [Mainnet](https://oasisprotocol-docs.netlify.app/node/network/mainnet): These are the current parameters for the Mainnet: - [Testnet](https://oasisprotocol-docs.netlify.app/node/network/testnet): These are the current parameters for the Testnet, a test-only network for testing out upcoming features and changes to the protocol. - [Genesis Document](https://oasisprotocol-docs.netlify.app/node/reference/genesis-doc): A genesis document contains the initial state of an Oasis Network, and all the necessary information for launching that particular network (e.g. [Mainnet], [Testnet]). - [Mainnet Upgrade Log](https://oasisprotocol-docs.netlify.app/node/reference/upgrade-logs/mainnet): For each upgrade of the Oasis Network, we are tracking important changes for node operators' deployments. - [Testnet Upgrade Log](https://oasisprotocol-docs.netlify.app/node/reference/upgrade-logs/testnet): For each upgrade of the Testnet network, we are tracking important changes for node operators' deployments. - [Cobalt Upgrade](https://oasisprotocol-docs.netlify.app/node/reference/upgrades/cobalt-upgrade): This document provides an overview of the proposed criteria and changes for the Cobalt Mainnet upgrade. - [Damask Upgrade](https://oasisprotocol-docs.netlify.app/node/reference/upgrades/damask-upgrade): This document provides an overview of the changes for the Damask Mainnet upgrade. - [Eden Upgrade](https://oasisprotocol-docs.netlify.app/node/reference/upgrades/eden-upgrade): This document provides an overview of the changes for the Eden Mainnet upgrade. - [Upgrade to Mainnet](https://oasisprotocol-docs.netlify.app/node/reference/upgrades/mainnet-upgrade): This document provides an overview of the proposed criteria and changes to upgrade from Mainnet Beta to Mainnet. - [Run your node](https://oasisprotocol-docs.netlify.app/node/run-your-node/README): The Oasis Network consists of several types of nodes, each serving distinct roles to maintain the functionality, security, and decentralization of the network. - [Copy State from One Node to the Other](https://oasisprotocol-docs.netlify.app/node/run-your-node/advanced/copy-state-from-one-node-to-the-other): A network that's been running for some time can accrue significant amount of state. - [Remote Signer for Oasis Node Keys](https://oasisprotocol-docs.netlify.app/node/run-your-node/advanced/remote-signer): The Oasis remote signer is an application that contains logic for various Oasis Core signers. Currently, only the file-based signer is implemented, but support for hardware signers is in the works. - [Using State Sync for Quick Bootstrapping](https://oasisprotocol-docs.netlify.app/node/run-your-node/advanced/sync-node-using-state-sync): The State Sync is a way to quickly bootstrap a full Oasis node (either a validator node or a non-validator node) by initializing it from the trusted block's header, identified by the trusted height... - [Archive Node](https://oasisprotocol-docs.netlify.app/node/run-your-node/archive-node): This page describes how to run an archive node on the Oasis Network. - [Key Manager Node](https://oasisprotocol-docs.netlify.app/node/run-your-node/keymanager-node/README): These instructions are for setting up a key manager node. Key manager nodes run a special runtime that provides confidentiality to other ParaTimes. - [Upgrading Key Managers](https://oasisprotocol-docs.netlify.app/node/run-your-node/keymanager-node/key-manager-upgrade): This guide will describe how to upgrade a key manager node. - [Signing Key Manager Policy](https://oasisprotocol-docs.netlify.app/node/run-your-node/keymanager-node/signing-key-manager-policy): This guide will describe how to print and sign an Oasis [key manager policy]. - [Adding or Removing Nodes](https://oasisprotocol-docs.netlify.app/node/run-your-node/maintenance/adding-or-removing-nodes): At some point you may wish to add or remove nodes from your entity. In order to do so, you will need to have at least the following: - [Handling Network Upgrades](https://oasisprotocol-docs.netlify.app/node/run-your-node/maintenance/handling-network-upgrades): Changes between the major consensus network versions are backward and forward breaking. - [Refreshing Node Certificates](https://oasisprotocol-docs.netlify.app/node/run-your-node/maintenance/refreshing-certificates): Go to your validator node's data directory, e.g. /node/data: - [Shutting Down a Node](https://oasisprotocol-docs.netlify.app/node/run-your-node/maintenance/shutting-down-a-node): Depending on the role (e.g. validator), a node may periodically register itself to the consensus registry, committing itself to serve requests until the expiration epoch. - [Wiping Node State](https://oasisprotocol-docs.netlify.app/node/run-your-node/maintenance/wiping-node-state): In certain situations, you may need to do a complete node redeployment with a clean state. Two common scenarios for this are during a breaking network upgrade or in cases of severe data corruption. - [Non-validator Node](https://oasisprotocol-docs.netlify.app/node/run-your-node/non-validator-node): These instructions are for setting up a non-validator node. If you want to run a validator node instead, see the instructions for running a validator node. - [ParaTime Client Node](https://oasisprotocol-docs.netlify.app/node/run-your-node/paratime-client-node): This guide will cover setting up your ParaTime client node for the Oasis Network. This guide assumes some basic knowledge on the use of command line tools. - [ParaTime Node](https://oasisprotocol-docs.netlify.app/node/run-your-node/paratime-node): For a production setup, we recommend running the ParaTime compute/storage node separately from the validator node (if you run one). - [ParaTime Observer Node](https://oasisprotocol-docs.netlify.app/node/run-your-node/paratime-observer-node): These instructions are for setting up a ParaTime observer node, which is a special client node that supports confidential smart contact queries. - [Cloud Providers](https://oasisprotocol-docs.netlify.app/node/run-your-node/prerequisites/cloud-providers): Before committing to a service be sure to verify the processor compatibility and enquire with the provider about the status of Intel SGX support. - [Hardware Requirements](https://oasisprotocol-docs.netlify.app/node/run-your-node/prerequisites/hardware-recommendations): The Oasis Network is composed of multiple classes of nodes and services such as: - [Install the Oasis Node](https://oasisprotocol-docs.netlify.app/node/run-your-node/prerequisites/oasis-node): The Oasis node is a binary that is created from the [Oasis Core] repository's [go/] directory. It is a single executable that contains the logic for running your node in various [roles]. - [Set up Trusted Execution Environment (TEE)](https://oasisprotocol-docs.netlify.app/node/run-your-node/prerequisites/set-up-tee): Most Oasis ParaTimes and ROFLs are configured to run in a TEE. There are two kinds of Intel TEEs currently in use: - [Stake Requirements](https://oasisprotocol-docs.netlify.app/node/run-your-node/prerequisites/stake-requirements): To check the balance of your account, use one of the blockchain explorers like the [Oasis Explorer], [Oasis Scan] or the [oasis account show] command part of the Oasis CLI. - [System Configuration](https://oasisprotocol-docs.netlify.app/node/run-your-node/prerequisites/system-configuration): This page outlines the modifications necessary that should be made to the configuration of the system where you are running an Oasis Node instance. - [ROFL Node](https://oasisprotocol-docs.netlify.app/node/run-your-node/rofl-node): These instructions are for setting up a ROFL node which executes ROFLs inside a TEE, but otherwise only observes the ParaTime activity and can also submit transactions. - [Seed Node](https://oasisprotocol-docs.netlify.app/node/run-your-node/seed-node): This guide will cover setting up a seed node for the Oasis Network. This guide assumes some basic knowledge on the use of command line tools. - [Sentry Node](https://oasisprotocol-docs.netlify.app/node/run-your-node/sentry-node): This guide provides instructions for a deployment using the Sentry node architecture to protect validator nodes from being directly exposed on the public network. - [Troubleshooting](https://oasisprotocol-docs.netlify.app/node/run-your-node/troubleshooting): Oasis Node Troubleshooting for Node Operators and Hackers - [Validator Node](https://oasisprotocol-docs.netlify.app/node/run-your-node/validator-node): This guide will walk you through the process of setting up your validator node for the Oasis Network either on Mainnet or Testnet. - [Oasis Web3 Gateway for your EVM ParaTime](https://oasisprotocol-docs.netlify.app/node/web3): Web3 gateway for Emerald and Sapphire ParaTimes