# Oasis Documentation > Oasis Protocol developer documentation for Sapphire, ROFL, node operation, and Oasis Core. ## Build - [Overview](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build.md): Home of the Oasis dApp developer resources - [Use cases: Cross-Chain Key Generation (EVM / Base)](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/use-cases/key-generation.md): Generate an Ethereum-compatible key inside ROFL via appd and use it to sign and send transactions on Base. - [Use cases: Trustless AI Agent](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/use-cases/trustless-agent.md): Deploy a trustless Eliza AI agent on Oasis using ROFL enclaves, with enclave-managed keys and on-chain verification on Sapphire. - [Use cases: Trustless Price Oracle](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/use-cases/price-oracle.md): Build an app that fetches latest price quotes from a centralized exchange and stores them to the blockchain. - [Use cases: Private Telegram Chat Bot](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/use-cases/tgbot.md): Build a private Telegram bot running in ROFL containing a simple python script and an Ollama LLM. - [ROFL](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl.md): Build your own ROFL-Powered App - [ROFL: Quickstart](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl/quickstart.md): How to build your app for ROFL in five simple steps. - [ROFL: Workflow](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl/workflow.md): ROFL Workflow for Developers - [ROFL / Workflow: Prerequisites](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl/workflow/prerequisites.md): Prerequisites for Building ROFL-Powered Apps - [ROFL / Workflow: Containerize an App](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl/workflow/containerize-app.md): Containerize your app inside a Docker-like container - [ROFL / Workflow: Init](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl/workflow/init.md): 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 - [ROFL / Workflow: Create](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl/workflow/create.md): 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... - [ROFL / Workflow: Build](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl/workflow/build.md): 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. - [ROFL / Workflow: Deploy](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl/workflow/deploy.md): ROFLs can be deployed to any ParaTime that has the ROFL module installed. Most common is Sapphire which implements all ROFL functionalities. - [ROFL / Workflow: Test](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl/workflow/test.md): 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 - [ROFL / Features: Marketplace](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl/features/marketplace.md): 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... - [ROFL / Features: Secrets](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl/features/secrets.md): 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. - [ROFL / Features: Persistent Storage](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl/features/storage.md): 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. - [ROFL / Features: rofl.yaml Manifest File](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl/features/manifest.md): The following fields are valid in your yaml root - [ROFL / Features: appd REST API](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl/features/appd.md): Each containerized app running in ROFL runs a special daemon (called rofl-appd) that exposes additional functions via a simple HTTP REST API. - [ROFL / Features: Port Proxy](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl/features/proxy.md): 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. - [ROFL: Troubleshooting](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/rofl/troubleshooting.md): 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 - [Sapphire](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/sapphire.md): Sapphire is our official confidential ParaTime for smart contract development with Ethereum Virtual Machine (EVM) compatibility. - [Sapphire: Quickstart](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/sapphire/quickstart.md): In this tutorial, you will build and deploy a unique dApp that requires confidentiality to work. - [Sapphire: Network information](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/sapphire/network.md): Detailed information for Sapphire about chains, RPCs, block explorers and indexers - [Sapphire: Sapphire vs Ethereum](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/sapphire/ethereum.md): Differences to Ethereum - [Sapphire: Develop](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/sapphire/develop.md): Develop new dApps on Sapphire - [Sapphire / Develop: Concepts](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/sapphire/develop/concept.md): Sapphire concepts - [Sapphire / Develop: Browser Support](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/sapphire/develop/browser.md): Integrating Sapphire in your web dApp - [Sapphire / Develop: View-Call Authentication](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/sapphire/develop/authentication.md): Authenticate users with your confidential contracts - [Sapphire / Develop: Gasless Transactions](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/sapphire/develop/gasless.md): Sign and submit transactions without paying for fees - [Sapphire / Develop: Encrypted Events](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/sapphire/develop/encrypted-events.md): Emit confidential event data on Sapphire that only specific users can read, while keeping logs indexable. - [Sapphire / Develop: Deployment Patterns](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/sapphire/develop/deployment.md): Deploying upgradable and deterministic contracts with proxies - [Sapphire / Develop: Security](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/sapphire/develop/security.md): Recipes for Confidentiality, Security considerations when writing confidential contracts - [Sapphire / Develop: Testing](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/sapphire/develop/testing.md): Testing contracts on Oasis Sapphire - [Sapphire / Develop: End-to-End Testing](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/sapphire/develop/dappwright.md): End-to-End Testing of Oasis Sapphire dApps - [Sapphire: Examples](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/sapphire/examples.md): Examples built with Sapphire - [Sapphire: Contract Addresses and Deployments](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/sapphire/addresses.md): List of Standard Contract Addresses - [Oasis Privacy Layer](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/opl.md): Integrating privacy into dApps on other blockchains - [Oasis Privacy Layer: Hyperlane Protocol](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/opl/hyperlane.md): Hyperlane Protocol Overview - [Oasis Privacy Layer / Hyperlane Protocol: Relayer](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/opl/hyperlane/relayer.md): Run a Hyperlane Relayer - [Oasis Privacy Layer / Hyperlane Protocol: Ping Pong Example](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/opl/hyperlane/pingpong-example.md): Ping Pong example with Hyperlane Protocol - [Oasis Privacy Layer: Router Protocol](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/opl/router-protocol.md): Cross-chain dApps with Router Protocol - [Oasis Privacy Layer / Router Protocol: PingPong Example](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/opl/router-protocol/pingpong-example.md): PingPong example with Router CrossTalk - [Oasis Privacy Layer / Router Protocol: Router Interfaces](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/opl/router-protocol/interface.md): Router Protocol Interfaces - [Oasis Privacy Layer / Router Protocol: Approving the Fee Payer](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/opl/router-protocol/approve.md): Approving fee payer in Router Protocol - [Oasis Privacy Layer: OPL SDK](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/opl/opl-sdk.md): OPL sdk - [Oasis Privacy Layer / OPL SDK: Ping Example](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/opl/opl-sdk/ping-example.md): Ping example with OPL SDK - [Oasis Privacy Layer: Celer Inter-Chain Messaging](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/opl/celer.md): A message bridge by Celer - [Oasis Privacy Layer / Celer Inter-Chain Messaging: Ping Example](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/opl/celer/ping-example.md): Ping example with Celer IM - [Oasis Privacy Layer / Celer Inter-Chain Messaging: Supported Networks](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/opl/celer/networks.md): Supported networks on Celer IM - [Tools & Services](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools.md): Oasis integrates with a number of services and provides tooling support for developers using Remix (unencrypted transactions only), Sourcify, Docker images, Band, and more. - [Tools & Services: Oasis CLI](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/cli.md): Powerful CLI for managing Oasis networks, nodes, tokens and dApps - [Tools & Services / Oasis CLI: Setup](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/cli/setup.md): 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. - [Tools & Services / Oasis CLI: Network](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/cli/network.md): Managing Mainnet, Testnet or Localnet endpoints - [Tools & Services / Oasis CLI: ParaTime](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/cli/paratime.md): Managing ParaTimes - [Tools & Services / Oasis CLI: Wallet](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/cli/wallet.md): Manage accounts in your CLI wallet - [Tools & Services / Oasis CLI: Account](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/cli/account.md): Using CLI for performing account-related tasks - [Tools & Services / Oasis CLI: Transaction](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/cli/transaction.md): Use CLI to decode, verify, sign and submit a transaction - [Tools & Services / Oasis CLI: Address book](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/cli/addressbook.md): Storing your blockchain contacts for future use - [Tools & Services / Oasis CLI: ROFL](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/cli/rofl.md): Manage "Runtime OFfchain Logic" apps - [Tools & Services: ABI Playground](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/abi-playground.md): Interacting with contracts in the browser - [Tools & Services: Contract Verification](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/verification.md): Verifying deployed contracts - [Tools & Services: Band Oracle](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/band.md): A guide to integrate the Band Oracle - [Tools & Services: Localnet](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/localnet.md): A Docker container that simulates a local Sapphire blockchain - [Tools & Services: Remix](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/remix.md): A guide for the Remix web IDE - [Tools & Services: Foundry](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/foundry.md): A guide for Foundry - [Tools & Services: Build Paratime](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/build-paratime.md): Build your own ParaTime using Oasis Runtime SDK - [Tools & Services / Build Paratime: Prerequisites](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/build-paratime/prerequisites.md): How to build your first runtime - [Tools & Services / Build Paratime: Minimal Runtime](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/build-paratime/minimal-runtime.md): 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. - [Tools & Services / Build Paratime: Modules](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/build-paratime/modules.md): 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. - [Tools & Services / Build Paratime: Reproducibility](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/build-paratime/reproducibility.md): 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. - [Tools & Services: Consensus Layer and Other ParaTimes](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/other-paratimes.md): Other Paratimes - [Tools & Services / Consensus Layer and Other ParaTimes: Consensus network information](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/other-paratimes/network.md): Detailed information for the consensus layer about RPCs, block explorers and indexers - [Tools & Services / Consensus Layer and Other ParaTimes: Cipher](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/other-paratimes/cipher.md): Cipher is a confidential ParaTime for executing Wasm smart contracts. - [Tools & Services / Consensus Layer and Other ParaTimes / Cipher: Prerequisites](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/other-paratimes/cipher/prerequisites.md): How to build your first smart contract on Oasis - [Tools & Services / Consensus Layer and Other ParaTimes / Cipher: Network Information](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/other-paratimes/cipher/network.md): Network Information for Cipher, with detailed information about RPCs, block explorer and indexer - [Tools & Services / Consensus Layer and Other ParaTimes / Cipher: Hello World](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/other-paratimes/cipher/hello-world.md): This chapter will show you how to quickly create, build and test a minimal Oasis WebAssembly smart contract. - [Tools & Services / Consensus Layer and Other ParaTimes / Cipher: Confidential Hello World](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/other-paratimes/cipher/confidential-smart-contract.md): Confidential smart contract execution on Oasis is assured by three mechanisms - [Tools & Services / Consensus Layer and Other ParaTimes: Emerald](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/other-paratimes/emerald.md): Emerald is our official ParaTime which executes smart contracts inside the Ethereum Virtual Machine (EVM). - [Tools & Services / Consensus Layer and Other ParaTimes / Emerald: Network Information](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/other-paratimes/emerald/network.md): Network Information for Emerald, with detailed information about chains, RPCs, block explorer and indexer - [Tools & Services / Consensus Layer and Other ParaTimes / Emerald: Writing dApps on Emerald](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/build/tools/other-paratimes/emerald/writing-dapps-on-emerald.md): 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. ## Learn - [Overview](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/general.md): This chapter provides general overview of the Oasis Network and introduces basic tools for you to get started. - [Oasis Network](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/general/oasis-network.md): The Oasis Network is a Layer 1 decentralized blockchain network designed to be uniquely scalable, privacy-first and versatile. - [Oasis Network: Token Metrics and Distribution](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/general/oasis-network/token-metrics-and-distribution.md): 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. - [Oasis Network: Papers](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/general/oasis-network/papers.md): Liquefaction: Privately Liquefying Blockchain Assets [arXiv PDF] James Austgen, Andrés Fábrega, Mahimna Kelkar, Dani Vilardell, Sarah Allen, Kushal Babel, Jay Yu, Ari Juels 2025 IEEE Symposium on... - [Oasis Network: Frequently Asked Questions](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/general/oasis-network/faq.md): This page tries to answer some of the most frequently asked questions about the Oasis Network. - [Manage your Tokens](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/general/manage-tokens.md): Transfer, deposit, withdraw and delegate your ROSE - [Manage your Tokens: Terminology](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/general/manage-tokens/terminology.md): A staking account is an entry in the staking ledger. - [Manage your Tokens: Staking and Delegating](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/general/manage-tokens/staking-and-delegating.md): 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. - [Manage your Tokens / ROSE Wallet: Web](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/general/manage-tokens/oasis-wallets/web.md): The Oasis Foundation-managed non-custodial web wallet - [Manage your Tokens / ROSE Wallet: Browser Extension](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/general/manage-tokens/oasis-wallets/browser-extension.md): The Oasis Foundation-managed non-custodial browser extension wallet - [Manage your Tokens / 3rd Party Wallets and Services: Custody Providers & Protocols](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/general/manage-tokens/holding-rose-tokens/custody-providers.md): Not comfortable keeping the keys on your own? - [Manage your Tokens / 3rd Party Wallets and Services: Ledger Hardware Wallet](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/general/manage-tokens/holding-rose-tokens/ledger-wallet.md): How to setup your Ledger hardware wallet - [Manage your Tokens: How to Bridge Assets to Oasis Sapphire](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/general/manage-tokens/how-to-bridge-assets.md): 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. - [Manage your Tokens: Frequently Asked Questions](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/general/manage-tokens/faq.md): This documents answers frequently asked questions about the official Oasis and 3rd party wallets & custody providers supporting ROSE. ## Get Involved - [Join our Community](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/get-involved.md): 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. - [Run a Node: Consensus Validator Node](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/get-involved/run-node/validator-node.md): This guide provides an overview of the technical setup and stake requirements to become a validator on the consensus layer of the Oasis Network. - [Run a Node: ParaTime Node](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/get-involved/run-node/paratime-node.md): This guide provides an overview of the requirements to become a compute node for a ParaTime connected to the Oasis Network. - [Develop Oasis Core](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/get-involved/oasis-core.md): This document outlines our guidelines for contributing to the Oasis Network's codebase and documentation. - [Network Governance](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/get-involved/network-governance.md): 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. - [Delegation Policy](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/get-involved/delegation-policy.md): The Oasis Protocol Foundation delegates ROSE tokens to node operators who run Oasis Consensus validator and ParaTime compute nodes on Mainnet and/or Testnet. - [Token Delivery & KYC Guide](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/get-involved/token-delivery-and-kyc.md): 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 - [Overview](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/node.md): 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. - [Network Information](https://deploy-preview-1626--oasisprotocol-docs.netlify.app/node/network.md):