# Inco Docs - [Inco - Confidential Computing for Web3](https://docs.inco.org/home.md): Build confidential smart contracts. Secure, private, and scalable blockchain applications. - [Quickstart](https://docs.inco.org/quickstart.md): Get started with Inco Lightning in minutes - [Build a dApp](https://docs.inco.org/quickstart/build-a-dapp.md): Scaffold a confidential dApp with create-inco-app - [Para](https://docs.inco.org/quickstart/wallets/para.md): Set up Para wallet integration with Inco - [RainbowKit](https://docs.inco.org/quickstart/wallets/rainbowkit.md): Set up RainbowKit wallet integration with Inco - [Privy](https://docs.inco.org/quickstart/wallets/privy.md): Set up Privy wallet integration with Inco - [Dynamic](https://docs.inco.org/quickstart/wallets/dynamic.md): Set up Dynamic wallet integration with Inco - [Reown](https://docs.inco.org/quickstart/wallets/reown.md): Set up Reown (AppKit) wallet integration with Inco - [Library Reference](https://docs.inco.org/quickstart/lib-reference.md): All functions exposed by the Inco library - [Fees](https://docs.inco.org/quickstart/fees.md): Understanding Inco fees and which operations require them - [Cheatcodes reference](https://docs.inco.org/quickstart/cheatcodes-reference.md): Fully simulate the Inco environment all from solidity tests - [Build a Confidential Token](https://docs.inco.org/tutorials/confidential-token.md): This tutorial will guide you through creating and deploying a confidential fungible token. You can choose your preferred development environment - [Setup](https://docs.inco.org/tutorials/confidential-token/foundry/setup.md): Setup your repo - [Import Inco in your contract](https://docs.inco.org/tutorials/confidential-token/foundry/import-in-your-contract.md): Use the Inco library to enable confidentiality in your contract - [Test your contract](https://docs.inco.org/tutorials/confidential-token/foundry/test-your-contract.md): Test your contract in solidity, using Inco cheatcodes - [Setting up Environment for Hardhat](https://docs.inco.org/tutorials/confidential-token/hardhat.md): This is a quick start guide for deploying and understanding a confidential ERC20 using the [Hardhat template](https://github.com/Inco-fhevm/inco-lite-template). - [Understanding the Confidential ERC-20](https://docs.inco.org/tutorials/confidential-token/hardhat/contract-details.md): Deep dive into the confidential token implementation - [Setting up the Contract](https://docs.inco.org/tutorials/confidential-token/hardhat/contract-setup.md): Learn how to set up the basic structure of a confidential ERC20 token - [Contract Functions](https://docs.inco.org/tutorials/confidential-token/hardhat/contract-functions.md): Understanding the core functionality of the confidential token - [Complete Contract Implementation](https://docs.inco.org/tutorials/confidential-token/hardhat/complete-contract.md): Full implementation of the confidential ERC20 token - [Introduction](https://docs.inco.org/introduction.md): Welcome to Inco! - [Concepts Guide Introduction](https://docs.inco.org/guide/intro.md): Walkthrough all the concepts you need to know to get started with Inco - [Handles](https://docs.inco.org/guide/handles.md): Unique Identifier for an immutable piece of hidden data - [Inputs](https://docs.inco.org/guide/input.md): How to input external values and convert them to handles - [Operations](https://docs.inco.org/guide/operations.md): Compute over private state - [Control Flow](https://docs.inco.org/guide/control-flow.md): Using select and the multiplexer design pattern - [Access Control](https://docs.inco.org/guide/guide-access-control.md): Fully programmable access control over encrypted data - [Decryption](https://docs.inco.org/guide/decryption.md): Overview of decryption flows and access control. - [Verifying Attestations](https://docs.inco.org/guide/verifying-attestations.md): Verify attested decrypt, reveal, and compute responses in Solidity. - [Best Practices](https://docs.inco.org/guide/best-practices.md): Avoid pitfalls and write secure dapps - [EList](https://docs.inco.org/guide/elist.md): Encrypted list operations for confidential dynamic arrays - [Error Reference](https://docs.inco.org/guide/error-reference.md): Custom errors thrown by the Inco Lightning smart contracts - [Overview](https://docs.inco.org/architecture/overview.md) - [Components](https://docs.inco.org/architecture/components.md) - [Decryption mechanisms](https://docs.inco.org/architecture/decryption-mechanisms.md) - [JavaScript SDK](https://docs.inco.org/js-sdk.md): Inco Lightning JS is a javascript library that enables developers to interact with the inco protocol - [NextJS Starter](https://docs.inco.org/js-sdk/nextjs-starter.md): Get started quickly with our NextJS template for building dApps with Inco - [Use Inco Lightning JS in Existing Project](https://docs.inco.org/js-sdk/existing-project.md): Integrate Inco Lightning JS into your existing JavaScript/TypeScript project. - [Encrypting Values](https://docs.inco.org/js-sdk/encryption.md): How to encrypt supported types (euint256, ebool, eaddress) with Inco Lightning JS. - [Attested Decrypt](https://docs.inco.org/js-sdk/attestations/attested-decrypt.md) - [Attested Reveal](https://docs.inco.org/js-sdk/attestations/attested-reveal.md) - [Attested Compute](https://docs.inco.org/js-sdk/attestations/attested-compute.md) - [EList Attested Decrypt](https://docs.inco.org/js-sdk/attestations/elist-attested-decrypt.md): Decrypt or reveal an encrypted list handle - [Allowance Voucher](https://docs.inco.org/js-sdk/voucher/allowance-voucher.md) - [Migrating to @inco/lightning-js (v1)](https://docs.inco.org/js-sdk/migration-v1.md): Upgrade from the old @inco/js package to the renamed @inco/lightning-js v1 SDK. - [Confidential Token (cToken)](https://docs.inco.org/ctoken/overview.md): Private balances and transfers for ERC-20 tokens on Base and Base Sepolia. - [SDK quickstart](https://docs.inco.org/ctoken/sdk.md): Install cToken 0.2.0 and choose core, React, or widgets. - [Configuration & networks](https://docs.inco.org/ctoken/configuration.md): Required read clients, wallet clients, deployment defaults, and optional indexing. - [Browser & raw JavaScript](https://docs.inco.org/ctoken/browser.md): Use the core SDK with an injected wallet or a caller-owned wallet client. - [Node.js](https://docs.inco.org/ctoken/node.md): Use the same client and session flow in services, scripts, native ESM, and CommonJS. - [React setup & wallet adapters](https://docs.inco.org/ctoken/react.md): Use wagmi or supply your own wallet client, with customizable tokens and images. - [Widgets & UI reference](https://docs.inco.org/ctoken/ui.md): Drop in a confidential wallet or compose your own views and primitives. - [Transactions](https://docs.inco.org/ctoken/transactions.md): Approve, deploy wrappers, shield, send, and unshield with exact amounts. - [Balances & token resolution](https://docs.inco.org/ctoken/balances.md): Read public and confidential balances without losing precision. - [Decryption & sessions](https://docs.inco.org/ctoken/sessions.md): Reveal through scoped sessions in both Node and browsers. - [React hooks](https://docs.inco.org/ctoken/hooks.md): Read balances, submit transactions, and switch networks. - [Optional indexing](https://docs.inco.org/ctoken/indexer-sdk.md): Opt into hosted history, discovery, and prices, or use your own backend. - [Build a compatible indexer](https://docs.inco.org/ctoken/custom-indexer.md): The three endpoints, response schemas, pagination, and CORS your service needs. - [HTTP endpoint reference](https://docs.inco.org/ctoken/indexer-api.md): Public REST routes for tokens, wallets, activity, consent, and pricing. - [Contracts, RPC & covalidators](https://docs.inco.org/ctoken/raw.md): Map SDK operations to contract calls and signed Lightning requests. - [Errors & recovery](https://docs.inco.org/ctoken/errors.md): Handle wallet declines, unavailable ciphertexts, quorum failures, and HTTP errors. - [Performance](https://docs.inco.org/ctoken/performance.md): Reduce requests and keep portfolio updates responsive. - [Migrate to 0.2.0](https://docs.inco.org/ctoken/migration.md): One constructor, required public clients, wallet-client signing, and opt-in indexing. - [Inco for Games](https://docs.inco.org/games/overview.md): Build hidden-information games on Inco with the ConfidentialDeck template - [The ConfidentialDeck Kit](https://docs.inco.org/games/confidential-deck.md): The five confidential moves behind any hidden-information game - [Worked Examples](https://docs.inco.org/games/examples.md): Four full games built on ConfidentialDeck - [Run It](https://docs.inco.org/games/quickstart.md): Install, test, deploy, and wire the frontend - [Incasino](https://docs.inco.org/games/incasino.md): A confidential on-chain casino with six games, powered by e.rand() - [Mines](https://docs.inco.org/games/mines.md): Confidential on-chain Minesweeper with an encrypted board - [Hangman](https://docs.inco.org/games/hangman.md): Word-guessing game with the secret word encrypted on-chain - [Build with AI](https://docs.inco.org/build-with-ai.md): Use the Inco agent skill to build confidential smart contracts, dApps, and games with your AI coding assistant. - [Inco on Solana - Confidential Computing for Solana](https://docs.inco.org/svm/home.md): Build confidential smart contracts on Solana. Secure, private, and scalable blockchain applications. - [Rust crate Overview](https://docs.inco.org/svm/rust-sdk/overview.md): Overview of the Inco Rust Crate for Solana - [Build a dApp](https://docs.inco.org/svm/quickstart/build-a-dapp.md): Scaffold a full-stack confidential Solana dApp with create-inco-app - [Solana Wallet Adapter](https://docs.inco.org/svm/quickstart/wallets/solana-wallet-adapter.md): Set up native Solana wallet connection with Phantom and Solflare - [Privy](https://docs.inco.org/svm/quickstart/wallets/privy.md): Set up Privy with embedded Solana wallets and social login - [Library Reference](https://docs.inco.org/svm/rust-sdk/lib-reference.md): API reference for the Inco Rust Crate - [Types](https://docs.inco.org/svm/rust-sdk/types.md): Encrypted data types in the Inco Rust Crate - [Operations](https://docs.inco.org/svm/rust-sdk/operations.md): Encrypted operations in the Inco Rust Crate - [Account Structs](https://docs.inco.org/svm/rust-sdk/accounts.md): CPI account structures for the Inco Rust Crate - [Confidential SPL Token](https://docs.inco.org/svm/tutorials/confidential-spl-token/overview.md): Build privacy-preserving SPL tokens on Solana with encrypted balances and transfers - [Setup](https://docs.inco.org/svm/tutorials/confidential-spl-token/setup.md): Set up your development environment for building Confidential SPL Tokens - [Program Functions](https://docs.inco.org/svm/tutorials/confidential-spl-token/program-functions.md): API reference for the Confidential SPL Token program - [Deploy & Test](https://docs.inco.org/svm/tutorials/confidential-spl-token/deploy-and-test.md): TypeScript usage examples for the Confidential SPL Token program - [Next.js Template](https://docs.inco.org/svm/tutorials/nextjs-template/overview.md): A starter template for building confidential Solana dApps with Next.js - [Setup](https://docs.inco.org/svm/tutorials/nextjs-template/setup.md): Install and configure the Next.js template - [Project Structure](https://docs.inco.org/svm/tutorials/nextjs-template/project-structure.md): Understand the Next.js template architecture - [Wallet Integration](https://docs.inco.org/svm/tutorials/nextjs-template/wallet-integration.md): Set up Solana wallet adapters in your Next.js app - [Components](https://docs.inco.org/svm/tutorials/nextjs-template/components.md): Build encryption and balance components for your dApp - [Private Raffle](https://docs.inco.org/svm/tutorials/private-raffle/overview.md): Build a fully private raffle system where guesses and results stay encrypted - [Setup](https://docs.inco.org/svm/tutorials/private-raffle/setup.md): Configure your environment for the Private Raffle program - [Program](https://docs.inco.org/svm/tutorials/private-raffle/program.md): Raffle program instructions and account structures - [Client Integration](https://docs.inco.org/svm/tutorials/private-raffle/client.md): TypeScript usage examples for the Private Raffle - [Introduction](https://docs.inco.org/svm/introduction.md): Getting started with Inco's confidential computation on Solana - [Concepts Introduction](https://docs.inco.org/svm/guide/intro.md): Introduction to confidential computation concepts on Solana - [Encrypted Types & Handles](https://docs.inco.org/svm/guide/handles.md): Working with encrypted data types on Solana - [Input & Encryption](https://docs.inco.org/svm/guide/input.md): How to encrypt input data for Solana programs - [Operations](https://docs.inco.org/svm/guide/operations.md): Operations available on encrypted data - [Random Number Generation](https://docs.inco.org/svm/guide/random.md): Generate encrypted random numbers on-chain - [Control Flow](https://docs.inco.org/svm/guide/control-flow.md): Conditional logic with encrypted values - [Access Control](https://docs.inco.org/svm/guide/access-control.md): Managing access to encrypted data - [Account Structs](https://docs.inco.org/svm/guide/accounts.md): Understanding CPI account structures for Inco Lightning - [Decryption](https://docs.inco.org/svm/guide/decryption.md): How to decrypt data in Solana programs - [Best Practices](https://docs.inco.org/svm/guide/best-practices.md): Best practices for building confidential Solana programs - [EList](https://docs.inco.org/svm/rust-sdk/elist.md): Encrypted list operations for confidential dynamic arrays - [JavaScript SDK Overview](https://docs.inco.org/svm/js-sdk/overview.md): Client-side SDK for interacting with confidential Solana programs - [Encryption](https://docs.inco.org/svm/js-sdk/encryption.md): Client-side encryption utilities for Solana programs - [Attested Reveal](https://docs.inco.org/svm/js-sdk/attestations/attested-reveal.md): Decrypt encrypted handles for off-chain display - [Attested Decrypt](https://docs.inco.org/svm/js-sdk/attestations/attested-decrypt.md): Decrypt encrypted handles with on-chain verification - [Attested Compute](https://docs.inco.org/svm/js-sdk/attestations/attested-compute.md): Compare encrypted handles off-chain and verify the result on-chain - [Allowance Voucher](https://docs.inco.org/svm/js-sdk/voucher/allowance-voucher.md): Delegate decrypt/compute access with an off-chain session key on Solana ## OpenAPI Specs - [indexer.openapi](/ctoken/indexer.openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.